随笔分类 -  JVM

摘要:1、栈帧的结构 Java虚拟机以方法作为最基本的执行单元,“栈帧”(Stack Frame)则是用于支持虚拟机进行方法调用和方法执行背后的数据结构,它也是虚拟机运行时数据区中的虚拟机栈(Virtual Machine Stack)的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址 阅读全文
posted @ 2022-12-15 16:06 DarkSki 阅读(33) 评论(0) 推荐(0) 编辑
摘要:1、判断对象是否存活 1.1 引用计数算法(虚拟机中基本不用) 很多教科书判断对象是否存活的算法是这样的:在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可能再被使用的。 客观地说,引用计数算法(Reference Co 阅读全文
posted @ 2022-12-15 16:04 DarkSki 阅读(73) 评论(0) 推荐(0) 编辑
摘要:1、运行时数据区概述 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范》的规定,Java虚拟机所管理的内 阅读全文
posted @ 2022-12-15 15:57 DarkSki 阅读(184) 评论(0) 推荐(0) 编辑
摘要:1、类加载概述 1.1 概述 Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。 与那些在编译时需要进行连接的语言不同,在Java语言里面,类型的加载、连接和初始化过程都是在程序运 阅读全文
posted @ 2022-09-22 01:15 DarkSki 阅读(45) 评论(0) 推荐(0) 编辑
摘要:一、从class文件开始 Java程序的运行包括两个重要的阶段 编译阶段:检查源代码是否符合 Java 语法,符合则生成正常的 .class 文件 源代码.java文件 ——》字节码.class文件 字节码不是存粹的二进制,无法在操作系统中直接执行,在JVM中执行 运行阶段:可以在其他操作系统中跨平 阅读全文
posted @ 2022-09-18 18:51 DarkSki 阅读(80) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示