The main contents are as follows:
- The concept of the JVM
- JVM Development History
- JVM types
- Java language Specification
- JVM specification
First, the concept of the JVM:
Jvm:
Java Virtual machine, meaning a Java VM.
Virtual machines:
A complete computer system that runs in a fully isolated environment through software simulations with complete hardware systems functions
What virtual machines are available:
VMWare, Virtual Box: All instruction sets that use software to simulate physical CPUs
JVM: Instruction set for simulating Java bytecode using software
Ii. development History of the JVM:
1. Java History:
- 1996: SUN JDK 1.0 Classic VM
Pure explanation run, use plug to JIT
AWT, inner class, JDBC, RMI, Reflection
- 1998: JDK1.2 Solaris Exact VM
JIT Interpreter Mix
Accurate memory Management, accurate, data type sensitive
Improved GC performance
Note: JDK1.2 started, called Java 2, so there is the advent of j2se EE J2ME, and joined swing collections.
- 2000: JDK 1.3,hotspot as default virtual machine release
Join Javasound
- 2002: JDK 1.4 "Java really goes to a mature version", Classic VM exits the historical stage
Join: Assert Regular expression NIO IPV6 Log API Encryption class Library
- 2004: JDK 1.5 "critical version". namely JDK5, J2SE 5, Java 5
Generic type
Annotations
Enumeration
Automatic Boxing
Variable length parameters
foreach Loop
- 2006: JDK 1.6 released, JDK6
Scripting language Support
JDBC 4.0
java compiler API
Delay Project launched to JDK8
G1 (new GC collector)
Dynamic language Enhancement
Compression pointers in 64-bit systems
NIO 2.0
- 2014: JDK8 release of "important version"
Lambda expression
Syntax Enhancement Java type annotations
- 2016: Planned release JDK9
Modular
2. Major historical events:
- The most widely used JVM is the hotspot
HotSpot developed for Longview Technologies, acquired by Sun
- 2006: Java open Source, and build OpenJDK
HotSpot becomes a virtual machine in sun JDK and OPENJDK
- 2008: Oracle acquires BEA
Get JRockit VMS
- April 20, 2009: Oracle formally announces the acquisition of sun at a cost of $7.4 billion .
Get Hotspot
- Oracle announces the integration of the JRockit and hotspot at JDK8, combining these two outstanding virtual machines with each other.
Excellent characteristics of transplant jrockit on the basis of hotspot
Iii. Types of JVMs:
1. KVM:
Sun release
Before the advent of IOS Android, widely used in mobile phone systems
2. CDC/CLDC HotSpot:
Unified Java programming interface for mobile phones, e-books, PDA and other devices
An important part of J2ME
3, JRockit:
BEA
4. IBM J9 VM:
IBM Internal
5. Apache Harmony:
Java Program Runtime platform compatible with JDK 1.5 and JDK 1.6
Bad relationship with Oracle, Exit JCP, division of the Java Community
OpenJDK emerged, challenged, retired in 2011
No large-scale commercial experience
has a positive effect on Android's development
Iv. Java Language Specification:
The Java language specification is mainly embodied in the following points:
- Grammar
- Variable
- Type
- Grammar
V. JVM Specification:
The JVM primarily defines binary class files and JVM instruction sets, and so on.
The JVM language specification is mainly reflected in the following points:
- class file type
- Run-time data
- Frame stacks
- Startup of virtual machines
- Instruction set for virtual machines
In addition, the JVM needs to provide the following support for the Java Library: (because these things are not possible through the Java language itself)
- Reflective Java.lang.reflect
- ClassLoader
- Initialize class and interface
- Safety-related java.security
- Multithreading
- Weak references
Java Virtual Machine detailed----First knowledge JVM