一、概述 执行引擎是java虚拟机最核心的组成之一,与物理机最大的区别就是它是由虚拟机自己实现的,因此可以自行指定指令集与执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式。 二、运行时栈帧结构 栈帧是用于…
分类:java虚拟机
《深入理解Java虚拟机-JVM高级特性与最佳实践》阅读疑问点
1、什么是GC停顿? 就是GC进行回收时必须停顿所有Java执行线程。 举个栗子: GC在利用GC Root节点进行可达性分析的时候,这项分析工作必须在一个确保一致性的快照中进行———…
深入理解Java虚拟机——程序编译与代码优化
一早期(编译期)优化 1概述 Java语言的“编译期”是一段“不确定”的操作过程,因为它可能是指一个前端编译器(其实叫“编译器的前端”更准确一些)把*.java文件转变成*.class文件的过程;也可能是指虚拟机的后端运…
《深入理解Java虚拟机》之java工具-jps
原文链接 :Java命令学习系列(一)——Jps 最近准备研究一下虚拟机,做以下笔记,原文链接在上面,如要阅读请点击上面的链接,给原文作者更多支持 jps(java process status…
第6章 类文件结构--《深入理解 Java 虚拟机》笔记
无关性的基石 字节码(ByteCode)是构成平台无关性的基石。 实现语言无关性的基础仍然是虚拟机和字节码存储格式,使用Java编译器可以把Java代码编译为存储字节码的Class文件, 使用JRuby等其他语言的编译器…
【笔记】深入理解 java 虚拟机---GC垃圾回收算法
今天写之前,先推荐一款 idea的插件,Restore Sql 。 可以将mybatis打印的sql,拼成完整的sql。很爽。 有些不能打印。 虚拟机垃圾收集算法。 1 标记-清除。(Mark-Sweep).…
深入理解Java虚拟机系列(1)——什么叫做JVM与JVM规范
引言 (1)内存管理一直是JAVA语言自豪与骄傲的资本,它让JAVA程序员基本上可以彻底忽略与内存管理相关的细节,只专注于业务逻辑。不过世界上不存在十全十美的好事,在…
深入理解java虚拟机(二)HotSpot Java对象创建,内存布局以及访问方式
内存中对象的创建、对象的结构以及访问方式。 一、对象的创建 在语言层面上,对象的创建只不过是一个new关键字而已,那么在虚拟机中又是一个怎样的过程呢? (一)判断类是否加载。虚拟机遇到一条new指令的时候,首先会检查这个…
深入理解java虚拟机-目录
大概整理一遍,觉得有些乱,还是参照原书那样显得条理。本篇只是jvm目录索引。 第一章 主要介绍java概述,干货不多看原文。 第二部分 :自动内存管理机制 第二章:j…
读《深入理解java虚拟机》(四)内存分配与回收策略
内存分配与回收策略 1、规则一:对象优先在Eden分配 关于Minor GC 和 Full GC: *** 新生代GC(Minor GC)是指发生在新生代的垃圾收集动作,因为Java对象大多都具有…
【深入理解java虚拟机】第三章 垃圾收集器与内存分配策略
程序计数器,虚拟机栈和本地方法栈随线程而生,随线程而灭,栈中的栈帧随着方法的进入和退出有条不紊得执行着出栈和入栈的操作,每个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这几个区域的内存分配和回收都具备确定性…
实战Java虚拟机之二“虚拟机的工作模式”
今天开始实战Java虚拟机之二:“虚拟机的工作模式”。 总计有5个系列实战Java虚拟机之一“堆溢出处理”实战Java虚拟机之二“虚拟机的工作模式”实战Java虚拟机之三“G1的新生代GC”实战Java虚拟机之四“禁用S…