知识大全 《深入理解Java虚拟机》笔记
Posted 指令
篇首语:没有风暴,船帆只不过是一块破布。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 《深入理解Java虚拟机》笔记相关的知识,希望对你有一定的参考价值。
《深入理解Java虚拟机》笔记 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在C里面我们想执行一段自己编写的机器指令的方法大概如下
typedef void(*FUNC)(int); char* str = your code ; FUNC f = (FUNC)str; (*f)( );
也就是说 我们完全可以做一个工具 从一个文件中读入指令 然后将这些指令运行起来 上面代码中 编好的机器指令 当然指的是能在CPU上运行的 如果这里我还实现了一个翻译机器 从自己定义的格式指令翻译到CPU指令 那么就可以执行根据自定义格式的代码了 那么上面这段代码是不是相当于最简单的一个虚拟机了?下面来看JVM的总体结构
ClassLoader的作用是装载能被JVM识别的指令(当然不只是从磁盘文件或内存去装载) 那么我们先了解一下该格式
魔数以及版本就不说了(满大街的文件格式都是这个东西) 接着的便是常量池 其中无非是两种东西
Exceptions则非常简单
LineNumberTable保存了字节码和源码之间的关系 结构如下
LocalVariableTable描述了栈帧中局部变量表的变量和源代码中定义的变量之间的关系 结构如下
SourceFile指明了生成该Class文件的Java源码文件名(比如在一个Java文件中申明了很多类的时候会生成很多Class文件) 结构如下
Deprecated和Synthetic属性只存在 有 和 没有 的区别
这样默认的类会是有Application ClassLoader去加载类 然后如果发现要使用新的类型的时候则会递归地使用Application ClassLoader去加载(在前面的加载过程中提到) 这样 只有在自己的程序中能使用自己编写的ClassLoader去加载类 并且这个被加载的类是不能被别人使用的
双亲委派模式不是一个强制性的约束 而是Java设计者推荐给开发者的类加载实现方式 双亲委派模式出现过的 次 破坏加载完完成后 接下来就要看程序是怎么运行的 栈帧是用于支持虚拟机进行方法调用和执行 帧的意思就是一个单位 在调用其他方法的时候会向栈中压入栈帧 结构如下
在Class文件编译完成之后 在运行的时候需要多少个局部变量就已经确定(在前面Class文件中也已经看到过了) 那么这里需要注意这个特性可能会引发GC(具体如何引发就不在这里细说了) 在栈中 总是底层的栈去调用高层的栈(并且一定的相邻的) 那么他们在参数传递(返回结果)的时往往是通过将其压入操作数栈 有些虚拟机为了提高这部分的效率使得相邻栈帧 纠缠 在一起
cha138/Article/program/Java/hx/201311/26127
相关参考
JAVA虚拟机实例学习笔记二 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 数组 数组也是
深入Java虚拟机之内存优化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
深入Java虚拟机中的Stack和Heap 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在JV
全面介绍Xen虚拟机深入学习Xen新起点 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文主要
深究Java虚拟机 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!JVM:JavaVirtualMa
Java程序员的迷失—论“虚拟机” 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 虚拟机技术现在
发现Java虚拟机内存泄露问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!内存泄露问题对于程序来
降低Java虚拟机的风险 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 由于在微软的环境中使用J
Java虚拟机的垃圾收集算法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一标记清除算法(Ma
Java虚拟机概念及体系结构详述 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一什么是Java