代码改变世界

随笔分类 -  java jvm

一文看懂 JVM 内存布局及 GC 原理

2019-11-05 11:34 by Loull, 241 阅读, 收藏, 编辑
摘要: https://www.infoq.cn/article/3WyReTKqrHIvtw4frmr3 阅读全文

系统假死——系统频繁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为增加或改变... 阅读全文
点击右上角即可分享
微信分享提示