jvm虚拟机
文章平均质量分 85
隔壁寝室老吴
菜鸟一枚
展开
-
四、虚拟机字节码执行引擎
运行时栈帧结构Java虚拟机以方法作为最基本的执行单元,“栈帧”(Stack Frame)则是用于支持虚拟机进行方法 调用和方法执行背后的数据结构,它也是虚拟机运行时数据区中的虚拟机栈(Virtual Machine Stack)[1]的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息和一些额外的附加信息。局部变量表局部变量表(Local Variables Table)是一组变量值的存储空间,用于存放方法参数和方法内部定义 的局部变量。在Java程序被编译为.原创 2020-09-22 22:29:32 · 423 阅读 · 0 评论 -
三、虚拟机类加载机制
虚拟机类加载顺序类加载的时机类的生命周期:类的初始化的6个场景:1、遇到new、getstatic、putstatic(读取或设置一个类型的被fianl修饰的静态字段)或invokestatic(调用一个类的静态方法)这四条字节码指令时,如果没有初始化则需要先初始化。2、使用java.lang.reflect包的方法对类型进行反射调用的时候。3、当初始化类的时候,如果发现其父类还没有进行过初始化。4、当虚拟机启动时,用户需要指定一个要执行的主类(包含main()方法的那个类)原创 2020-09-22 22:31:55 · 74 阅读 · 0 评论 -
二、HotSpot虚拟机垃圾回收器和内存分配策略
hotspot虚拟机1、默认的设置有:垃圾优先(G1)收集器GC线程的最大数量受堆大小和可用CPU资源限制初始堆大小为物理内存的1/64最大堆大小为物理内存的1/4使用C1和C2的分层编译器Java HotSpot VM垃圾收集器配置为优先满足以下两个目标之一:最大暂停时间和应用程序吞吐量最大暂停时间目标:是通过命令行选项-XX:MaxGCPauseMi...原创 2020-04-25 23:55:51 · 429 阅读 · 2 评论 -
一、JVM内存区域与对象内存布局
一、JVM的内存区域图如下:1、程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的 字节码的行号指示器。在Java虚拟机的概念模型里[1],字节码解释器工作时就是通过改变这个计数器 的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循环、跳转、异常处 理、线程恢复等基础功能都需要依赖这个计数器来完成。 由于Java虚拟机的多线程是通过线程轮流切换、分配处理器执行时间的方式来实现的,在任何一 个确定的时刻,一原创 2020-09-22 22:12:04 · 329 阅读 · 0 评论 -
五、Java虚拟机执行子系统
JVM的内存区域图如下:1、程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的 字节码的行号指示器。在Java虚拟机的概念模型里[1],字节码解释器工作时就是通过改变这个计数器 的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循环、跳转、异常处 理、线程恢复等基础功能都需要依赖这个计数器来完成。...原创 2020-05-04 10:07:46 · 134 阅读 · 0 评论