当前位置:网站首页>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 ;
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;
边栏推荐
- Dynamic memory management (malloc/calloc/realloc)
- 【Note17】PECI(Platform Environment Control Interface)
- 3 find the greatest common divisor and the least common multiple
- 数学公式截图识别神器Mathpix无限使用教程
- The maximum happiness of the party
- Shell: operator
- Methods modified by static
- Selenium+Pytest自动化测试框架实战
- LeetCode102. Sequence traversal of binary tree (output by layer and unified output)
- Starting from 1.5, build a micro Service Framework -- log tracking traceid
猜你喜欢
Getting started stm32--gpio (running lantern) (nanny level)
3:第一章:认识JVM规范2:JVM规范,简介;
[speech processing] speech signal denoising and denoising based on Matlab GUI low-pass filter [including Matlab source code 1708]
Practice of concurrent search
Matlab smooth curve connection scatter diagram
Douban scoring applet Part-2
Detailed explanation of pointer and array written test of C language
openresty ngx_lua请求响应
[screen recording] how to record in the OBS area
Development specification: interface unified return value format [resend]
随机推荐
leecode-学习笔记
关于MySQL的30条优化技巧,超实用
6-axis and 9-axis IMU attitude estimation
[speech processing] speech signal denoising and denoising based on MATLAB low-pass filter [including Matlab source code 1709]
终于搞懂什么是动态规划的
Selenium+pytest automated test framework practice
14种神笔记方法,只需选择1招,让你的学习和工作效率提高100倍!
openresty ngx_ Lua regular expression
Yiwen gets rid of the garbage collector
Global and Chinese market of diesel fire pump 2022-2028: Research Report on technology, participants, trends, market size and share
Krypton Factor purple book chapter 7 violent solution
Common model making instructions
Registration and skills of hoisting machinery command examination in 2022
Nacos 的安装与服务的注册
C Primer Plus Chapter 9 question 10 binary conversion
Arduino measures AC current
东南亚电商指南,卖家如何布局东南亚市场?
Global and Chinese markets of industrial pH meters 2022-2028: Research Report on technology, participants, trends, market size and share
d3dx9_ What if 29.dll is missing? System missing d3dx9_ Solution of 29.dll file
(4)UART应用设计及仿真验证2 —— RX模块设计(无状态机)