SlideShare a Scribd company logo
1 of 15
Download to read offline
J2SE 5.0 Performance White Paper

Java™ Platform Performance Engineering
Sun Microsystems, Inc.




Table of Contents
1 Introduction
2 New Features and Performance Enhancements
2.1 Ergonomics in the 5.0 Java Virtual Machine
2.2 High Precision Timing
2.3 StringBuilder Class
2.4 Java 2D Technology Improvements
2.5 Image I/O Improvements
2.6 Thread Priority on the Solaris Platform
2.7 Class Data Sharing
2.8 Monitoring and Management for the Java Platform
2.9 Optimizations for x86 / x64
2.10 HotSpot™ Reliability
2.11 Concurrent Low Pause Garbage Collector Improvements
3 New Platform Support
3.1 Hardware
3.1.1 AMD Opteron
3.2 Operating Environments
3.2.1 Solaris 10
3.2.2 Sun Java Desktop System, Release 2
3.2.3 Windows Server 2003
3.2.4 Red Hat Enterprise Linux AS 3.0
3.2.5 SuSE Linux Enterprise Server 9
4 Going Further
4.1 Java Performance Portal
4.1.1 Ergonomics in the 5.0 Java Virtual Machine
4.1.2 Tuning Garbage Collection with the 5.0 Java Virtual Machine
4.1.3 jvmstat 3.0
4.2 J2SE 5.0 Documentation
4.3 Performance Articles
4.3.1 Using JConsole to Monitor Applications
4.3.2 The JVMPI Transition to JVMTI
4.4 Benchmark Disclosures
4.4.1 SPECjbb 2000
4.4.2 VolanoMark™ 2.5



1 Introduction
While J2SE 5.0 has added many new features Sun Microsystems has also been working to
continue to improve scalability and performance, with a new emphasis on startup time and
memory footprint.

This guide gives an overview of the performance and scalability improvements made in the
J2SE 5.0 release along with various benchmarks to demonstrate the impact of these
improvements.




2 New Features and Performance
Enhancements
J2SE 5.0 includes a number of new features and enhancements to improve performance in
many areas of the platform. Improvements to new language features include: additions to the
virtual machine, enhancements to the base and integration libraries, the user interface,
deployment, tools and architectures, and OS & hardware platforms. Enhancements to
program execution speed include: Garbage collection ergonomics, StringBuilder class, Java
2D technology enhancements, and performance and memory usage improvements to image
I/O.

2.1 Ergonomics in the 5.0 Java Virtual Machine


Getting the best performance out of the JVM has often required detailed hand tuning of
command line options. Yet many users never set command line options for performance. In
order to give the best possible performance in a variety of situations Sun Microsystems has
improved the performance of the JVM even when no command line options are used.

In J2SE 5.0 the default selection for the garbage collector, heap size, and runtime compiler
are now chosen automatically. These new selections better match the needs of different types
of applications while requiring less command line tuning.

In addition a different way of tuning the heap has been added for the throughput garbage
collector. This new tuning allows the user to specify performance and memory utilization
criteria to dynamically tune the sizes of the heap. This "self tuning" behavior is referred to in
this document as "ergonomics". For more on ergonomics please see the Ergonomics in the
5.0 Java Virtual Machine document.

The performance improvements from ergonomics are significant. Here we compare
SPECjbb2000 performance between J2SE 1.4.2 and J2SE 5.0. This test was conducted on a
Sun Fire V40z with 4 x 2.4 GHz AMD Opteron CPU's and 8 GB RAM running Solaris 10:




In each case we ran the benchmark without any performance arguments (except that -
Xmx512m was required for proper benchmark execution with J2SE 1.4.2).
Please see the SPECjbb 2000 Benchmark Disclosure

We also compared VolanoMark™ 2.5 performance between J2SE 1.4.2 and J2SE 5.0. This
test was conducted on
a Sun Fire V40z with 4 x 2.4 GHz AMD Opteron CPU's and 8 GB RAM running Solaris 10:
In each case we ran the benchmark in loopback mode without any performance arguments.
The result shown is based upon relative throughput (messages per second with 400 loopback
connections)

The full java version for J2SE 1.4.2 is:
java version "1.4.2_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode)

The full java version for J2SE 5.0 is:
java version "1.5.0_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_01-b08)
Java HotSpot(TM) Server VM (build 1.5.0_01-b08, mixed mode)

Please see the VolanoMark™ 2.5 Benchmark Disclosure

2.2 High Precision Timing


The method System.nanoTime() has been added, providing access to a nanosecond-
granularity time source for relative time measurements. The actual precision of the time
values returned by System.nanoTime() is platform-dependent.

2.3 StringBuilder Class
This class provides an API compatible with StringBuffer, but with no guarantee of
synchronization. This class is designed for use as a drop-in replacement for StringBuffer in
places where the string buffer was being used by a single thread (as is generally the case).
Where possible, it is recommended that this class be used in preference to StringBuffer as it
will be faster under most implementations. See the API documentation on StringBuilder for
more information.

2.4 Java 2D Technology Improvements


Added 2D features include expanded Linux and Solaris printer support, new methods for
creating fonts from files and streams, and new methods related to VolatileImages and
hardware acceleration of images. A number of internal changes to text rendering code greatly
improve its robustness, performance, and scalability. Other performance work includes
hardware-accelerated rendering using OpenGL (disabled by default). See the Java 2D
documentation for more information.

2.5 Image I/O Improvements


J2SE 5.0 improves image processing performance and adds readers and writers for new file
formats to the Image I/O system. For more information see the Image I/O documentation.

2.6 Thread Priority on the Solaris Platform


JRE 5.0 updates the priority mapping such that Java threads at NORM_PRIORITY can now
compete as expected with native threads. An excellent reference for these topics is Chapter 9,
"Threads," in Joshua Bloch's book Effective Java Programming Language Guide. See also the
Thread Priority on the Solaris Platform document.

2.7 Class Data Sharing


The class data sharing feature is aimed at reducing application startup time and footprint. The
installation process loads a set of classes from the system jar file into a private, internal
representation, then dumps that representation to a "shared archive" file. During subsequent
JVM invocations, the shared archive is memory-mapped in, saving the cost of loading those
classes and allowing much of the JVM's metadata for these classes to be shared among
multiple JVM processes. For more information see the Class Data Sharing documentation.

Java Virtual Machine performance improvements in J2SE 5.0, including Class Data Sharing,
have contributed to improved startup and footprint performance. Here we compare startup
performance between J2SE 1.4.2 and J2SE 5.0. This test was conducted on a Pentium 4 2.8
GHz system with 1 GB memory. The benchmark measures the time necessary to initialize the
NetBeans IDE version 3.5.1:




The startup comparison above shows relative performance (bigger is better): for Windows XP
J2SE 5.0 starts 8% faster,
and on the Sun Java Desktop System J2SE 5.0 starts 22% faster than J2SE 1.4.2, respectively.

