Double 11, 开启JVM之旅,
路漫漫,其修远兮,吾将上下而求索。
基本参考B站https://www.bilibili.com/video/av47756459?p=3,理想分十次总结记录。
还是按照内容进行划分记录吧?嗯!
JVM 简介
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。注,Kotlin语言可以生成字节码,同样可以使用在JVM上。所以,JVM并不局限于Java语言。
Java虚拟机有自己完善的硬件架构,如处理器、堆栈等,还具有相应的指令系统。注,JVM博大精深,涉及的内容十分广泛,令人望而却步,,,
Java虚拟机本质上就是一个程序,当它在命令行上启动的时候,就开始执行保存在某字节码文件中的指令。Java语言的可移植性正是建立在Java虚拟机的基础上。任何平台只要装有针对于该平台的Java虚拟机,字节码文件(.class)就可以在该平台上运行。这就是“一次编译,多次运行”。
Java虚拟机不仅是一种跨平台的软件,而且是一种新的网络计算平台。该平台包括许多相关的技术,如符合开放接口标准的各种API、优化技术等。Java技术使同一种应用可以运行在不同的平台上。Java平台可分为两部分,即Java虚拟机(Java virtual machine,JVM)和Java API类库。
(来自百度百科)
不同的公司提供了不同的JVM实现(符合JVM实现规范即可)
了解 jvm的jconsole,jvisual VM 监视,控制器