面试题(3)--JVM运行原理及内存机制

其实天很蓝,阴云总要散;其实海不远,此岸连彼岸;其实草很绿,万物皆自然。

人生百态,来来回回,磕磕碰碰,这发生的一切对于一个人来说,都是一种缘分。能遇见,是一种缘分,即使是擦肩而过的瞬间,这也是一种缘分,善待人生中的每一个缘分,这才算是一种真正的享受人生,没有白白的浪费掉人生中的每一个机缘。

开始进入正题...

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

  

 

posted @ 2018-06-09 14:48  xu_shuyi  阅读(188)  评论(0)    收藏  举报