
Java虚拟机
文章平均质量分 82
kkvveeerer
记录是最好的回忆!
展开
-
类加载机制
转载请注明出处:http://blog.youkuaiyun.com/kai_wei_zhang/article/details/82341461、预先加载:JRE运行的开始会将Java运行所需要的基本类采用预先加载的方法全部加载到内存,如JRE的rt.jar里面所有的.class文件2、类的生命周期:类从被加载到虚拟机内存开始,到卸载出内存为止,整个生命周期包括七个阶段加载——>验证——原创 2012-11-28 16:17:15 · 4496 阅读 · 1 评论 -
垃圾收集器
转载请注明出处:http://blog.youkuaiyun.com/kai_wei_zhang/article/details/82408521、判断对象是否“存活”的两种方式(1)引用计数算法给对象加一个引用计数器,有一个地方引用它则 +1 ,当引用失效则 -1,当为 0 时则该对象不再使用但是,这样的话会造成循环引用场景无法回收(2)根搜索算法通过一系列名为“GC Roo原创 2012-11-29 20:37:46 · 1961 阅读 · 0 评论 -
类执行机制
转载请注明出处:http://blog.youkuaiyun.com/kai_wei_zhang/article/details/82347611、字节码解释执行方式在源码编译阶段将源码编译为JVM字节码,JVM字节码是一种中间代码的方式,要由JVM在运行期对其进行解释并执行,这种称为字节码解释执行方式2、执行时的栈帧结构(每一个线程有一到多个栈帧)栈帧是用于支持虚拟机进行方法调用原创 2012-11-28 16:24:15 · 2399 阅读 · 0 评论 -
Java虚拟机内存管理
转载请注明出处:http://blog.youkuaiyun.com/kai_wei_zhang/article/details/8239092运行时数据区域(如图)1、对各内存空间的理解 (1)程序计数器(也叫PC寄存器)Program Counter是一块较小的内存空间,作用可以看成当前线程所执行的字节码的行号指示器(2)Java虚拟机栈虚拟机栈描述的是原创 2012-11-29 15:06:34 · 2528 阅读 · 0 评论 -
类加载器
转载请注明出处:http://blog.youkuaiyun.com/kai_wei_zhang/article/details/8234690类加载器1、Bootsrap ClassLoader 是Sun JDK采用C++实现的类,此类并非ClassLoader的子类,在代码中无法得到类对象,Sun JDK启动时会初始化此ClassLoader,并有ClassLoader完成$JAVA_原创 2012-11-28 15:22:12 · 3206 阅读 · 0 评论 -
类文件结构
转载请注明出处:http://blog.youkuaiyun.com/kai_wei_zhang/article/details/81831641、class文件是一组以8位字节为基础单位的二进制流2、class的结构不像xml等描述语言,由于它没有任何分隔符,故无论是顺序还是数量,都是被严格限定的,哪个字节代表什么含义,长度多少,先后顺序如何,都不允许改变3、各部分字节结构(只选取一小部原创 2012-11-14 15:51:15 · 1139 阅读 · 0 评论 -
对象访问分析
转载请注明出处: http://blog.youkuaiyun.com/kai_wei_zhang/article/details/8239537Object obj = new Object();“object obj"这部分的语义将会映射到Java(虚拟机)栈的本地变量表,作为一个reference类型数据出现而"new Object” 这部分的语义将反映到Java堆中,形成了一块原创 2012-11-29 16:58:03 · 3273 阅读 · 0 评论 -
Java源码编译过程
转载请注明出处:http://blog.youkuaiyun.com/kai_wei_zhang/article/details/8178174源代码(.java文件)--->分析(词法、语法分析)和填充符号表--->注解处理--->语义分析和字节码生成(.class文件)词法分析:将源代码转变成标记(Token)集合,标记是编译过程的最小元素。如 int a = b + 2; -原创 2012-11-13 13:31:32 · 2890 阅读 · 0 评论 -
Java内存模型与线程
1、衡量一个服务器性能的高低好坏,是每秒事务处理数,它代表着一秒内服务端平均能响应的请求总数。2、硬件中处理器、高速缓存、主内存间的交互关系3、Java内存模型中线程、主内存、工作内存三者的交互关系Java虚拟机规范中试图定义一种Java内存模型来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的并发效果。Java内存原创 2012-09-27 11:34:16 · 801 阅读 · 0 评论