1.Java虚拟机实战

认识Java虚拟机的基本结构

Java虚拟机的架构

Java虚拟机基本结构.png
  • 类加载子系统:加载Class信息,存放于称为方法区的内存空间
  • 方法区:存放类信息,存放运行时常量池信息,包括字符串字面量和数字常量
  • Java堆:虚拟机启动时建立,存放Java对象实例
  • 直接内存:Java堆外的,直接向系统申请的内存区间,速度会优于Java堆,大小不会直接受限于Xmx指定的最大堆大小,但系统内存是有限的,Java堆和直接内存的总和依然受限于操作系统能给定的最大内存
  • 垃圾回收系统:可以对方法区,Java堆和直接内存进行回收
  • Java栈:每一个Java虚拟机线程都有一个私有的Java栈,一个线程的Java栈在线程创建的时候被创建,Java栈中保存着帧信息,局部变量,方法参数,同时和Java方法的调用、返回密切相关
  • 本地方法栈:用于本地方法的调用(通常使用C编写)
  • PC寄存器:每个线程私有的空间,Java虚拟机会为每一个Java线程创建PC寄存器。在任意时刻,一个Java线程总是在执行一个方法,这个正在被执行的方法称为当前方法。如果当前方法不是本地方法,PC寄存器就会指向当前正在被执行的指令,如果当前方法是本地方法,那么PC寄存器的值就是undefined
  • 执行引擎:Java虚拟机核心组件之一,负责执行虚拟机的字节码
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《深入理解Java虚拟机》笔记_第一遍 先取看完这本书(JVM)后必须掌握的部分。 第一部分 走近 Java 从传...
    xiaogmail阅读 5,186评论 1 34
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,372评论 11 349
  • JVM内存模型Java虚拟机(Java Virtual Machine=JVM)的内存空间分为五个部分,分别是: ...
    光剑书架上的书阅读 2,620评论 2 26
  • Java 虚拟机屏蔽了与具体操作系统平台相关的信息,使得 Java 语言编译程序只需生成在 Java 虚拟机上运行...
    寻梦的尕柳阅读 875评论 0 11
  • 二天一夜的助教之旅,很快就結束了。 帶少年班的孩子真的很滋養心靈,孩子們很可愛,現在回想起一幕幕,他們那一雙雙清澈...
    夢瑤阅读 274评论 0 0