
Java虚拟机学习
郑琨51
好好学习,只争朝夕
展开
-
Java虚拟机运行时栈帧结构
Java虚拟机运行时栈帧结构局部变量表操作数栈动态链接方法返回地址额外附加信息一个栈帧需要分配多少内存,在编译Java源代码的时候已经决定,不会受运行期变量数据的影响,仅仅局部变量表Local Variable Table 是一组变量值的存储空间,用于存放方法参数和方法内部定义的局部变量。方法的Code属性的max_locals数据项中确定了该方法所需分配的局部变量表的最大容量。操作数栈Operand Stack,是一个后入先出的栈。最大深度在编译时写入Code属性的max_stacks数据项中。原创 2020-08-04 22:52:40 · 118 阅读 · 0 评论 -
Java类加载器
Java类加载器类与类加载器双亲委派模型启动类加载器(Bootstrap Class Loader)扩展类加载器(Extension Class Loader)应用类加载器(Application Class Loader)破坏双亲委派模型重点介绍一下OSGI类与类加载器类由加载它的类加载器一起确定其在Java虚拟机的唯一性。换句话说,类只有在同一个类加载器加载的前提下才能有可能比较相等,不同的类加载器加载的类必然是不相等的。双亲委派模型启动类加载器(Bootstrap Class Loader)原创 2020-08-03 23:39:14 · 189 阅读 · 0 评论 -
类加载机制
类加载机制类加载过程加载(Loading)验证(Verifation)准备(Preparation)解析(Resolution)1. 类或者接口的解析2. 字段解析3. 方法解析4. 接口方法解析初始化(Initialization)使用(Using)卸载(Unloading)类加载就是把class文件加载到内存里面,对数据进行校验、转换解析和初始化,形成供JVM直接使用的Java类型的过程。类加载过程加载(Loading)通过一个类的全限定名来获定义此类的二进制字节流。1. Zip压缩包获取,原创 2020-07-29 23:11:28 · 150 阅读 · 0 评论 -
Java类文件结构
Java类文件结构Class文件魔数和class文件的版本常量池二级目录三级目录Class文件Class文件是一组以8个字节为单位的二进制流。如果遇到需要占用8个字节以上的数据项,按照高位在前的方式分割为多个8个字节进行存储。类型名称长度U4megic1U2minor_version1U2major_version1U2constant_pool_count1cp_infoconstant_poolconstant_pool_count原创 2020-07-28 23:48:07 · 161 阅读 · 0 评论 -
Java故障分析工具
Java故障分析基本工具命令行工具jpsjstatjinfojmapjhatjstack可视化工具JHSDBJConsolejvisualvm这些工具都在java安装目录的bin目录下。命令行工具jps列出正在运行的虚拟机进程, 并显示虚拟机执行主类( Main Class, main()函数所在的类)名称以及这些进程的本地虚拟机唯一ID( LVMID, Local Virtual Machine Identifier)。jps [ options ] [ hostid ]示例:jps -l原创 2020-07-25 22:26:53 · 241 阅读 · 0 评论 -
Java内存垃圾回收
Java内存垃圾回收如何识别垃圾什么是垃圾识别算法引用计数法优势问题扩展知识根可达性分析哪些对象可以作为GC Roots何时回收垃圾如何回收垃圾这里记录一下Java内存中的垃圾回收的相关内容。垃圾回收就是找到垃圾,在合适的时间用合理的方法将不用的内存回收。如何识别垃圾垃圾回收讨论的是堆内存里面的对象。什么是垃圾以后永远不再被使用的对象就是垃圾。识别算法引用计数法每个对象搞一个引用计数器,有别的地方引用,计数器加1;原来引用现在不再引用,计数器减1。当计数器为0时,没有任何地方引用到这个对象,原创 2020-07-25 00:01:25 · 139 阅读 · 0 评论 -
JAVA内存结构
JAVA内存结构新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入首先说明一点,JAVA内存结构和内存模型是两个不同的概念。JAVA内存结构是将新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准原创 2020-07-20 23:09:30 · 118 阅读 · 0 评论