03 2019 档案

摘要:2.7 对象的表示 java虚拟机并不要求对象满足任何特定的内部结构。 在Oracle的一些Java虚拟机实现中,对类实例的引用是指向句柄的指针,该句柄本身是一对指针:一个指向包含对象方法的表和指向表示Class对象的指针对象的类型,另一个是从堆为对象数据分配的内存。 2.8 浮点算法 Java虚拟 阅读全文
posted @ 2019-03-29 15:19 lwli 阅读(298) 评论(0) 推荐(0) 编辑
摘要:2.6. 栈帧 栈帧用于存储数据和部分结果,同样也用于执行动态链接,返回方法的值和分派异常。 当方法被调用的时候会创建一个新的栈帧。当一个方法调用结束时,它对应的栈帧就被销毁了,不管是正常调用结束还是意外结束(抛出了未被捕获的异常)。栈帧分配在线程创建的虚拟机栈中。每个栈帧都有自己的局部变量表,操作 阅读全文
posted @ 2019-03-18 20:19 lwli 阅读(372) 评论(0) 推荐(0) 编辑
摘要:2.5 运行时数据区域 java虚拟机定义了多个用于程序执行期间的运行时数据区域。这些数据区域中一些随着java虚拟机的启动而创建,随着虚拟机的退出而销毁。其他的数据区域时和线程相关的。线程相关数据区域随着线程的创建而创建,随着线程的退出而销毁。 2.5.1 pc寄存器 java虚拟机支持多个线程同 阅读全文
posted @ 2019-03-06 11:12 lwli 阅读(280) 评论(0) 推荐(0) 编辑
摘要:本文翻译自:https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html 第二章 虚拟机结构 本文档描述了一个抽象的虚拟机规范,并不描述某个特定的虚拟机实现。 要正确实现一个Java虚拟机,你只需要能够读取class文件的格式并正确执行 阅读全文
posted @ 2019-03-02 16:44 lwli 阅读(1295) 评论(0) 推荐(0) 编辑