当前位置:网站首页>3: Chapter 1: understanding JVM specification 2: JVM specification, introduction;

3: Chapter 1: understanding JVM specification 2: JVM specification, introduction;

2022-07-05 23:12:00 Small withered forest

explain :

(1) Brief introduction JVM standard , understand JVM What are norms ;

Catalog

1.JVM standard , brief introduction ;

2.JVM standard , What is covered ;(PS: There is no need to go too deep into the virtual machine specification , Understanding can )


Virtual machines must have specifications ( Or standard ), such as class If there is no certain specification in the document , Virtual machines cannot recognize this class;

1.JVM standard , brief introduction ;

(1) Virtual machines don't know .java file , They only know .class file ;

          ●  We write .java When it comes to programming , We need to comply java Grammatical norms of ;

          ●  We are still in the virtual machine .class When you file , This .class Files should conform to the specifications of virtual machines ;

(2) As long as a file is a 【 Conform to the specification of virtual machine .class file 】, Virtual machines can be loaded and run ;

          ●  So at this time , It provides the independence of the development language in disguise ;

          ●  such as , We use java Language development program can be compiled into 【 Conform to the specification of virtual machine .class file 】;;; We use jRuby The program developed by language can also be compiled into 【 Conform to the specification of virtual machine .class file 】;

          ●  namely , As long as the code written in a certain language , Can be compiled as 【 Conform to the specification of virtual machine .class file 】, these .class Can be loaded and run by virtual machines ;

          ●  even to the extent that , We don't use any language , Instead, write directly .class file ( such as ASM,CGLib Technology ;; These technologies are in Spring In the frame , Have large-scale applications );

          ● PS: Virtual machines are not just for .class The specification of , There are many other specifications ;

(3)JVM The specification states that ,JVM It can be used 【 The software simulates and runs on various existing computer systems 】 To achieve , It can also be implemented using hardware ;( We generally do not consider hardware implementation )

……………………………………………………

(4)JVM The specification of , It just stipulates what to do ; It does not specify how we should implement ;

          ●  therefore , For this same virtual machine specification , Different virtual machine manufacturers have their own implementation methods ;

          ●  that , In this way , The same procedure , If you put it into virtual machines of different manufacturers , The implementation process and details are not exactly the same ;

2.JVM standard , What is covered ;(PS: There is no need to go too deep into the virtual machine specification , Understanding can )

(1) Bytecode instruction set ( It's the CPU CPU);

(2)Class File format ;

(3) Data types and values ;

          ●  For example, the types of these values 、 Range 、 Requirements for basic implementation ;

(4) Run time data area ;

          ●  We wrote java Program , When you run , We must operate some data ;

(5) Stack frame ;

(6) Special methods ;( Specified in the specification , Implementation of some special methods to be provided by virtual machine )

(7) Class library ;( The virtual machine is required to support some class libraries , To provide some basic functions , Or functions that applications cannot provide ;;; For example, yes. JNI Support for , Interaction with hardware ;;; If the virtual machine does not provide these functions , Applications are uncertain ;)

(8) Some handling of exceptions ;

(9) Start of virtual machine 、 load 、 Linking and initialization ;

……

stay Oracle Its official website 【Java SE Specifications】 You can download the specifications of each version of virtual machine ;

It can also be in 【Java Downloads | Oracle】 Go up and download JDK;

原网站

版权声明
本文为[Small withered forest]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/186/202207052253119640.html