HotSpot « JVM « Java Articles

Java Articles
1. Build Deploy
2. Class
3. Core Library
4. Data Types
5. Database JDBC
6. Design
7. Development
8. File Input Output
9. Graphics Desktop
10. J2EE Enterprise
11. J2ME Wireless
12. JVM
13. Language
14. Library Product
15. Network
16. Security
17. SOA Web Services
18. Test
19. Web Development
20. XML
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Products
Java by API
Photoshop Tutorial
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Articles » JVM » HotSpot 
1. Watch your HotSpot compiler go
"For further proof you can add the -XX:+PrintCompilation HotSpot option (see Resources) to your JVM command line and watch the HotSpot engine tell you when it compiles various methods:"

2. Examining HotSpot, an object-oriented drawing program
"HotSpot is a simple, object-oriented drawing program. A drawing program allows a user to create a picture from a palette of simple geometric shapes. Once a shape has been placed on the drawing surface, the user can reselect it and adjust its size, shape, and position. In this respect, a drawing program differs from a paint program, in which a shape, once placed on the drawing surface, becomes nothing more than a colored collection of pixels."

3. The Java HotSpot Performance Engine: An In-Depth Look
"Most applications spend the vast majority of their time executing a small minority of their code. The Java HotSpot performance engine analyzes an application as it runs, identifying the areas that are most critical to performance?where the greatest time is being spent executing bytecode. Rather than compiling an entire program when it first starts, or compiling each method as it is called (as does the JIT compiler), the performance engine initially runs the program using an interpreter, and then analyzes it as it runs, looking for performance "hot spots." It then compiles and optimizes only those performance-critical areas of code. This monitoring process continues dynamically throughout the life of the program, with the performance engine adapting on-the-fly to the ongoing performance needs of the application."

4. The Java HotSpot Performance Engine: On-Stack Replacement Example
"The inner loop could be anything. "sum += index" is just one operation that someone might try to measure. The method begins interpreting, but on every backward branch (corresponding to the closing brace of the loop), a counter associated with the method is incremented. When it goes past a threshold (currently 10,000 in Java HotSpot version 1.0) then the method is compiled."

5. Turbo-charging Java HotSpot Virtual Machine, v1.4.x to Improve the Performance and Scalability of Application Servers
"References: Application modeling and Performance tuning from Garbage Collection Perspective The Java HotSpot Virtual Machine Java HotSpot VM Options Tuning Garbage Collection with the 1.3.1 Java Virtual Machine Java and Solaris Threading Generational Mostly-concurrent Garbage Collector New Parallel Collector The SIPCenter.com Ubiquity's Application Services Broker (A Telco SIP server) The JAIN API Sun ONE Sun ONE Application Server 7 JSR 174 JSR 163 Sun Docs The Java HotSpot Virtual Machine, v1.4.1"

6. The Java HotSpot Performance Engine: Method Inlining Example
"In the past, programmers often inserted the "final" keyword for exactly this reason. Or to better facilitate inlining and increase execution speed, they would combine many smaller methods into one larger method. But in many ways, such techniques defeat the entire facility of modularization and reusability built into the programming language."

7. The Hotspot Virtual Machine
"The Hotspot VM is a collection of techniques, the most significant of which is called "adaptive optimization." In fact, this technique gives Hotspot its name."

8. Java theory and practice: Garbage collection in the HotSpot JVM
"Last month, we looked at the classic garbage collection techniques of reference counting, copying, mark-sweep, and mark-compact. Each of these approaches has advantages and disadvantages in certain situations. For example, copying does well when a large proportion of objects are garbage, but does poorly with many long-lived objects (copying them repeatedly). Conversely, mark-compact does quite well with long-lived objects (copying them only once), but not so well with many short-lived objects. The technique used by the 1.2 and later JVMs, called generational garbage collection, combines these two techniques to get the best of both worlds, and as a bonus provides very low object allocation overhead."

9. Eye on performance: Tuning garbage collection in the HotSpot JVM
"The first step in the process was to determine the cause of the sudden application slowdowns. First on our list of suspects was garbage collection. As we demonstrated in last month's column, the easiest way to determine if garbage collection and memory utilization issues are having a negative effect on your applications performance is to set the -verbose:gc JVM option and examine the log output. So we restarted the application with verbose garbage collection logging turned in, and patiently waited for the application's performance to fall off. Our patience paid off in the form of a very revealing gc log file."

10. HotSpot getting much warmer
"For quite a while now, Sun has been working on a technology called HotSpot, which they hope will satisfy the efficiency needs of most users."

w_w___w___._ja__v___a__2_s__.__c__o__m___ | Contact Us
Copyright 2003 - 08 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.