Home : Course Map : Chapter 10 : Java : Supplements :
Java Performance
JavaTech
Course Map
Chapter 10

Introduction
Vector/Enumeration
Hashtable,HashMap
   Properties
Collections

Iterator/ArrayList
Generics
Preferences API
  Demo 1
Concurrency Utils
Enumerated Type
Arrays Class
String Tools
  String
  StringBuffer
  StringBuilder
  StringTokenizer
  String.split()

Calendar,Date,Time
  Demo 2
  Demo 3

Other Utilities
Exercises

    Supplements
Performance
Benchmarks
     About JavaTech
     Codes List
     Exercises
     Feedback
     References
     Resources
     Tips
     Topic Index
     Course Guide
     What's New

In general, the performance of Java programs relative to programs in other languages carrying out the same tasks has improved considerably since Java first appeared. The early JVMs did straight-forward interpretation of the Java bytecode. This put the Java programs at a disadvantage compared to programs that had been compiled from, say, C/C++ into local machine code. Subsequently, however, the JVMs became much more sophisticated and used techniques such as Just-in-Time compilation and adaptive techniques to convert bytecode on the fly into local machine code. This provides performance similar to that of compiled language programs in many cases, especially where particular sections of code, e.g. loops, are executed repeatedly.

See the sections in Chapter 1 where we discussed the JVM:

Chapter 1: Tech: Shortcomings discusses problems with the language that limit performance on some kinds of mathematical operations such as those with large arrays.

We provide here a list of links to Java benchmarks and performance studies with them.

See the following pages for discussions and demos of Java performance:

If Java cannot perform a mathematical task to the speed required but the Java GUI and networking capabilities are still desired, it is possible to connect a Java program to a C/C++ computation engine using the Java Native Interface (JNI) techniques discussed in Chapter 22.

Most recent update: Oct. 18, 2005

 

 

              Tech
ArbitaryPrecision
   BigInteger
  
BigDecimal
Bit Handling
Exercises

           Physics
Data Gen&Analysis

  Demo 1
  Demo 2
Exercises

  Part I Part II Part III
Java Core 1  2  3  4  5  6  7  8  9  10  11  12 13 14 15 16 17
18 19 20
21
22 23 24
Supplements

1  2  3  4  5  6  7  8  9  10  11  12

Tech 1  2  3  4  5  6  7  8  9  10  11  12
Physics 1  2  3  4  5  6  7  8  9  10  11  12

Java is a trademark of Sun Microsystems, Inc.