码迷,mamicode.com
首页 > 其他好文 > 详细

JVM_01 虚拟机的组成部分

时间:2018-01-26 20:53:42      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:一个   def   直接   body   字符   指针   类信息   工作   启动   

技术分享图片

1、类加载子系统 :负责从文件系统或者网络中加载 Class 信息,加载的信息存放在 一块称之为方法区的内存空间

2、方法区:存放类信息,常量信息,常量池信息,包括字符串字面量和数字常量等

3、Java 堆:在 java 虚拟机启动的时候建立 java 堆,他是 java 程序最主要的内存工作区域,几乎所有的对象实例都存放在 java 堆中,堆空间是所有线程共享

4、直接内存:java NIO 库允许 java 程序使用直接内存,从而提高性能,通常直接内存性能要优于 java 堆。读写频繁的场合可能会有限考虑

5、栈:每个虚拟机线程都有一个私有的栈,一个线程的 java 栈在线程创建的时候 被创建,java 栈中保存着局部变量、方法参数、同时 java 的调用、返回值等

6、本地方法栈:调用本地方法,本地方法一般是用 c 编写的

7、垃圾回收系统:垃圾回收系统是 java 的核心,也是必不可少的,java 有一套自己进行垃圾清理的机制,开发人员无需手工清理

8、pc寄存器:寄存器也是每个线程私有的空间,java 虚拟机会为每个线程创建pc 寄存器,在任意时刻,一个 java 线程总是在执行一个方法,这个方法被称为当前方法,如果当前方法不是本地方法,则 pc 寄存器的值为 undefined,寄存器存放如当前环境指针,程序计数器,操作栈指针,计算的变量指针等信息

9、执行引擎:虚拟机最为核心的部分,它负责执行虚拟机的字节码

 

JVM_01 虚拟机的组成部分

标签:一个   def   直接   body   字符   指针   类信息   工作   启动   

原文地址:https://www.cnblogs.com/fangwu/p/8360950.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!