
JVM
夜夜叶烨
业精于勤荒于嬉
展开
-
Java内存区域
Java虚拟机运行时数据区域1、程序计数器(线程私有) 可以看做是当前线程所执行的字节码的行号指示器。通过改变这个计数器的值来选取下一条需要执行的字节码指令。 任何一个确定的时刻,一个处理器只能执行一条线程的指令。为了线程切换后能恢复到正确的执行位置。每条线程都需要有独立的程序计数器。 该区域没有任何OutOfMemoryError.2、Java虚拟机栈(线程私有) 每个方...原创 2018-06-14 14:14:58 · 169 阅读 · 0 评论 -
垃圾收集算法
垃圾回收针对的是Java堆和方法区。1、标记-清除算法 算法分“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。2、复制算法3、标记-整理算法4、分代收集算法...原创 2018-06-14 17:30:02 · 108 阅读 · 0 评论 -
判断对象已死以及引用
1、引用计数算法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1,;当引用失效时,计数器值就减1;任何计数器为0的对象就是不可能再被引用的。 缺陷:A引用B,B引用A,但其他地方对A和B并无引用,通过引用计数算法无法通知GC收集器收回它们。2、可达性分析算法 通过一系列称为“GC Roots”的对象作为起始点,从这些节点向下搜索,搜索所走过的路径称为引用链。当...原创 2018-06-15 16:28:48 · 270 阅读 · 0 评论 -
垃圾收集器
-Xms256M -Xmx1024M -XX:PermSize=64M -XX:MaxPermSize=128M1、serial收集器 单线程收集器,它进行垃圾收集时必须暂停其他所有的工作线程。 适用于运行在client模式下的虚拟机2、parnew收集器 serial收集器的多线程版本。运行在server端的虚拟机首选的新生代收集器(可以与CMS收集器配合工作)3、parall...原创 2018-06-15 17:40:05 · 140 阅读 · 0 评论 -
jdk命令行工具
Java\jdk1.8.0_66\bin下的命令1、jps:虚拟机进程状况工具2、jstat:虚拟机统计信息监控工具3、jinfo:Java配置信息工具4、jmap:Java内存映像工具5、jhat:虚拟机堆转储快照分析工具6、jstack:Java堆栈跟踪工具7、hsdis:jit衍生成代码反汇编...原创 2018-06-15 17:58:00 · 207 阅读 · 0 评论 -
java中会存在内存泄漏吗
内存泄漏是指不再被使用的对象或者变量一直被占据在内存中。但是java中有垃圾回收机制,它能够将不再被使用的对象,自动从内存中清除。即使这样,java中也存在着内存泄漏的情况: 一:当长生命周期的对象持有短生命周期的对象的引用,就很可能发生内存泄漏。尽管短生命周期的对象已经不再需要,但是长生命周期的对象一直持有它的引用导致其无法被回收。例如,缓存系统;加载一个对象放在缓存系统中,...转载 2018-08-27 10:21:13 · 493 阅读 · 0 评论