Author:
Description:
The Java programming language has known a remarkable growth over the last decade. This is partially due to the infrastructure required to run Java ap- plications on general purpose microprocessors: a Java virtual machine (VM). The VM ensures that Java applications are portable across different hardware platforms, because it shelters the applications from the underlying system. Hence the motto write once, run (almost) anywhere. Java applications are compiled to an intermediate form, called bytecode, and consist of a number of so-called class files. The virtual machine takes care of class loading, interpreting or compiling the bytecode to the native code of the underlying hardware platform, thread scheduling, garbage collection, etc. As such, during the execution of a Java application, the VM regularly intervenes to take care of housekeeping tasks and to optimise the application as it is executing. Furthermore, the specific implementation details of most virtual machines insert non-deterministic behaviour, not into the semantic part of the execution, but rather into the lower level execution. For example, to bring a Java application up to competitive speed with classical compiled programs written in languages such as C, the virtual machine needs to optimise Java bytecode. To limit the execution overhead, most virtual machines use a time sampling mechanism to determine the hot methods in the application. This introduces non-determinism, as over several runs, the methods are not always optimised at the same moment, nor is the set of optimised methods always the same. Other factors that introduce non-determinism are the thread scheduling, garbage collection, etc. It is readily seen that performance analysis of Java applications is not as simple as it seems at first, and warrants closer inspection. In this dissertation we are mainly interested in the behaviour of Java applications and their performance. In the course of this work, we uncovered three major pitfalls that were not taken into account by researchers when ...
Publisher:
Universiteit Gent
Contributors:
De Bosschere, Koen ; Eeckhout, Lieven
Year of Publication:
2008
Document Type:
dissertation ; info:eu-repo/semantics/doctoralThesis ; info:eu-repo/semantics/publishedVersion ; [Doctoral and postdoctoral thesis]
Language:
eng
Subjects:
Technology and Engineering ; performance analysis ; statistics ; workload analysis ; Java
Rights:
No license (in copyright) ; info:eu-repo/semantics/openAccess
Relations:
https://biblio.ugent.be/publication/4159628
;
urn:isbn:9789085781974
;
https://biblio.ugent.be/publication/4159628/file/4334678
https://biblio.ugent.be/publication/4159628
;
urn:isbn:9789085781974
;
https://biblio.ugent.be/publication/4159628/file/4334678
URL:
Content Provider:
Ghent University Academic Bibliography
- URL: https://biblio.ugent.be/
- Research Organization Registry (ROR): Ghent University
- Continent: Europe
- Country: be
- Latitude / Longitude: 51.055600 / 3.738600 (Google Maps | OpenStreetMap)
- Number of documents: 362,210
- Open Access: 82,780 (23%)
- Type: Academic publications
- System: LibreCat
- Content provider indexed in BASE since:
- BASE URL: https://www.base-search.net/Search/Results?q=coll:ftunivgent
My Lists:
My Tags:
Notes: