Java performance

In software development, the programming language Java was historically considered slower than the fastest 3rd generation typed languages such as C and C++. The main reason being a different language design, where after compiling, Java programs run on a Java virtual machine (JVM) rather than directly on the computer's processor as native code, as do C and C++ programs. Performance was a matter of concern because much business software has been written in Java after the language quickly became popular in the late 1990s and early 2000s.

Comment
enIn software development, the programming language Java was historically considered slower than the fastest 3rd generation typed languages such as C and C++. The main reason being a different language design, where after compiling, Java programs run on a Java virtual machine (JVM) rather than directly on the computer's processor as native code, as do C and C++ programs. Performance was a matter of concern because much business software has been written in Java after the language quickly became popular in the late 1990s and early 2000s.
Date
enApril 2022
Has abstract
enIn software development, the programming language Java was historically considered slower than the fastest 3rd generation typed languages such as C and C++. The main reason being a different language design, where after compiling, Java programs run on a Java virtual machine (JVM) rather than directly on the computer's processor as native code, as do C and C++ programs. Performance was a matter of concern because much business software has been written in Java after the language quickly became popular in the late 1990s and early 2000s. Since the late 1990s, the execution speed of Java programs improved significantly via introduction of just-in-time compilation (JIT) (in 1997 for Java 1.1), the addition of language features supporting better code analysis, and optimizations in the JVM (such as HotSpot becoming the default for Sun's JVM in 2000). Hardware execution of Java bytecode, such as that offered by ARM's Jazelle, was also explored to offer significant performance improvements. The performance of a Java bytecode compiled Java program depends on how optimally its given tasks are managed by the host Java virtual machine (JVM), and how well the JVM exploits the features of the computer hardware and operating system (OS) in doing so. Thus, any Java performance test or comparison has to always report the version, vendor, OS and hardware architecture of the used JVM. In a similar manner, the performance of the equivalent natively compiled program will depend on the quality of its generated machine code, so the test or comparison also has to report the name, version and vendor of the used compiler, and its activated compiler optimization directives.
Is primary topic of
Java performance
Label
enJava performance
Link from a Wikipage to an external page
prefetch.net/presentations/DebuggingJavaPerformance.pdf
java.sun.com/docs/performance/
javaperformancetuning.com/
github.com/raydac/Java-performance-mind-map
java.sun.com/j2se/1.4.2/performance.guide.html
Link from a Wikipage to another Wikipage
.NET Framework
Ahead-of-time compilation
API
Application programming interface
Array data type
Benchmark (computing)
Block (programming)
Bytecode
C (programming language)
C++
Category:Computing platforms
Category:Java platform
Category:Software optimization
Central processor unit
Class (computer science)
Common Language Runtime
Comparison of Java and C++
Compiler optimization
Computer hardware
Computer performance
Computer system
Concurrency control
CPU design
Criticism of Java
C Sharp (programming language)
Daemon (computing)
Da Vinci Machine
Deoptimization
Direct3D
Dynamic compilation
Dynamic-link library
Dynamic memory allocation
Dynamic programming language
Dynamic recompilation
Excelsior JET
Exception handling
Fortran
Garbage collection (computer science)
GPL
Graph coloring
Graphics processing unit
Grid computing
Hadoop
High performance computing
HotSpot (virtual machine)
Inline expansion
Jake2
JAR (file format)
Java (programming language)
Java (software platform)
Java 2D
Java 6
Java bytecode
Java Class Library
Java ConcurrentMap
JavaFX
Java Native Access
Java Native Interface
Java platform
Java Platform
Java Platform, Micro Edition
Java processor
Java Runtime Environment
Java version history
Java virtual machine
Jazelle
JStik
Just-in-time compilation
Lock (computer science)
Memory footprint
Memory-mapped file
Metadata
Method (computer science)
Microsoft Windows
Mono (software)
Multi-core
Multi-user
Nailgun (software)
Native code
NortonLifeLock
Object (computer science)
OpenGL
Operating system
Optimization (computer science)
Order of magnitude
output
Page cache
Parallel computing
Perl
PHP
Platform (computing)
Pointer (computer programming)
Processor register
Profiling (computer programming)
Programming language generations
Project Valhalla (Java language)
Python (programming language)
Quake II
Register allocation
Register spilling
Ruby (programming language)
Runtime verification
Script (computing)
Shader
Shared library
Software development
Standard Widget Toolkit
Sun Microsystems
Swing (Java)
The Computer Language Benchmarks Game
Thread (computer science)
Tracing garbage collection
Trigonometric functions
Type system
Virtual function
Virtual machine
Widget toolkit
X86
X87
XOR linked list
Reason
enIs missing the many improvements in Java 8, 11, 17...
SameAs
4nwWi
Java performance
Javaの性能
m.027jq7n
Q6165051
Subject
Category:Computing platforms
Category:Java platform
Category:Software optimization
WasDerivedFrom
Java performance?oldid=1106074979&ns=0
WikiPageLength
52248
Wikipage page ID
8786357
Wikipage revision ID
1106074979
WikiPageUsesTemplate
Template:Citation needed
Template:Clarify
Template:Code
Template:Dablink
Template:Disputed section
Template:Further
Template:Java (Sun)
Template:Portal
Template:Reflist
Template:Short description
Template:Update
Template:Use mdy dates