Java虚拟机学习摘要
来源:互联网 发布:淘宝产品视频制作价格 编辑:程序博客网 时间:2024/06/05 20:16
按照《深入理解JAVA虚拟机》中间的原理,讲虚拟机记载一个类的而整个过程理解记录了下,一共分为7个过程,从加载到最终的卸载:
其中,加载、验证、准备、初始化和卸载是按照顺序确定的,但是其它就不一定了。
关于加载,想从几个方面说下:
- when?
何时加载一个类,虚拟机的规范中没有说明,该书中换了一个角度,从虚拟机初始化的条件来讲虚拟机加载类的时间。Java虚拟机规范中,规定了虚拟机初始化类的5中条件:
0).遇到new、getstatic、pustatic或者invokestatic 这四个指令的时候。
1).使用java.lang.refect对类进行反射调用的时候。
2).初始化一个类的时,会触犯其父类初始化。
3).虚拟机启动时候的包含main方案的类。
4).当使用JDK1.7的动态语言支持时,如果一个java.lang.invoke.MethondHandle 实例最后的解析结果REF_getstatic、REF_putStatic、REF_invokeStatic的方法句柄,并且这个方法句柄所对应的类没有经过初始化,则先必须进行初始化。 - where?
通过类的一个全限名来获取定义次类的二进制字节流。
因为获取到的类只是说明字节流中获取,那么其实没有限定从文件中获取。所以获取的来源很广:1、从class文件。2、zip、jar、war等类型的压缩文件。3、网络从获取。4、动态代理技术。5、其它文件,例如JSP。5、从其它地方获取。- who?
-
0 0
- Java虚拟机学习摘要
- Java 虚拟机底层结构详解摘要
- 《深入理解Java虚拟机》读书摘要
- 深入理解java虚拟机 摘要(一)
- java IO流学习摘要
- effect java 学习摘要(1)
- effect java 学习摘要(2)
- effect java 学习摘要(3)
- effect java 学习摘要(4)
- effect java 学习摘要(5)
- effect java 学习摘要(6)
- effect java 学习摘要(7)
- effect java 学习摘要(8)
- effect java 学习摘要(9)
- 【Java虚拟机结构(第1部分)数据类型】摘要
- 深入理解java虚拟机阅读后精华摘要
- Java-学习-Java虚拟机
- 学习笔记摘要 JAVA基础不行
- Android 中Handler可能引起的内存泄露
- 解决Oracle ORA-12505, TNS:listener does not currently know of SID given in connect
- javascript eval和JSON之间的联系
- 专注
- extern "C"的用法解析
- Java虚拟机学习摘要
- 手把手教你使用start uml画类图
- 为什么这样能够防止头文件重复调用?
- Linux内核分析(三)内核启动过程分析——构造一个简单的Linux系统
- "Shortest" pair of paths - POJ 3068 费用流
- Android进程与线程基本知识
- 数据结构学习第二课2
- HTML第九节(css样式基本知识)
- php优化技巧