深入JVM内核
文章平均质量分 95
平凡之路无尽路
这个作者很懒,什么都没留下…
展开
-
JVM GC ROOT分析与垃圾收集器原理分析(四)
jvm垃圾收集算法与垃圾收集器详细分析以及对应性能优化原创 2023-06-28 22:52:44 · 2565 阅读 · 0 评论 -
JVM-java对象内存分布(二)
官网没事有找到这个说明,但是有一个点可以确定,上面这个叫做运行时状态,如果他不是运行时状态,那么他应该有真实物理内存分布。所以这个真正的内存模型的落地更愿意叫他jvm的内存模型。而这个内存模型的话按道理说,应该把上面五个部分统统给他落地。但是这个部分:jvm内存模型为什么没有,为什么大家没有去做讨论?我认为他是根据线程的生命周期是相关的,线程一定是在创建运行时才会去更多的去讨论他的。但是你的程序即使不运行起来,这两块区域他也是存在的。原创 2023-06-25 21:07:01 · 1054 阅读 · 0 评论 -
JVM-类加载与运行区详细分析(一)
比如我们现在要把生成的class文件通过类加载机制加载到jvm,那么如果使我们自己去实现这个类加载机制。那么我们会怎么去实现呢?其实就是类加载步骤。我们不管怎么做,其实他的第一步一定有一个操作:就是他先去找到class类文件的位置。不管你是在磁盘当中,还是网盘当中,还是数据库。所以第一步我认为他一定是先找到他,就是类文件的全路径。那么接下来找到之后干什么呢?找到之后不就是交给jvm吗。但是我们是如何去交的,那么他一定也有一个顺序的。比如从两个大的维度能看到的是。原创 2023-06-25 15:18:25 · 560 阅读 · 0 评论 -
JVM-jvisualvm性能监控可视化工具使用与eden-s0-s1分配分析(三)
jvisualvm内存,线程等监控可视化工具使用与eden、s0、s1分配分析原创 2023-06-27 23:04:44 · 2056 阅读 · 0 评论 -
深入理解Java 类加载全过程
这篇文章主要介绍了深入理解Java 类加载全过程的相关资料,需要的朋友可以参考下。一个java文件从被加载到被卸载这个生命过程,总共要经历4个阶段:加载->链接(验证+准备+解析)->初始化(使用前的准备)->使用->卸载其中加载(除了自定义加载)+链接的过程是完全由jvm负责的,什么时候要对类进行初始化工作(加载+链接在此之前已经完成了),jvm有严格的规定(...转载 2018-12-17 10:11:34 · 356 阅读 · 0 评论 -
Java并发编程:volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先...转载 2018-09-10 09:24:54 · 277 阅读 · 0 评论 -
深入JVM内核(十)——字节码执行
由于之前看的容易忘记,因此特记录下来,以便学习总结与更好理解,该系列博文也是第一次记录,所有有好多不完善之处请见谅与留言指出,如果有幸大家看到该博文,希望报以参考目的看浏览,如有错误之处,谢谢大家指出与留言。目录1、javap2、简单的字节码执行过程3、常用的字节码4、使用ASM生成Java字节码5、JIT及其相关参数6、总结—路漫漫其修远兮 吾将上下而求索1、ja...原创 2018-12-28 10:47:29 · 465 阅读 · 0 评论 -
深入JVM内核(八)——jvm锁与jvm锁优化
由于之前看的容易忘记,因此特记录下来,以便学习总结与更好理解,该系列博文也是第一次记录,所有有好多不完善之处请见谅与留言指出,如果有幸大家看到该博文,希望报以参考目的看浏览,如有错误之处,谢谢大家指出与留言。目录JVM内置锁一、线程安全二、对象头Mark三、偏向锁四、轻量级锁五、自旋锁六、偏向锁,轻量级锁,自旋锁总结锁优化方式一、减少锁持有时间二、减小锁...原创 2018-12-17 17:22:01 · 2208 阅读 · 0 评论 -
深入JVM内核(六)——类装载器
由于之前看的容易忘记,因此特记录下来,以便学习总结与更好理解,该系列博文也是第一次记录,所有有好多不完善之处请见谅与留言指出,如果有幸大家看到该博文,希望报以参考目的看浏览,如有错误之处,谢谢大家指出与留言。一、class装载验证流程1、加载2、链接 连接又可以分为三步: (1)、验证 (2)、准备 (3)、解析3、初始...原创 2018-09-09 13:46:28 · 277 阅读 · 0 评论 -
深入JVM内核(七)——性能监控工具
由于之前看的容易忘记,因此特记录下来,以便学习总结与更好理解,该系列博文也是第一次记录,所有有好多不完善之处请见谅与留言指出,如果有幸大家看到该博文,希望报以参考目的看浏览,如有错误之处,谢谢大家指出与留言。序言:系统性能监控 确定系统运行的整体状态,基本定位问题所在Java自带的工具 查看Java程序运行细节,进一步定位问题实战分析 案例...原创 2018-12-17 16:23:10 · 305 阅读 · 0 评论 -
深入JVM内核(五)——GC参数之垃圾收集器
由于之前看的容易忘记,因此特记录下来,以便学习总结与更好理解,该系列博文也是第一次记录,所有有好多不完善之处请见谅与留言指出,如果有幸大家看到该博文,希望报以参考目的看浏览,如有错误之处,谢谢大家指出与留言。一、堆的回顾前面有总结,一般堆分为两类:新生代和老年代,即:eden+s0+s1(新生代)与老年代;老年代存放的是老年对象,新生代存放的是新的对象;一般来说对象开始创建出来时绝大多...原创 2018-08-14 23:18:58 · 334 阅读 · 0 评论 -
深入JVM内核(二)——JVM运行机制
由于之前看的容易忘记,因此特记录下来,以便学习总结与更好理解,该系列博文也是第一次记录,所有有好多不完善之处请见谅与留言指出,如果有幸大家看到该博文,希望报以参考目的看浏览,如有错误之处,谢谢大家指出与留言。一、目录JVM启动流程JVM基本结构内存模型编译和解释运行的概念二、JVM启动流程jvm启动的时候一定是由java命令,或者javaw命令;java启动命令会跟一个...原创 2018-07-13 09:30:45 · 2267 阅读 · 0 评论 -
高并发的核心技术-幂等的实现方案
转载:https://blog.csdn.net/rdhj5566/article/details/50646599一、背景 我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。 例如: 1. 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果。 2. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱; 3. ...转载 2018-07-11 09:55:37 · 225 阅读 · 0 评论 -
深入JVM内核(四)——GC 算法与种类
由于之前看的容易忘记,因此特记录下来,以便学习总结与更好理解,该系列博文也是第一次记录,所有有好多不完善之处请见谅与留言指出,如果有幸大家看到该博文,希望报以参考目的看浏览,如有错误之处,谢谢大家指出与留言。一、GC的概念1、Garbage Collection 垃圾收集 这里的含义就是垃圾回收,所谓的垃圾,就是系统在运行当中,产生的无用的对象,那么他们是占据着一些内存空间的,长期占...原创 2018-07-22 19:47:00 · 329 阅读 · 0 评论 -
深入JVM内核(三)——常用JVM配置参数
由于之前看的容易忘记,因此特记录下来,以便学习总结与更好理解,该系列博文也是第一次记录,所有有好多不完善之处请见谅与留言指出,如果有幸大家看到该博文,希望报以参考目的看浏览,如有错误之处,谢谢大家指出与留言。一、常用JVM配置参数1、Trace跟踪参数2、堆的分配参数3、栈的分配参数二、Trace跟踪参数(主要是gc的跟踪)1、-verbose:gc 打开gc的...原创 2018-07-22 16:56:38 · 884 阅读 · 0 评论 -
深入JVM内核(一)——初始JVM
由于之前看的容易忘记,因此特记录下来,以便学习总结与更好理解,该系列博文也是第一次记录,所有有好多不完善之处请见谅与留言指出,如果有幸大家看到该博文,希望报以参考目的看浏览,如有错误之处,谢谢大家指出与留言。目录:JVM的概念JVM发展历史JVM种类Java语言规范JVM规范一、初识JVM – JVM概念1.JVM是Java Virtual Machine的简称。意为Java虚拟机2.虚拟机:指通...原创 2018-07-12 16:42:28 · 2870 阅读 · 2 评论