Ohjelmistokehittäjän keinoja Java-koodin tehostamiseen ja keinojen hyödyllisyys

 Honkanen, Juho Ville-Pekka Ohjelmistokehittäjän keinoja Java-koodin tehostamiseen ja keinojen hyödyllisyys / Ville-Pekka Honkanen Jyväskylä: Jyväskylän yliopisto, 2010. 37 s. Kandidaatintutkielma Tässä tutkielmassa käydään lävitse keinoja, joilla voidaan parantaa Java-koodin suorituskykyä. T...

Full description

Bibliographic Details
Main Author: Honkanen, Ville-Pekka
Other Authors: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, Information Technology, University of Jyväskylä, Jyväskylän yliopisto
Format: Bachelor's thesis
Language:fin
Published: 2010
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/23850
_version_ 1826225792610205696
author Honkanen, Ville-Pekka
author2 Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology University of Jyväskylä Jyväskylän yliopisto
author_facet Honkanen, Ville-Pekka Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology University of Jyväskylä Jyväskylän yliopisto Honkanen, Ville-Pekka Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology University of Jyväskylä Jyväskylän yliopisto
author_sort Honkanen, Ville-Pekka
datasource_str_mv jyx
description  Honkanen, Juho Ville-Pekka Ohjelmistokehittäjän keinoja Java-koodin tehostamiseen ja keinojen hyödyllisyys / Ville-Pekka Honkanen Jyväskylä: Jyväskylän yliopisto, 2010. 37 s. Kandidaatintutkielma Tässä tutkielmassa käydään lävitse keinoja, joilla voidaan parantaa Java-koodin suorituskykyä. Tutkielma on toteutettu kirjallisuuskatsauksena ja sen tarkoituksena on tutkia perinteisiä koodioptimointeja ja selvitetään onko niistä enää nykypäivänä hyötyä. Lisäksi käsitellään keinoja, joilla todella voi parantaa ohjelman suorituskykyä ja missä tilanteissa näitä voidaan käyttää. Läpi käydään myös koodaamistapoja, joita tulisi välttää, esimerkiksi lopetusmetodien käyttö. Tutkielmassa selviää, että useat aiemmin järkevinä pidetyt optimoinnit ovat nykyisin useissa tilanteissa suhteellisen turhia ja niitä tulisi jopa välttää. Tällaisina voi pitää ainakin final-määreen käyttöä luokkiin tai metodeihin liitettynä. Toisaalta jotkin aiemminkin hyvin toimineet koodin tehostuskeinot ovat nykyisinkin toimivia. Tällaisia ovat erityisesti merkkijonojen käsittelyyn sopiva StringBuilder-luokka ja olioiden kierrättäminen. Toimivissakin tehostuskeinoissa on huomioitava, että ne sopivat vain tiettyihin tapauksiin. Lopputuloksena koko koodintehostamisesta on se, että koodia ei tulisi tehdä vain suorituskyvyn vuoksi, vaan tulisi pyrkiä tekemään hyvää koodia ja jättää optimoiminen JVM:lle. Tällöin usein myös suorituskyky seuraa mukana. Jos kuitenkaan suorituskyky ei riitä, voidaan miettiä, mitä tulisi koodissa optimoida. Tutkielman ohjaaja: Pertti Hirvonen Jyväskylän Yliopisto, Tietojenkäsittelytieteiden laitos Tutkielman tarkastaja: Jorma Kyppö Jyväskylän Yliopisto, Tietojenkäsittelytieteiden laitos 
first_indexed 2024-09-11T08:51:03Z
format Kandityö
free_online_boolean 1
fullrecord [{"key": "dc.contributor.author", "value": "Honkanen, Ville-Pekka", "language": null, "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2010-05-28T09:31:49Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2010-05-28T09:31:49Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2010", "language": null, "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/23850", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "\u00a0Honkanen, Juho Ville-Pekka\r\nOhjelmistokehitt\u00e4j\u00e4n keinoja Java-koodin tehostamiseen ja keinojen\r\nhy\u00f6dyllisyys / Ville-Pekka Honkanen\r\nJyv\u00e4skyl\u00e4: Jyv\u00e4skyl\u00e4n yliopisto, 2010.\r\n37 s.\r\nKandidaatintutkielma\r\nT\u00e4ss\u00e4 tutkielmassa k\u00e4yd\u00e4\u00e4n l\u00e4vitse keinoja, joilla voidaan parantaa Java-koodin\r\nsuorituskyky\u00e4. Tutkielma on toteutettu kirjallisuuskatsauksena ja sen tarkoituksena\r\non tutkia perinteisi\u00e4 koodioptimointeja ja selvitet\u00e4\u00e4n onko niist\u00e4\r\nen\u00e4\u00e4 nykyp\u00e4iv\u00e4n\u00e4 hy\u00f6ty\u00e4. Lis\u00e4ksi k\u00e4sitell\u00e4\u00e4n keinoja, joilla todella voi parantaa\r\nohjelman suorituskyky\u00e4 ja miss\u00e4 tilanteissa n\u00e4it\u00e4 voidaan k\u00e4ytt\u00e4\u00e4. L\u00e4pi k\u00e4yd\u00e4\u00e4n\r\nmy\u00f6s koodaamistapoja, joita tulisi v\u00e4ltt\u00e4\u00e4, esimerkiksi lopetusmetodien\r\nk\u00e4ytt\u00f6.\r\nTutkielmassa selvi\u00e4\u00e4, ett\u00e4 useat aiemmin j\u00e4rkevin\u00e4 pidetyt optimoinnit ovat nykyisin\r\nuseissa tilanteissa suhteellisen turhia ja niit\u00e4 tulisi jopa v\u00e4ltt\u00e4\u00e4. T\u00e4llaisina\r\nvoi pit\u00e4\u00e4 ainakin final-m\u00e4\u00e4reen k\u00e4ytt\u00f6\u00e4 luokkiin tai metodeihin liitettyn\u00e4.\r\nToisaalta jotkin aiemminkin hyvin toimineet koodin tehostuskeinot ovat nykyisinkin\r\ntoimivia. T\u00e4llaisia ovat erityisesti merkkijonojen k\u00e4sittelyyn sopiva\r\nStringBuilder-luokka ja olioiden kierr\u00e4tt\u00e4minen. Toimivissakin tehostuskeinoissa\r\non huomioitava, ett\u00e4 ne sopivat vain tiettyihin tapauksiin.\r\nLopputuloksena koko koodintehostamisesta on se, ett\u00e4 koodia ei tulisi tehd\u00e4\r\nvain suorituskyvyn vuoksi, vaan tulisi pyrki\u00e4 tekem\u00e4\u00e4n hyv\u00e4\u00e4 koodia ja j\u00e4tt\u00e4\u00e4\r\noptimoiminen JVM:lle. T\u00e4ll\u00f6in usein my\u00f6s suorituskyky seuraa mukana. Jos\r\nkuitenkaan suorituskyky ei riit\u00e4, voidaan mietti\u00e4, mit\u00e4 tulisi koodissa optimoida.\r\n\r\nTutkielman ohjaaja:\r\nPertti Hirvonen\r\nJyv\u00e4skyl\u00e4n Yliopisto, Tietojenk\u00e4sittelytieteiden laitos\r\nTutkielman tarkastaja:\r\nJorma Kypp\u00f6\r\nJyv\u00e4skyl\u00e4n Yliopisto, Tietojenk\u00e4sittelytieteiden laitos\u00a0", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by Seija Paananen (sepaanan@jyu.fi) on 2010-05-28T09:31:48Z\nNo. of bitstreams: 2\nVille-Pekka Honkanen.pdf: 229889 bytes, checksum: fa7dac612da766011b9e9971fb819869 (MD5)\nlicense.xml: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5)", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2010-05-28T09:31:49Z (GMT). No. of bitstreams: 2\nVille-Pekka Honkanen.pdf: 229889 bytes, checksum: fa7dac612da766011b9e9971fb819869 (MD5)\nlicense.xml: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5)", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.language.iso", "value": "fin", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": "en", "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.subject.other", "value": "object pooling", "language": "en", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "interning", "language": "en", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "koodin tehostaminen", "language": "en", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "optimointi", "language": "en", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "java", "language": "en", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Ohjelmistokehitt\u00e4j\u00e4n keinoja Java-koodin tehostamiseen ja keinojen hy\u00f6dyllisyys", "language": null, "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "bachelor thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-201005281965", "language": null, "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.dcmitype", "value": "Text", "language": "en", "element": "type", "qualifier": "dcmitype", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Kandidaatintutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Bachelor's thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Informaatioteknologia", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Information Technology", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietoj\u00e4rjestelm\u00e4tiede", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Information Systems Science", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_7a1f", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": "fi", "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "bachelorThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}]
id jyx.123456789_23850
language fin
last_indexed 2025-02-18T10:56:35Z
main_date 2010-01-01T00:00:00Z
main_date_str 2010
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/239840c5-be0a-49b9-8323-12a8db0f2ae8\/download","text":"Ville-Pekka Honkanen.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2010
record_format qdc
source_str_mv jyx
spellingShingle Honkanen, Ville-Pekka Ohjelmistokehittäjän keinoja Java-koodin tehostamiseen ja keinojen hyödyllisyys object pooling interning koodin tehostaminen optimointi java Tietojärjestelmätiede Information Systems Science
title Ohjelmistokehittäjän keinoja Java-koodin tehostamiseen ja keinojen hyödyllisyys
title_full Ohjelmistokehittäjän keinoja Java-koodin tehostamiseen ja keinojen hyödyllisyys
title_fullStr Ohjelmistokehittäjän keinoja Java-koodin tehostamiseen ja keinojen hyödyllisyys Ohjelmistokehittäjän keinoja Java-koodin tehostamiseen ja keinojen hyödyllisyys
title_full_unstemmed Ohjelmistokehittäjän keinoja Java-koodin tehostamiseen ja keinojen hyödyllisyys Ohjelmistokehittäjän keinoja Java-koodin tehostamiseen ja keinojen hyödyllisyys
title_short Ohjelmistokehittäjän keinoja Java-koodin tehostamiseen ja keinojen hyödyllisyys
title_sort ohjelmistokehittäjän keinoja java koodin tehostamiseen ja keinojen hyödyllisyys
title_txtP Ohjelmistokehittäjän keinoja Java-koodin tehostamiseen ja keinojen hyödyllisyys
topic object pooling interning koodin tehostaminen optimointi java Tietojärjestelmätiede Information Systems Science
topic_facet Information Systems Science Tietojärjestelmätiede interning java koodin tehostaminen object pooling optimointi
url https://jyx.jyu.fi/handle/123456789/23850 http://www.urn.fi/URN:NBN:fi:jyu-201005281965
work_keys_str_mv AT honkanenvillepekka ohjelmistokehittäjänkeinojajavakoodintehostamiseenjakeinojenhyödyllisyys