Below we compare memory footprint required between J2SE 1.4.2 and J2SE 5.0 for starting
up a rich client Swing-based application:
The footprint comparison above shows relative performance (smaller is better). Measuring the
real memory impact of a Java application is often quite difficult. Perhaps the first hurdle in
understanding footprint is that conventional system utilities, such as Task Manager on
Windows, only tell part of the footprint story. Memory reported depends on whether
application data and programs are read as conventional files or memory mapped files. In other
words often the true memory footprint of an application includes all the files that have been
brought into the operating system's file system memory cache... Often memory pages that are
shared by other processes or in the file system cache are not reported by conventional tools.
Getting consistent footprint measurements is further complicated by accurately measuring the
same moment in an application's lifetime. Clearly the longer an application operates the more
likely it is to perform classloading, compilation or other activities that affect footprint. The
fantastic news for users of J2SE 5.0 is that despite adding massive new functionality Java
Engineering has actually pared down core JVM memory usage and leveraged Class Data
Sharing to make the actual memory impact on your system lower than with J2SE 1.4.2!

The systems used for this benchmark included:

       Windows XP Professional, Version 2002, Service Pack 1
       running on a 930 Mhz Pentium III system with 384MB of RAM
       Red Hat Linux 3.0 Advanced Server
       running on a 1.4 GHz system with 512 MB of RAM
       Solaris 9 running on a SunBlade 2000, 900 Mhz UltraSPARC IV machine with 1GB
of RAM



2.8 Monitoring and Management for the Java Platform


This release of J2SE offers significant enhancements for monitoring and management for the
Java platform using JMX and SNMP. Please see the Monitoring and Management for the Java
Platform document for details.

2.9 Optimizations for x86 / x64


Many changes were made in J2SE 5.0 to take advantage of the performance features in
modern x86 and x64 CPUs. A good example of this are the optimizations made to
System.arraycopy(). In J2SE 1.4.2 System.arraycopy() was implemented using
memmove() which performed well on Solaris, but was found to be a performance bottleneck
on Linux. In J2SE 5.0, calls to memmove() were replaced with highly optimized x86 and x64
instructions tailored for running Java on these modern processors.

Here we compare array copy performance between J2SE 1.4.2 and J2SE 5.0. This test was
conducted on
a Sun Fire V40z with 4 x 2.4 GHz AMD Opteron CPU's and 8 GB RAM running Solaris 10:
The benchmark shown above involves copying large amounts of data in several threads, with
heavy use of System.arraycopy(). The test was conducted using highly tuned parameters
for J2SE 1.4.2 and the exact same parameters for J2SE 5.0 as to eliminate any advantage
J2SE 5.0 would gain from ergonomics. Here we are highlighting the array copy optimization
on x86 platforms while holding the hardware constant.

2.10 HotSpot™ Reliability


The Java™ HotSpot™ virtual machine for J2SE 5.0 benefits from improved reliability. But
how is reliability related to performance, you ask?
Because the performance of a JVM that's down is zero!

During the development cycle for J2SE 5.0 a series of release controls were put in place that
have resulted in much better product reliability.
The J2SE 5.0 release of the HotSpot™ virtual machine includes 8000 bug fixes.
2.11 Concurrent Low Pause Garbage Collector Improvements


As mentioned above Java™ HotSpot™ Ergonomics includes the choice of the garbage
collection algorithm. In certain situations described in the Tuning Garbage Collection with the
5.0 Java Virtual Machine document concurrent low pause collector may be a better choice for
the application at hand.

The Concurrent Low Pause Garbage Collector, also known as CMS, has had several
improvements for J2SE 5.0. Garbage collection pauses are shorter because of better use of
parallelism during collection periods during which application threads are stopped. The
pauses are also more uniform due to deliberately spacing pauses such that there is less impact
on collection latency as seen by application threads. And the heap is better utilized due to
improved promotion failure handling which postpones the need to start collections.

These improvements explain the dramatic performance gains in this CMS Server Benchmark
(a multi-threaded, memory intensive application). This test was conducted on dual CPU Xeon
3 GHz systems with 4 GB of memory:




J2SE 5.0 ergonomics also includes better handling of thread local allocation buffers (TLABs).
Adaptive resizing of TLABs reduces young generation fragmentation and wasted space thus
reducing the number of collections. While these TLAB improvements are not specific to
CMS we see here that they produce a dramatic improvement in the thread intensive
VolanoMark™ benchmark:




The result above was conducted on a 4 CPU Ultra 80 running Solaris 9 and comparing
throughput with 400 loopback connections. In each CMS result above we ran the benchmarks
the following options:

       -server
       -Xmx512m
       -XX:+UseConcMarkSweepGC

The full java version for J2SE 1.4.2 is:
java version "1.4.2_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode)

The full java version for J2SE 5.0 is:
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
Java HotSpot(TM) Server VM (build 1.5.0-b64, mixed mode)
Please see the VolanoMark™ 2.5 Benchmark Disclosure




3 New Platform Support
The cross-platform capabilities of Java have expanded in J2SE to cover additional hardware
and software platforms.

Please see the Supported System Configurations chart for full details.

3.1 Hardware


As a result of the Sun-AMD Alliance J2SE hardware platform coverage has expanded to
include performance enhancements for AMD Opteron.

3.1.1 AMD Opteron



The AMD Opteron is now supported for J2SE 5.0 with the following operating environments:
Solaris x86 (32-bit), Windows Server 2003 (32 and 64-bit) and Linux (32 and 64-bit).

Sun offers several products based on the AMD Opteron:

        Sun Java Workstation W1100z
        Sun Java Workstation W2100z
        Sun Fire V20z Server
        Sun Fire V40z Server
        Compute Grid Rack System



3.2 Operating Environments



3.2.1 Solaris 10



Sun is proud to support J2SE 5.0 on Solaris 10 the leading UNIX in the world and sets the
standard for the next generation of operating systems with major breakthroughs in features,
functionality, and performance. Solaris 10 provides a world-class operating system from the
enterprise to the desktop and everything in between.

J2SE 5.0 update 2 now offers 64-bit support for Solaris x86 on AMD Opteron. Java
engineering has worked overtime to insure that the stack of J2SE 5.0 on Solaris x86 on AMD
Opteron delivers the best possible performance.

3.2.2 Sun Java Desktop System, Release 2



J2SE 5.0 is now supported on Sun Java Desktop System, Release 2.

Sun Java Desktop System, Release 2 delivers the best of open source software with the
technical innovation of Sun to offer an affordable, comprehensive, fully integrated desktop
client environment with administration and developer tools and an enterprise-ready support
offering that lowers business costs, reduces complexities of desktop management, and
provides a secure computing environment.

3.2.3 Windows Server 2003



