java
he523160876
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM回收方法区
很多人习惯称方法区为永久代(hotspot以永久代来实现方法区)java虚拟机规范中提到:可以不要求虚拟机在方法区实现垃圾收集。而且在方法区的垃圾回收“性价比”一般比较低。在堆中,尤其是在年轻的,一次垃圾回收一般可以回收70-95%的空间永久代的垃圾回收分为两部分内容:废弃常量、无用的类 回收常量与java堆的对象回收非常相似。“没有地方引用”类回收需要满足原创 2016-08-26 21:05:12 · 2298 阅读 · 0 评论 -
JVM参数详细列表
-client :设置JVM使用client模式,特点启动较快(神机不明显(I5/8G/SSD))-server :设置JVM使用server模式。64位JDK默认启动该模式-agentlib:libname[=options] :用于加载本地的lib-agentlib:hprof :用于获取JVM的运行情况-agentpath:pathnamep[=options] :加载制转载 2016-08-26 21:06:48 · 5474 阅读 · 0 评论 -
JVM垃圾收集器
HotSpot收集器一、Serial收集器特点:stop the world增是jdk1.3.1之前,新生代收集器的唯一选择,单线程处理,且要求所有用户线程都暂停。但是并不意味着其就是老而无用的,他也有着独特的优势,简单高效。他依然是在client模式下,新生代默认的收集器。因为其没有线程交互的开销,停顿时间完全可以控制在几十毫秒至一百毫秒二、ParNew收集器原创 2016-08-26 21:08:10 · 1229 阅读 · 0 评论 -
JVM垃圾回收算法
一、标记清除法顾名思义,分为标记和清除两个步骤。首先标记所有需要回收的对象,在标记后统一回收所有被标记的对象如下图,缺点有两个:效率问题,标记和清楚的效率都不高 空间问题:标记清楚之后产生大量不连续的空间二、复制算法直接按内存的容量,将内存空间一分为二,每次都只用其中的一半,另一半保留。放一块内存用完之后,直接将还存活的对象复制到另一块内存上,再把原来的空间原创 2016-08-26 21:10:03 · 609 阅读 · 0 评论 -
jvm GC回收算法
如何判断对象已死引用算法对对象中添加一个引用计数器,每当有一个地方引用它,引用计数器加1。任何时候对象的引用计数器为0,则表示对象不会再被使用,可以回收该部分内存弊端:若存在两个对象,A,B。A引用了B,B引用了A。导致的结果是AB的引用计数器永远不为0,永远无法回收根搜索算法(jvm使用的算法)通过名为“GC Roots”的对象作为起始点,想下搜索。搜索路径称原创 2016-08-26 21:17:13 · 851 阅读 · 0 评论 -
jvm内存分区
jvm内存分为以下几个区方法区与java堆一样,多线程共享。存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。方法区在JVM中也是一个非常重要的区域,它与堆一样,是被线程共享的区域。在方法区中,存储了每个类的信息(包括类的名称、方法信息、字段信息)、静态变量、常量以及编译器编译后的代码等。 在Class文件中除了类的字段、方法原创 2016-08-26 21:18:24 · 699 阅读 · 0 评论
分享