当前位置:网站首页>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;
边栏推荐
- Composition of interface
- 东南亚电商指南,卖家如何布局东南亚市场?
- February 13, 2022 -5- maximum depth of binary tree
- 2:第一章:认识JVM规范1:JVM简介;
- Hj16 shopping list
- Metasploit (MSF) uses MS17_ 010 (eternal blue) encoding:: undefined conversionerror problem
- [untitled]
- Selenium+Pytest自动化测试框架实战
- Using LNMP to build WordPress sites
- openresty ngx_lua请求响应
猜你喜欢
并查集实践
Finally understand what dynamic planning is
LeetCode102. Sequence traversal of binary tree (output by layer and unified output)
Data type, variable declaration, global variable and i/o mapping of PLC programming basis (CoDeSys)
Use of metadata in golang grpc
终于搞懂什么是动态规划的
Week 17 homework
[untitled]
Tensor attribute statistics
3:第一章:认识JVM规范2:JVM规范,简介;
随机推荐
Vcomp110.dll download -vcomp110 What if DLL is lost
数据库基础知识(面试)
Krypton Factor-紫书第七章暴力求解
【原创】程序员团队管理的核心是什么?
The difference between MVVM and MVC
openresty ngx_ Lua regular expression
Go语言实现原理——锁实现原理
Selenium+Pytest自动化测试框架实战
Paddy serving v0.9.0 heavy release multi machine multi card distributed reasoning framework
Leetcode weekly The 280 game of the week is still difficult for the special game of the week's beauty team ~ simple simulation + hash parity count + sorting simulation traversal
C Primer Plus Chapter 9 question 9 POW function
关于MySQL的30条优化技巧,超实用
openresty ngx_ Lua request response
Tensor attribute statistics
Composition of interface
LeetCode102. Sequence traversal of binary tree (output by layer and unified output)
Use the rewrite rule to rewrite all accesses to the a domain name to the B domain name
Use of grpc interceptor
Selenium+pytest automated test framework practice
Nail error code Encyclopedia