J2SE 5.0 is supported on Windows Server 2003 Web Edition, Standard Edition, Enterprise
Edition and DataCenter Edition in addition to Windows XP Home and Professional, 2000
Professional, 98 2nd Edition and ME.

3.2.4 Red Hat Enterprise Linux AS 3.0



J2SE 5.0 is supported on Red Hat Enterprise Linux AS 3.0 and also Red Hat Enterprise Linux
AS 2.1, ES 2.1, WS 2.1 and Red Hat 9.0.

3.2.5 SuSE Linux Enterprise Server 9



J2SE 5.0 is supported on SuSE Linux Enterprise Server 9 in addition to SuSE Linux
Enterprise Server 8 and SuSE 8.2 and 9.




4 Going Further
4.1 Java Performance Portal


For the latest in Java Performance best practices, documentation, tools, FAQs, code samples,
White Papers and other Java performance news check out
the Java Performance Portal ( http://java.sun.com/performance/ ).

Three especially relevant performance links for J2SE 5.0 are given here:

4.1.1 Ergonomics in the 5.0 Java Virtual Machine



The Ergonomics in the 5.0 Java Virtual Machine (
http://java.sun.com/docs/hotspot/gc5.0/ergo5.html ) document provides an overview of the
new self tuning features of J2SE 5.0.

4.1.2 Tuning Garbage Collection with the 5.0 Java Virtual Machine



The Tuning Garbage Collection with the 5.0 Java Virtual Machine (
http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html ) document expands on GC
concepts for J2SE 5.0 that were introduced in the Tuning Garbage Collection with the 1.4.2
Java Virtual Machine ( http://java.sun.com/docs/hotspot/gc1.4.2/ ) document.

4.1.3 jvmstat 3.0



The jvmstat 3.0 ( http://java.sun.com/performance/jvmstat/ ) home page documents the
lightweight performance monitoring capabilities that are built into J2SE 5.0 and explains how
to use these tools to monitor not only 5.0 HotSpot Java Virtual Machines but also HotSpot
1.4.1 and 1.4.2 JVM's.

4.2 J2SE 5.0 Documentation


Be sure to check out the wealth of J2SE 5.0 Documentation (
http://java.sun.com/j2se/1.5.0/docs/ ) including the
New Features and Enhancements ( http://java.sun.com/j2se/1.5.0/docs/relnotes/features.html )
and the
J2SE 5.0 Overview ( http://java.sun.com/j2se/1.5.0/docs/guide/index.html ).

4.3 Performance Articles



4.3.1 Using JConsole to Monitor Applications



Check out the article on Using JConsole to Monitor Applications (
http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html ) to learn how to use this
GUI tool to find out how your Java application is performing.

4.3.2 The JVMPI Transition to JVMTI



Check out the article on The JVMPI Transition to JVMTI (
http://java.sun.com/developer/technicalArticles/Programming/jvmpitransition/ ) to learn more
about how these important interfaces, which are often used for performance analysis, have
changed.

4.4 Benchmark Disclosure



4.4.1 SPECjbb 2000



SPECjbb2000 is benchmark from the Standard Performance Evaluation Corporation (SPEC).
The performance referenced is based on Sun internal software testing conforming to the
testing methodologies listed above.

For the latest SPECjbb2000 results visit http://www.spec.org/osg/jbb2000.

4.4.2 VolanoMark™ 2.5



VolanoMark™ version 2.5 is a benchmark from Volano LLC ( http://www.volano.com/ ).

More Related Content

What's hot

Boosting virtualization performance with Intel SSD DC Series P3600 NVMe SSDs ...
Boosting virtualization performance with Intel SSD DC Series P3600 NVMe SSDs ...Boosting virtualization performance with Intel SSD DC Series P3600 NVMe SSDs ...
Boosting virtualization performance with Intel SSD DC Series P3600 NVMe SSDs ...Principled Technologies
 
Dell 3-2-1 Reference Configurations: Scalable performance and simplicity in s...
Dell 3-2-1 Reference Configurations: Scalable performance and simplicity in s...Dell 3-2-1 Reference Configurations: Scalable performance and simplicity in s...
Dell 3-2-1 Reference Configurations: Scalable performance and simplicity in s...Principled Technologies
 
intel speed-select-technology-base-frequency-enhancing-performance
intel speed-select-technology-base-frequency-enhancing-performanceintel speed-select-technology-base-frequency-enhancing-performance
intel speed-select-technology-base-frequency-enhancing-performanceDESMOND YUEN
 
Oracle Exadata 1Z0-485 Certification
Oracle Exadata 1Z0-485 CertificationOracle Exadata 1Z0-485 Certification
Oracle Exadata 1Z0-485 CertificationExadatadba
 
Couchbase meetup20131212 [look back in 2013]
Couchbase meetup20131212 [look back in 2013]Couchbase meetup20131212 [look back in 2013]
Couchbase meetup20131212 [look back in 2013]ktoda
 
Design and implementation of a reliable and cost-effective cloud computing in...
Design and implementation of a reliable and cost-effective cloud computing in...Design and implementation of a reliable and cost-effective cloud computing in...
Design and implementation of a reliable and cost-effective cloud computing in...Francesco Taurino
 
Cis 409 Education Redefined - snaptutorial.com
Cis 409    Education Redefined - snaptutorial.comCis 409    Education Redefined - snaptutorial.com
Cis 409 Education Redefined - snaptutorial.comDavisMurphyC76
 
Database Performance of Intel Cache Acceleration Software
Database Performance of Intel Cache Acceleration SoftwareDatabase Performance of Intel Cache Acceleration Software
Database Performance of Intel Cache Acceleration SoftwarePrincipled Technologies
 
Joe Graziano – Challenge 2 Design Solution - Syncsort dpx 411
Joe Graziano – Challenge 2 Design Solution  - Syncsort dpx 411Joe Graziano – Challenge 2 Design Solution  - Syncsort dpx 411
Joe Graziano – Challenge 2 Design Solution - Syncsort dpx 411tovmug
 
Eql tr symantec-backup-exec-10d-tr1024
Eql tr symantec-backup-exec-10d-tr1024Eql tr symantec-backup-exec-10d-tr1024
Eql tr symantec-backup-exec-10d-tr1024casanoteva
 
Managing Exadata in the Real World
Managing Exadata in the Real WorldManaging Exadata in the Real World
Managing Exadata in the Real WorldEnkitec
 
Web sphere application server performance tuning workshop
Web sphere application server performance tuning workshopWeb sphere application server performance tuning workshop
Web sphere application server performance tuning workshopRohit Kelapure
 
Cascade lake-advanced-performance-press-deck
Cascade lake-advanced-performance-press-deckCascade lake-advanced-performance-press-deck
Cascade lake-advanced-performance-press-deckDESMOND YUEN
 
Semper Continuity Suite Product Profile V6
Semper Continuity Suite   Product Profile V6Semper Continuity Suite   Product Profile V6
Semper Continuity Suite Product Profile V6mlulham
 
Ibm db2 10.5 for linux, unix, and windows installing ibm data server clients
Ibm db2 10.5 for linux, unix, and windows   installing ibm data server clientsIbm db2 10.5 for linux, unix, and windows   installing ibm data server clients
Ibm db2 10.5 for linux, unix, and windows installing ibm data server clientsbupbechanhgmail
 

What's hot (19)

Boosting virtualization performance with Intel SSD DC Series P3600 NVMe SSDs ...
Boosting virtualization performance with Intel SSD DC Series P3600 NVMe SSDs ...Boosting virtualization performance with Intel SSD DC Series P3600 NVMe SSDs ...
Boosting virtualization performance with Intel SSD DC Series P3600 NVMe SSDs ...
 
ITE - Chapter 12
ITE - Chapter 12ITE - Chapter 12
ITE - Chapter 12
 
Dell 3-2-1 Reference Configurations: Scalable performance and simplicity in s...
Dell 3-2-1 Reference Configurations: Scalable performance and simplicity in s...Dell 3-2-1 Reference Configurations: Scalable performance and simplicity in s...
Dell 3-2-1 Reference Configurations: Scalable performance and simplicity in s...
 
intel speed-select-technology-base-frequency-enhancing-performance
intel speed-select-technology-base-frequency-enhancing-performanceintel speed-select-technology-base-frequency-enhancing-performance
intel speed-select-technology-base-frequency-enhancing-performance
 
Oracle Exadata 1Z0-485 Certification
Oracle Exadata 1Z0-485 CertificationOracle Exadata 1Z0-485 Certification
Oracle Exadata 1Z0-485 Certification
 
Couchbase meetup20131212 [look back in 2013]
Couchbase meetup20131212 [look back in 2013]Couchbase meetup20131212 [look back in 2013]
Couchbase meetup20131212 [look back in 2013]
 
Design and implementation of a reliable and cost-effective cloud computing in...
Design and implementation of a reliable and cost-effective cloud computing in...Design and implementation of a reliable and cost-effective cloud computing in...
Design and implementation of a reliable and cost-effective cloud computing in...
 
Smooth as Silk Exadata Patching
Smooth as Silk Exadata PatchingSmooth as Silk Exadata Patching
Smooth as Silk Exadata Patching
 
Cis 409 Education Redefined - snaptutorial.com
Cis 409    Education Redefined - snaptutorial.comCis 409    Education Redefined - snaptutorial.com
Cis 409 Education Redefined - snaptutorial.com
 
Database Performance of Intel Cache Acceleration Software
Database Performance of Intel Cache Acceleration SoftwareDatabase Performance of Intel Cache Acceleration Software
Database Performance of Intel Cache Acceleration Software
 
Joe Graziano – Challenge 2 Design Solution - Syncsort dpx 411
Joe Graziano – Challenge 2 Design Solution  - Syncsort dpx 411Joe Graziano – Challenge 2 Design Solution  - Syncsort dpx 411
Joe Graziano – Challenge 2 Design Solution - Syncsort dpx 411
 
Eql tr symantec-backup-exec-10d-tr1024
Eql tr symantec-backup-exec-10d-tr1024Eql tr symantec-backup-exec-10d-tr1024
Eql tr symantec-backup-exec-10d-tr1024
 
Managing Exadata in the Real World
Managing Exadata in the Real WorldManaging Exadata in the Real World
Managing Exadata in the Real World
 
In a monolithic kerne1
In a monolithic kerne1In a monolithic kerne1
In a monolithic kerne1
 
Web sphere application server performance tuning workshop
Web sphere application server performance tuning workshopWeb sphere application server performance tuning workshop
Web sphere application server performance tuning workshop
 
Clifford sugerman
Clifford sugermanClifford sugerman
Clifford sugerman
 
Cascade lake-advanced-performance-press-deck
Cascade lake-advanced-performance-press-deckCascade lake-advanced-performance-press-deck
Cascade lake-advanced-performance-press-deck
 
Semper Continuity Suite Product Profile V6
Semper Continuity Suite   Product Profile V6Semper Continuity Suite   Product Profile V6
Semper Continuity Suite Product Profile V6
 
Ibm db2 10.5 for linux, unix, and windows installing ibm data server clients
Ibm db2 10.5 for linux, unix, and windows   installing ibm data server clientsIbm db2 10.5 for linux, unix, and windows   installing ibm data server clients
Ibm db2 10.5 for linux, unix, and windows installing ibm data server clients
 

Viewers also liked

Designing the privacy user experience experience dynamics web seminar
Designing the privacy user experience  experience dynamics web seminarDesigning the privacy user experience  experience dynamics web seminar
Designing the privacy user experience experience dynamics web seminarExperience Dynamics
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Product Development
Product DevelopmentProduct Development
Product Developmentfelahi1
 
Raising Standards Performance Review November 2008
Raising Standards Performance Review November 2008Raising Standards Performance Review November 2008
Raising Standards Performance Review November 2008TFulmer1980
 
Eyeglasses project
Eyeglasses projectEyeglasses project
Eyeglasses projectarebbecchi
 
Taking Account of Privacy When Designing Cloud Computing Services
Taking Account of Privacy When Designing Cloud Computing ServicesTaking Account of Privacy When Designing Cloud Computing Services
Taking Account of Privacy When Designing Cloud Computing Serviceswhite paper
 
Designing for wisdom in the age of information
Designing for wisdom in the age of informationDesigning for wisdom in the age of information
Designing for wisdom in the age of informationChris Dancy
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
 

Viewers also liked (13)

Designing the privacy user experience experience dynamics web seminar
Designing the privacy user experience  experience dynamics web seminarDesigning the privacy user experience  experience dynamics web seminar
Designing the privacy user experience experience dynamics web seminar
 
List
ListList
List
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Upload proj
Upload projUpload proj
Upload proj
 
Product Development
Product DevelopmentProduct Development
Product Development
 
Optical Ind.
Optical Ind.Optical Ind.
Optical Ind.
 
Cmw pasquinucci[1]
Cmw pasquinucci[1]Cmw pasquinucci[1]
Cmw pasquinucci[1]
 
Raising Standards Performance Review November 2008
Raising Standards Performance Review November 2008Raising Standards Performance Review November 2008
Raising Standards Performance Review November 2008
 
Eyeglasses project
Eyeglasses projectEyeglasses project
Eyeglasses project
 
Upload proj
Upload projUpload proj
Upload proj
 
Taking Account of Privacy When Designing Cloud Computing Services
Taking Account of Privacy When Designing Cloud Computing ServicesTaking Account of Privacy When Designing Cloud Computing Services
Taking Account of Privacy When Designing Cloud Computing Services
 
Designing for wisdom in the age of information
Designing for wisdom in the age of informationDesigning for wisdom in the age of information
Designing for wisdom in the age of information
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Similar to Java Standard Edition 5 Performance

Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
J2EE Batch Processing
J2EE Batch ProcessingJ2EE Batch Processing
J2EE Batch ProcessingChris Adkin
 
WMS Performance Shootout 2010
WMS Performance Shootout 2010WMS Performance Shootout 2010
WMS Performance Shootout 2010Jeff McKenna
 
Comparing Java performance: Red Hat Enterprise Linux 6 and OpenJDK vs. Micros...
Comparing Java performance: Red Hat Enterprise Linux 6 and OpenJDK vs. Micros...Comparing Java performance: Red Hat Enterprise Linux 6 and OpenJDK vs. Micros...
Comparing Java performance: Red Hat Enterprise Linux 6 and OpenJDK vs. Micros...Principled Technologies
 
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACH
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACHPERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACH
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACHcscpconf
 
Performance comparison on java technologies a practical approach
Performance comparison on java technologies   a practical approachPerformance comparison on java technologies   a practical approach
Performance comparison on java technologies a practical approachcsandit
 
Ceph Day Taipei - Accelerate Ceph via SPDK
Ceph Day Taipei - Accelerate Ceph via SPDK Ceph Day Taipei - Accelerate Ceph via SPDK
Ceph Day Taipei - Accelerate Ceph via SPDK Ceph Community
 
Java Tuning White Paper
Java Tuning White PaperJava Tuning White Paper
Java Tuning White Paperwhite paper
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEQAware GmbH
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEMario-Leander Reimer
 
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...WASdev Community
 
Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1Kevin Sutter
 
1 Win7 For Devs Fund Search
1 Win7 For Devs Fund Search1 Win7 For Devs Fund Search
1 Win7 For Devs Fund Searchllangit
 
Future Direction of WIndows CE System Architecture.ppt
Future Direction of WIndows CE System Architecture.pptFuture Direction of WIndows CE System Architecture.ppt
Future Direction of WIndows CE System Architecture.pptMarco Wang
 

Similar to Java Standard Edition 5 Performance (20)

Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
J2EE Batch Processing
J2EE Batch ProcessingJ2EE Batch Processing
J2EE Batch Processing
 
WMS Performance Shootout 2010
WMS Performance Shootout 2010WMS Performance Shootout 2010
WMS Performance Shootout 2010
 
Comparing Java performance: Red Hat Enterprise Linux 6 and OpenJDK vs. Micros...
Comparing Java performance: Red Hat Enterprise Linux 6 and OpenJDK vs. Micros...Comparing Java performance: Red Hat Enterprise Linux 6 and OpenJDK vs. Micros...
Comparing Java performance: Red Hat Enterprise Linux 6 and OpenJDK vs. Micros...
 
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACH
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACHPERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACH
PERFORMANCE COMPARISON ON JAVA TECHNOLOGIES - A PRACTICAL APPROACH
 
Performance comparison on java technologies a practical approach
Performance comparison on java technologies   a practical approachPerformance comparison on java technologies   a practical approach
Performance comparison on java technologies a practical approach
 
WCE031_WH06
WCE031_WH06WCE031_WH06
WCE031_WH06
 
Ceph Day Taipei - Accelerate Ceph via SPDK
Ceph Day Taipei - Accelerate Ceph via SPDK Ceph Day Taipei - Accelerate Ceph via SPDK
Ceph Day Taipei - Accelerate Ceph via SPDK
 
Java Tuning White Paper
Java Tuning White PaperJava Tuning White Paper
Java Tuning White Paper
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EE
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EE
 
43
4343
43
 
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
 
Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1
 
GlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and FutureGlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and Future
 
1 Win7 For Devs Fund Search
1 Win7 For Devs Fund Search1 Win7 For Devs Fund Search
1 Win7 For Devs Fund Search
 
Future Direction of WIndows CE System Architecture.ppt
Future Direction of WIndows CE System Architecture.pptFuture Direction of WIndows CE System Architecture.ppt
Future Direction of WIndows CE System Architecture.ppt
 

More from white paper

Secure Computing With Java
Secure Computing With JavaSecure Computing With Java
Secure Computing With Javawhite paper
 
Java Security Overview
Java Security OverviewJava Security Overview
Java Security Overviewwhite paper
 
Platform Migration Guide
Platform Migration GuidePlatform Migration Guide
Platform Migration Guidewhite paper
 
Memory Management in the Java HotSpot Virtual Machine
Memory Management in the Java HotSpot Virtual MachineMemory Management in the Java HotSpot Virtual Machine
Memory Management in the Java HotSpot Virtual Machinewhite paper
 
J2 Se 5.0 Name And Version Change
J2 Se 5.0 Name And Version ChangeJ2 Se 5.0 Name And Version Change
J2 Se 5.0 Name And Version Changewhite paper
 
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d ApplicationsJava Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applicationswhite paper
 
Introduction to the Java(TM) Advanced Imaging API
Introduction to the Java(TM) Advanced Imaging APIIntroduction to the Java(TM) Advanced Imaging API
Introduction to the Java(TM) Advanced Imaging APIwhite paper
 
* Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...
     * Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...     * Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...
* Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...white paper
 
Java 2D API: Enhanced Graphics and Imaging for the Java Platform
Java 2D API: Enhanced Graphics and Imaging for the Java PlatformJava 2D API: Enhanced Graphics and Imaging for the Java Platform
Java 2D API: Enhanced Graphics and Imaging for the Java Platformwhite paper
 
Concurrency Utilities Overview
Concurrency Utilities OverviewConcurrency Utilities Overview
Concurrency Utilities Overviewwhite paper
 
Defining a Summative Usability Test for Voting Systems
Defining a Summative Usability Test for Voting SystemsDefining a Summative Usability Test for Voting Systems
Defining a Summative Usability Test for Voting Systemswhite paper
 
Usability Performance Benchmarks
Usability Performance BenchmarksUsability Performance Benchmarks
Usability Performance Benchmarkswhite paper
 
The Effect of Culture on Usability
The Effect of Culture on UsabilityThe Effect of Culture on Usability
The Effect of Culture on Usabilitywhite paper
 
Principles of Web Usability I - Summer 2006
Principles of Web Usability I - Summer 2006Principles of Web Usability I - Summer 2006
Principles of Web Usability I - Summer 2006white paper
 
Principles of Web Usabilty II - Fall 2007
Principles of Web Usabilty II - Fall 2007 Principles of Web Usabilty II - Fall 2007
Principles of Web Usabilty II - Fall 2007 white paper
 
Put Social Media To Work For You
Put Social Media To Work For YouPut Social Media To Work For You
Put Social Media To Work For Youwhite paper
 
Web Site Usability
Web Site UsabilityWeb Site Usability
Web Site Usabilitywhite paper
 
Enterprise Social Media: Trends in Adopting Web 2.0 for the Enterprise in 2007
Enterprise Social Media: Trends in Adopting Web 2.0 for the Enterprise in 2007Enterprise Social Media: Trends in Adopting Web 2.0 for the Enterprise in 2007
Enterprise Social Media: Trends in Adopting Web 2.0 for the Enterprise in 2007white paper
 
Six Myths and Realities of Blogging and Social Media in the Enterprise
Six Myths and Realities of Blogging and Social Media in the EnterpriseSix Myths and Realities of Blogging and Social Media in the Enterprise
Six Myths and Realities of Blogging and Social Media in the Enterprisewhite paper
 

More from white paper (20)

Secure Computing With Java
Secure Computing With JavaSecure Computing With Java
Secure Computing With Java
 
Java Security Overview
Java Security OverviewJava Security Overview
Java Security Overview
 
Platform Migration Guide
Platform Migration GuidePlatform Migration Guide
Platform Migration Guide
 
Memory Management in the Java HotSpot Virtual Machine
Memory Management in the Java HotSpot Virtual MachineMemory Management in the Java HotSpot Virtual Machine
Memory Management in the Java HotSpot Virtual Machine
 
J2 Se 5.0 Name And Version Change
J2 Se 5.0 Name And Version ChangeJ2 Se 5.0 Name And Version Change
J2 Se 5.0 Name And Version Change
 
Java Web Start
Java Web StartJava Web Start
Java Web Start
 
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d ApplicationsJava Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applications
 
Introduction to the Java(TM) Advanced Imaging API
Introduction to the Java(TM) Advanced Imaging APIIntroduction to the Java(TM) Advanced Imaging API
Introduction to the Java(TM) Advanced Imaging API
 
* Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...
     * Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...     * Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...
* Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...
 
Java 2D API: Enhanced Graphics and Imaging for the Java Platform
Java 2D API: Enhanced Graphics and Imaging for the Java PlatformJava 2D API: Enhanced Graphics and Imaging for the Java Platform
Java 2D API: Enhanced Graphics and Imaging for the Java Platform
 
Concurrency Utilities Overview
Concurrency Utilities OverviewConcurrency Utilities Overview
Concurrency Utilities Overview
 
Defining a Summative Usability Test for Voting Systems
Defining a Summative Usability Test for Voting SystemsDefining a Summative Usability Test for Voting Systems
Defining a Summative Usability Test for Voting Systems
 
Usability Performance Benchmarks
Usability Performance BenchmarksUsability Performance Benchmarks
Usability Performance Benchmarks
 
The Effect of Culture on Usability
The Effect of Culture on UsabilityThe Effect of Culture on Usability
The Effect of Culture on Usability
 
Principles of Web Usability I - Summer 2006
Principles of Web Usability I - Summer 2006Principles of Web Usability I - Summer 2006
Principles of Web Usability I - Summer 2006
 
Principles of Web Usabilty II - Fall 2007
Principles of Web Usabilty II - Fall 2007 Principles of Web Usabilty II - Fall 2007
Principles of Web Usabilty II - Fall 2007
 
Put Social Media To Work For You
Put Social Media To Work For YouPut Social Media To Work For You
Put Social Media To Work For You
 
Web Site Usability
Web Site UsabilityWeb Site Usability
Web Site Usability
 
Enterprise Social Media: Trends in Adopting Web 2.0 for the Enterprise in 2007
Enterprise Social Media: Trends in Adopting Web 2.0 for the Enterprise in 2007Enterprise Social Media: Trends in Adopting Web 2.0 for the Enterprise in 2007
Enterprise Social Media: Trends in Adopting Web 2.0 for the Enterprise in 2007
 
Six Myths and Realities of Blogging and Social Media in the Enterprise
Six Myths and Realities of Blogging and Social Media in the EnterpriseSix Myths and Realities of Blogging and Social Media in the Enterprise
Six Myths and Realities of Blogging and Social Media in the Enterprise
 

Recently uploaded

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 

Recently uploaded (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 

Java Standard Edition 5 Performance

  • 1. J2SE 5.0 Performance White Paper Java™ Platform Performance Engineering Sun Microsystems, Inc. Table of Contents 1 Introduction 2 New Features and Performance Enhancements 2.1 Ergonomics in the 5.0 Java Virtual Machine 2.2 High Precision Timing 2.3 StringBuilder Class 2.4 Java 2D Technology Improvements 2.5 Image I/O Improvements 2.6 Thread Priority on the Solaris Platform 2.7 Class Data Sharing 2.8 Monitoring and Management for the Java Platform 2.9 Optimizations for x86 / x64 2.10 HotSpot™ Reliability 2.11 Concurrent Low Pause Garbage Collector Improvements 3 New Platform Support 3.1 Hardware 3.1.1 AMD Opteron 3.2 Operating Environments 3.2.1 Solaris 10 3.2.2 Sun Java Desktop System, Release 2 3.2.3 Windows Server 2003 3.2.4 Red Hat Enterprise Linux AS 3.0 3.2.5 SuSE Linux Enterprise Server 9 4 Going Further 4.1 Java Performance Portal 4.1.1 Ergonomics in the 5.0 Java Virtual Machine 4.1.2 Tuning Garbage Collection with the 5.0 Java Virtual Machine 4.1.3 jvmstat 3.0 4.2 J2SE 5.0 Documentation 4.3 Performance Articles 4.3.1 Using JConsole to Monitor Applications 4.3.2 The JVMPI Transition to JVMTI 4.4 Benchmark Disclosures
  • 2. 4.4.1 SPECjbb 2000 4.4.2 VolanoMark™ 2.5 1 Introduction While J2SE 5.0 has added many new features Sun Microsystems has also been working to continue to improve scalability and performance, with a new emphasis on startup time and memory footprint. This guide gives an overview of the performance and scalability improvements made in the J2SE 5.0 release along with various benchmarks to demonstrate the impact of these improvements. 2 New Features and Performance Enhancements J2SE 5.0 includes a number of new features and enhancements to improve performance in many areas of the platform. Improvements to new language features include: additions to the virtual machine, enhancements to the base and integration libraries, the user interface, deployment, tools and architectures, and OS & hardware platforms. Enhancements to program execution speed include: Garbage collection ergonomics, StringBuilder class, Java 2D technology enhancements, and performance and memory usage improvements to image I/O. 2.1 Ergonomics in the 5.0 Java Virtual Machine Getting the best performance out of the JVM has often required detailed hand tuning of command line options. Yet many users never set command line options for performance. In order to give the best possible performance in a variety of situations Sun Microsystems has improved the performance of the JVM even when no command line options are used. In J2SE 5.0 the default selection for the garbage collector, heap size, and runtime compiler are now chosen automatically. These new selections better match the needs of different types of applications while requiring less command line tuning. In addition a different way of tuning the heap has been added for the throughput garbage
  • 3. collector. This new tuning allows the user to specify performance and memory utilization criteria to dynamically tune the sizes of the heap. This "self tuning" behavior is referred to in this document as "ergonomics". For more on ergonomics please see the Ergonomics in the 5.0 Java Virtual Machine document. The performance improvements from ergonomics are significant. Here we compare SPECjbb2000 performance between J2SE 1.4.2 and J2SE 5.0. This test was conducted on a Sun Fire V40z with 4 x 2.4 GHz AMD Opteron CPU's and 8 GB RAM running Solaris 10: In each case we ran the benchmark without any performance arguments (except that - Xmx512m was required for proper benchmark execution with J2SE 1.4.2). Please see the SPECjbb 2000 Benchmark Disclosure We also compared VolanoMark™ 2.5 performance between J2SE 1.4.2 and J2SE 5.0. This test was conducted on a Sun Fire V40z with 4 x 2.4 GHz AMD Opteron CPU's and 8 GB RAM running Solaris 10:
  • 4. In each case we ran the benchmark in loopback mode without any performance arguments. The result shown is based upon relative throughput (messages per second with 400 loopback connections) The full java version for J2SE 1.4.2 is: java version "1.4.2_06" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03) Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode) The full java version for J2SE 5.0 is: java version "1.5.0_01" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_01-b08) Java HotSpot(TM) Server VM (build 1.5.0_01-b08, mixed mode) Please see the VolanoMark™ 2.5 Benchmark Disclosure 2.2 High Precision Timing The method System.nanoTime() has been added, providing access to a nanosecond- granularity time source for relative time measurements. The actual precision of the time values returned by System.nanoTime() is platform-dependent. 2.3 StringBuilder Class
  • 5. This class provides an API compatible with StringBuffer, but with no guarantee of synchronization. This class is designed for use as a drop-in replacement for StringBuffer in places where the string buffer was being used by a single thread (as is generally the case). Where possible, it is recommended that this class be used in preference to StringBuffer as it will be faster under most implementations. See the API documentation on StringBuilder for more information. 2.4 Java 2D Technology Improvements Added 2D features include expanded Linux and Solaris printer support, new methods for creating fonts from files and streams, and new methods related to VolatileImages and hardware acceleration of images. A number of internal changes to text rendering code greatly improve its robustness, performance, and scalability. Other performance work includes hardware-accelerated rendering using OpenGL (disabled by default). See the Java 2D documentation for more information. 2.5 Image I/O Improvements J2SE 5.0 improves image processing performance and adds readers and writers for new file formats to the Image I/O system. For more information see the Image I/O documentation. 2.6 Thread Priority on the Solaris Platform JRE 5.0 updates the priority mapping such that Java threads at NORM_PRIORITY can now compete as expected with native threads. An excellent reference for these topics is Chapter 9, "Threads," in Joshua Bloch's book Effective Java Programming Language Guide. See also the Thread Priority on the Solaris Platform document. 2.7 Class Data Sharing The class data sharing feature is aimed at reducing application startup time and footprint. The installation process loads a set of classes from the system jar file into a private, internal representation, then dumps that representation to a "shared archive" file. During subsequent JVM invocations, the shared archive is memory-mapped in, saving the cost of loading those classes and allowing much of the JVM's metadata for these classes to be shared among multiple JVM processes. For more information see the Class Data Sharing documentation. Java Virtual Machine performance improvements in J2SE 5.0, including Class Data Sharing, have contributed to improved startup and footprint performance. Here we compare startup performance between J2SE 1.4.2 and J2SE 5.0. This test was conducted on a Pentium 4 2.8
  • 6. GHz system with 1 GB memory. The benchmark measures the time necessary to initialize the NetBeans IDE version 3.5.1: The startup comparison above shows relative performance (bigger is better): for Windows XP J2SE 5.0 starts 8% faster, and on the Sun Java Desktop System J2SE 5.0 starts 22% faster than J2SE 1.4.2, respectively. Below we compare memory footprint required between J2SE 1.4.2 and J2SE 5.0 for starting up a rich client Swing-based application:
  • 7. The footprint comparison above shows relative performance (smaller is better). Measuring the real memory impact of a Java application is often quite difficult. Perhaps the first hurdle in understanding footprint is that conventional system utilities, such as Task Manager on Windows, only tell part of the footprint story. Memory reported depends on whether application data and programs are read as conventional files or memory mapped files. In other words often the true memory footprint of an application includes all the files that have been brought into the operating system's file system memory cache... Often memory pages that are shared by other processes or in the file system cache are not reported by conventional tools. Getting consistent footprint measurements is further complicated by accurately measuring the same moment in an application's lifetime. Clearly the longer an application operates the more likely it is to perform classloading, compilation or other activities that affect footprint. The fantastic news for users of J2SE 5.0 is that despite adding massive new functionality Java Engineering has actually pared down core JVM memory usage and leveraged Class Data Sharing to make the actual memory impact on your system lower than with J2SE 1.4.2! The systems used for this benchmark included: Windows XP Professional, Version 2002, Service Pack 1 running on a 930 Mhz Pentium III system with 384MB of RAM Red Hat Linux 3.0 Advanced Server running on a 1.4 GHz system with 512 MB of RAM Solaris 9 running on a SunBlade 2000, 900 Mhz UltraSPARC IV machine with 1GB
  • 8. of RAM 2.8 Monitoring and Management for the Java Platform This release of J2SE offers significant enhancements for monitoring and management for the Java platform using JMX and SNMP. Please see the Monitoring and Management for the Java Platform document for details. 2.9 Optimizations for x86 / x64 Many changes were made in J2SE 5.0 to take advantage of the performance features in modern x86 and x64 CPUs. A good example of this are the optimizations made to System.arraycopy(). In J2SE 1.4.2 System.arraycopy() was implemented using memmove() which performed well on Solaris, but was found to be a performance bottleneck on Linux. In J2SE 5.0, calls to memmove() were replaced with highly optimized x86 and x64 instructions tailored for running Java on these modern processors. Here we compare array copy performance between J2SE 1.4.2 and J2SE 5.0. This test was conducted on a Sun Fire V40z with 4 x 2.4 GHz AMD Opteron CPU's and 8 GB RAM running Solaris 10:
  • 9. The benchmark shown above involves copying large amounts of data in several threads, with heavy use of System.arraycopy(). The test was conducted using highly tuned parameters for J2SE 1.4.2 and the exact same parameters for J2SE 5.0 as to eliminate any advantage J2SE 5.0 would gain from ergonomics. Here we are highlighting the array copy optimization on x86 platforms while holding the hardware constant. 2.10 HotSpot™ Reliability The Java™ HotSpot™ virtual machine for J2SE 5.0 benefits from improved reliability. But how is reliability related to performance, you ask? Because the performance of a JVM that's down is zero! During the development cycle for J2SE 5.0 a series of release controls were put in place that have resulted in much better product reliability. The J2SE 5.0 release of the HotSpot™ virtual machine includes 8000 bug fixes.
  • 10. 2.11 Concurrent Low Pause Garbage Collector Improvements As mentioned above Java™ HotSpot™ Ergonomics includes the choice of the garbage collection algorithm. In certain situations described in the Tuning Garbage Collection with the 5.0 Java Virtual Machine document concurrent low pause collector may be a better choice for the application at hand. The Concurrent Low Pause Garbage Collector, also known as CMS, has had several improvements for J2SE 5.0. Garbage collection pauses are shorter because of better use of parallelism during collection periods during which application threads are stopped. The pauses are also more uniform due to deliberately spacing pauses such that there is less impact on collection latency as seen by application threads. And the heap is better utilized due to improved promotion failure handling which postpones the need to start collections. These improvements explain the dramatic performance gains in this CMS Server Benchmark (a multi-threaded, memory intensive application). This test was conducted on dual CPU Xeon 3 GHz systems with 4 GB of memory: J2SE 5.0 ergonomics also includes better handling of thread local allocation buffers (TLABs).
  • 11. Adaptive resizing of TLABs reduces young generation fragmentation and wasted space thus reducing the number of collections. While these TLAB improvements are not specific to CMS we see here that they produce a dramatic improvement in the thread intensive VolanoMark™ benchmark: The result above was conducted on a 4 CPU Ultra 80 running Solaris 9 and comparing throughput with 400 loopback connections. In each CMS result above we ran the benchmarks the following options: -server -Xmx512m -XX:+UseConcMarkSweepGC The full java version for J2SE 1.4.2 is: java version "1.4.2_06" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03) Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode) The full java version for J2SE 5.0 is: java version "1.5.0" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64) Java HotSpot(TM) Server VM (build 1.5.0-b64, mixed mode)
  • 12. Please see the VolanoMark™ 2.5 Benchmark Disclosure 3 New Platform Support The cross-platform capabilities of Java have expanded in J2SE to cover additional hardware and software platforms. Please see the Supported System Configurations chart for full details. 3.1 Hardware As a result of the Sun-AMD Alliance J2SE hardware platform coverage has expanded to include performance enhancements for AMD Opteron. 3.1.1 AMD Opteron The AMD Opteron is now supported for J2SE 5.0 with the following operating environments: Solaris x86 (32-bit), Windows Server 2003 (32 and 64-bit) and Linux (32 and 64-bit). Sun offers several products based on the AMD Opteron: Sun Java Workstation W1100z Sun Java Workstation W2100z Sun Fire V20z Server Sun Fire V40z Server Compute Grid Rack System 3.2 Operating Environments 3.2.1 Solaris 10 Sun is proud to support J2SE 5.0 on Solaris 10 the leading UNIX in the world and sets the standard for the next generation of operating systems with major breakthroughs in features, functionality, and performance. Solaris 10 provides a world-class operating system from the
  • 13. enterprise to the desktop and everything in between. J2SE 5.0 update 2 now offers 64-bit support for Solaris x86 on AMD Opteron. Java engineering has worked overtime to insure that the stack of J2SE 5.0 on Solaris x86 on AMD Opteron delivers the best possible performance. 3.2.2 Sun Java Desktop System, Release 2 J2SE 5.0 is now supported on Sun Java Desktop System, Release 2. Sun Java Desktop System, Release 2 delivers the best of open source software with the technical innovation of Sun to offer an affordable, comprehensive, fully integrated desktop client environment with administration and developer tools and an enterprise-ready support offering that lowers business costs, reduces complexities of desktop management, and provides a secure computing environment. 3.2.3 Windows Server 2003 J2SE 5.0 is supported on Windows Server 2003 Web Edition, Standard Edition, Enterprise Edition and DataCenter Edition in addition to Windows XP Home and Professional, 2000 Professional, 98 2nd Edition and ME. 3.2.4 Red Hat Enterprise Linux AS 3.0 J2SE 5.0 is supported on Red Hat Enterprise Linux AS 3.0 and also Red Hat Enterprise Linux AS 2.1, ES 2.1, WS 2.1 and Red Hat 9.0. 3.2.5 SuSE Linux Enterprise Server 9 J2SE 5.0 is supported on SuSE Linux Enterprise Server 9 in addition to SuSE Linux Enterprise Server 8 and SuSE 8.2 and 9. 4 Going Further 4.1 Java Performance Portal For the latest in Java Performance best practices, documentation, tools, FAQs, code samples, White Papers and other Java performance news check out
  • 14. the Java Performance Portal ( http://java.sun.com/performance/ ). Three especially relevant performance links for J2SE 5.0 are given here: 4.1.1 Ergonomics in the 5.0 Java Virtual Machine The Ergonomics in the 5.0 Java Virtual Machine ( http://java.sun.com/docs/hotspot/gc5.0/ergo5.html ) document provides an overview of the new self tuning features of J2SE 5.0. 4.1.2 Tuning Garbage Collection with the 5.0 Java Virtual Machine The Tuning Garbage Collection with the 5.0 Java Virtual Machine ( http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html ) document expands on GC concepts for J2SE 5.0 that were introduced in the Tuning Garbage Collection with the 1.4.2 Java Virtual Machine ( http://java.sun.com/docs/hotspot/gc1.4.2/ ) document. 4.1.3 jvmstat 3.0 The jvmstat 3.0 ( http://java.sun.com/performance/jvmstat/ ) home page documents the lightweight performance monitoring capabilities that are built into J2SE 5.0 and explains how to use these tools to monitor not only 5.0 HotSpot Java Virtual Machines but also HotSpot 1.4.1 and 1.4.2 JVM's. 4.2 J2SE 5.0 Documentation Be sure to check out the wealth of J2SE 5.0 Documentation ( http://java.sun.com/j2se/1.5.0/docs/ ) including the New Features and Enhancements ( http://java.sun.com/j2se/1.5.0/docs/relnotes/features.html ) and the J2SE 5.0 Overview ( http://java.sun.com/j2se/1.5.0/docs/guide/index.html ). 4.3 Performance Articles 4.3.1 Using JConsole to Monitor Applications Check out the article on Using JConsole to Monitor Applications ( http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html ) to learn how to use this
  • 15. GUI tool to find out how your Java application is performing. 4.3.2 The JVMPI Transition to JVMTI Check out the article on The JVMPI Transition to JVMTI ( http://java.sun.com/developer/technicalArticles/Programming/jvmpitransition/ ) to learn more about how these important interfaces, which are often used for performance analysis, have changed. 4.4 Benchmark Disclosure 4.4.1 SPECjbb 2000 SPECjbb2000 is benchmark from the Standard Performance Evaluation Corporation (SPEC). The performance referenced is based on Sun internal software testing conforming to the testing methodologies listed above. For the latest SPECjbb2000 results visit http://www.spec.org/osg/jbb2000. 4.4.2 VolanoMark™ 2.5 VolanoMark™ version 2.5 is a benchmark from Volano LLC ( http://www.volano.com/ ).