
JVM虚拟机
文章平均质量分 83
k829593756
这个作者很懒,什么都没留下…
展开
-
深入理解JVM虚拟机 第七章笔记 虚拟机类加载机制
与那些在编译时需要进行连接工作的语言不同,在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类加载时稍微增加一些性能开销,但是会为Java应用程序提供高度的灵活性,Java里天生可以动态扩展的语言特性就是依赖运行期动态加载和动态连接这个特点实现的。7.2 类加载的时机类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、(验证、准备、解...原创 2018-02-23 17:02:21 · 198 阅读 · 0 评论 -
深入理解JVM虚拟机 第三章笔记 垃圾收集器和内存分配策略
哪些内存需要回收GC主要需要回收的是java 堆 和 方法区的内存。什么时候回收?(对象是否存活(是否被引用))引用计数器法:算法是这样的:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。但是主流并未使用,因为它很难解决对象之间的相互循环引用。可达性分析算法:通过一系列的称为“GC Roots”的对象作...原创 2018-02-23 16:28:52 · 236 阅读 · 0 评论 -
深入理解JVM虚拟机 第二章笔记 Java内存区域与内存溢出异常
Sun官方所定义的Java技术体系包括以下几个组成部分:Java程序设计语言各种硬件平台上的Java虚拟机Class文件格式Java API类库来自商业机构和开源社区的第三方Java类库我们可以把Java程序设计语言、Java虚拟机、Java API类库这三部分统称为JDK,JDK是用于支持Java程序开发的最小环境。Java API类库中的JavaSE API子集 和Java虚拟机这两部分...原创 2018-02-23 15:24:15 · 208 阅读 · 0 评论 -
永久带和元数据区
G1垃圾收集器,永久带和元数据区我们收到了一些围绕G1垃圾收集器和使用永久带的一些问题。当G1作为垃圾收集器的时候,hotspot JVM并没有使用永久带,这看上起可能有点迷惑。下面是一些澄清:JDK7:永久带JDK7和它的更新中仍然存在永久带,所有的垃圾收集器都在使用。在JDK7里面,开始进行去掉永久带的努力,永久带中的一些数据已经被转移到java堆或者是native堆中了。但是,永久带并没有完...转载 2018-02-24 18:17:43 · 1569 阅读 · 0 评论