摘要:
https://www.infoq.cn/article/3WyReTKqrHIvtw4frmr3 阅读全文
随笔分类 - java jvm
系统假死——系统频繁Full gc问题分析
2017-04-17 11:49 by Loull, 1259 阅读, 收藏, 编辑
摘要:
主要可能的原因: 1,eden区太小,eden和survivor默认比例是8:12,old区太小,新生代和老年代的比例也可以调节的。3,是否程序会分配很多短期存活的大对象,程序本身是否有问题? 进入老年区的影响因素不只是一个survivor啊。还有对象大小,存活次数,新生区老年区大小等因素。单纯改s 阅读全文
关于Thread.getContextClassLoader的使用场景问题
2015-12-22 15:39 by Loull, 2136 阅读, 收藏, 编辑
摘要:
Thread context class loader存在的目的主要是为了解决parent delegation机制下无法干净的解决的问题。假如有下述委派链:ClassLoader A -> System class loader -> Extension class loader -> Boots... 阅读全文
翻译:走出类加载器迷宫
2015-12-22 15:38 by Loull, 358 阅读, 收藏, 编辑
摘要:
这是前几天在看类加载器机制时搜到的一篇旧文,网上搜了搜相应的中文资料,感觉很多意思没有翻译出来,这两天我试着自己翻译了一下,供同道参考。英文文章地址:Find a way out of the ClassLoader maze走出类加载器迷宫(本人翻译,转载请注明出处)系统类加载器,当前类加载器,上... 阅读全文
【转】JVM类装载机制的解析,热更新的探讨(二)
2014-08-25 18:20 by Loull, 363 阅读, 收藏, 编辑
摘要:
同样,一个Class对象必须知道自己的超类、超级接口。因此,Class对象会引用自己的超类和超级接口的Class对象。这种引用一定是实例引用。(实际上,超类、超级接口的引用也存储在常量池中,但为了区分依赖类的引用,将它特殊表述一下。)因此,我暂且得到两条结论。结论一:持有一个Class对象的引用,则... 阅读全文
【转】JVM类装载机制的解析,热更新的探讨
2014-08-25 18:18 by Loull, 701 阅读, 收藏, 编辑
摘要:
引言如有错误,请批评指正。Java是一种动态连接的语言。所谓动态连接,大概可以这么解释。首先,Java可以大概想象成是编译解释执行的。对于一个*.java的文件,通过javac将会编译成一个*.class文件。而JVM会解释执行*.class文件。但一个软件不可能只有一个class文件,一个项目往往... 阅读全文
同一个主机上的JVM实例之间通信
2014-08-15 21:47 by Loull, 1424 阅读, 收藏, 编辑
摘要:
hadoop yarn里用了RPC调用。NM里面文件本地化类ContainerLocalizer用RPC心跳方式跟本机的ResourceLocalizationService通信。用shared memory还要调到native层去,不知道会不会比tcp/ip快?可以用文件,考虑锁的问题。但是文件貌... 阅读全文
JVM介绍
2014-08-15 21:20 by Loull, 713 阅读, 收藏, 编辑
摘要:
1. 什么是JVM?JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JV... 阅读全文
Java垃圾回收(java GC)
2014-07-26 14:25 by Loull, 324 阅读, 收藏, 编辑
摘要:
一、GC的阶段对每个对象而言,垃圾回收分为两个阶段:finalization和reclamation。finalization: 指运行这个对象的finalize的方法。reclamation: 回收被这个对象使用的内存。二、GC的过程的基本步骤首先确认对象是不可达的,即将被回收。其次,如果对象有f... 阅读全文
JVM相关文章和GC原理算法
2014-07-26 14:13 by Loull, 228 阅读, 收藏, 编辑
摘要:
参考推荐:Java内存模型及GC原理一个优秀的Java程序员必须了解的GC机制Android 智能指针原理(推荐)Java虚拟机规范Java虚拟机参数Java内存模型Java系列教程(推荐)Java垃圾回收原理(360doc)Java内存模型及GC原理(图解)Java的内存结构和垃圾收集(图解)JD... 阅读全文
【转】JDK5.0中JVM堆模型、GC垃圾收集详细解析
2014-07-26 14:10 by Loull, 211 阅读, 收藏, 编辑
摘要:
基本概念堆/HeapJVM管理的内存叫堆;在32Bit操作系统上有4G的限制,一般来说Windows下为2G,而Linux下为3G;64Bit的就没有这个限制。JVM初始分配的内存由-Xms指定,默认是物理内存的1/64但小于1G。JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4但小于1G... 阅读全文
JVM内存模型
2014-07-26 12:07 by Loull, 243 阅读, 收藏, 编辑
摘要:
基于Sun HotSpot JVM直接上图:从图中看到,JVM内存分为两个主要区域,一个是所有线程共享的数据区,一个是线程隔离数据区(线程私有)线程隔离数据区程序计数器(Program Counter Register):一小块内存空间,单前线程所执行的字节码行号指示器。字节码解释器工作时,通过改变... 阅读全文
Java堆
2014-03-17 14:09 by Loull, 306 阅读, 收藏, 编辑
摘要:
1. Java堆的内存是由操作系统分配给JVM的内存部分。2. Java的对象是在堆中创建3. Java堆空间为了垃圾回收分为三个区域或代,叫做新代,年老代和永久代。在Hotspot JVM中永久代在full gc时被垃圾回收。4. 您可以使用JVM命令行选项-XMS,-Xmx和-Xmn为增加或改变... 阅读全文