其实天很蓝,阴云总要散;其实海不远,此岸连彼岸;其实草很绿,万物皆自然。
人生百态,来来回回,磕磕碰碰,这发生的一切对于一个人来说,都是一种缘分。能遇见,是一种缘分,即使是擦肩而过的瞬间,这也是一种缘分,善待人生中的每一个缘分,这才算是一种真正的享受人生,没有白白的浪费掉人生中的每一个机缘。
开始进入正题...
1、Jvm简介
作为一个Java使用者,掌握JVM的体系结构是很有必要的。
说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机、Java应用程序接口(API)。他们的关系图如下:
运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后通过Java编译器编译成字节码(.class文件),然后字节码装入内存,一旦字节码进入虚拟机,它就会被Java解释器解释执行,或者是被即时代码发生器有选择的转换成机器码执行。
Java平台由Java虚拟机和Java应用程序接口搭建,Java语言这是进入这个平台的通道,用Java语言编写并编译的程序可以运行在这个平台上。这个平台的结构如下图:
在Java平台结构中,可以看到Java虚拟机(Jvm)处于核心的位置,是程序与底层操作系统和硬件无关的关键。它的下方是移植接口,移植接口由两部分组成:适配器和Java操作系统,其中依赖于平台的部分称为适配器;Jvm通过移植接口在具体的平台和操作系统上实现;在Jvm的上方是Java基本类库和扩展类库以及他们API,利用Java Api编写的应用程序(application)和小程序(Java applet)可以再任何Java平台上运行而无需考虑底层平台,就是因为有Java虚拟机(JVM)实现了程序与操作系统的分离,从而实现了Java的平台无关性。
Jvm在它的生存周期中有一个明确的任务,那就是运行Java程序,因此当Java程序启动的时候,就产生JVM一个实例;当程序结束的时候,该实例也就跟着消失了。下面我们从Jvm体系结构和它的运行过程这两个方面来对它进行比较深入的研究。
2、Java虚拟机的体系结构
2.1、每个JVM都有两种机制
. 类装载子系统:装载具有适合名称的类或接口
. 执行引擎:负责执行包含在已装载的类或接口中的指令
2.2、每个Jvm都包含
方法区、Java堆、Java栈、本地方法栈、指令计数器及其他隐含寄存器
对于Jvm的学习,在我看来这几部分最重要:
1、Java代码编译和执行的整个过程
2、Jvm内存管理及垃圾回收机制
详解:https://www.cnblogs.com/lishun1005/p/6019678.html