
JVM
文章平均质量分 83
LiQiyaoo
技术改变生活。
展开
-
Java虚拟机学习之Java内存区域篇
一、运行时数据区域(图片来自网络)上图是Java运行时内存区域模型,这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。二、程序计数器程序计数器是线程私有的,每个线程独立存储,是所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。如果线程正原创 2018-01-25 12:50:27 · 304 阅读 · 0 评论 -
Java虚拟机学习之垃圾收集器
一、为什么要学习GC技术垃圾收集也称GC,是Java内存动态分配和回收背后的关键技术,有了垃圾收集器,Java程序员就与C++程序员有了巨大的区别,C++程序员需要谨慎的申请和释放内存,而Java程序员就不需要那么辛苦了,但是我们还是需要了解GC技术,当我们需要排除各种内存溢出,内存泄漏问题时,我们就需要对这些自动化技术实施必要的监控和调节。二、判断对象原创 2018-01-27 17:34:13 · 376 阅读 · 0 评论 -
Java虚拟机学习之类文件结构
一、语言无关性与平台无关性语言无关性:Java虚拟机上运行的是Class文件(字节码文件*.class),而Class文件不一定由Java程序编译而来,JRuby经过jrubyc编译器编译生成的是Class文件,Groovy程序经过groovyc编译器编译后生成的也是class文件,都可在虚拟机上运行,虚拟机不关心Class的来源是何种语言。平台无关性:一次编写,到处运行,各种不同平台的虚拟机与所...原创 2018-01-29 14:12:45 · 336 阅读 · 0 评论 -
Java虚拟机学习之类加载机制将
一、什么是类的加载机制1、虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。2、类的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类加载时稍微增加一些性能开销,但是会为Java应用程序提供高灵活性。3、Java里天生可以动态扩展的语言特性就是依赖云溪区动态加载和动态链接这个特点实现的。例如编原创 2018-01-30 14:58:19 · 291 阅读 · 0 评论