Java Virtual Machine detailed----First knowledge JVM

Source: Internet
Author: User

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

    • 1997: JDK1.1 Released

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

    • 2011: JDK7 Released

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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.