jvm机理
jvm机理 jvm虚拟机 1.java虚拟机概述和基本概念 2.堆、栈、方法区 3.了解虚拟机参数 4.垃圾回收概念和算法、及对象分带转换 5.垃圾收集器 6.tomcat性能影响实验 7.性能监控工具 系统虚拟机和程序虚拟机 VMare属于系统虚拟机 jvm属于程序虚拟机 方法区:就是存放类信息、常量信息、常量池信息、包括字符串字面量和数字常量等。 java堆...
jvm机理 jvm虚拟机 1.java虚拟机概述和基本概念 2.堆、栈、方法区 3.了解虚拟机参数 4.垃圾回收概念和算法、及对象分带转换 5.垃圾收集器 6.tomcat性能影响实验 7.性能监控工具 系统虚拟机和程序虚拟机 VMare属于系统虚拟机 jvm属于程序虚拟机 方法区:就是存放类信息、常量信息、常量池信息、包括字符串字面量和数字常量等。 java堆...
JVM常用的垃圾回收算法 常用的GC算法 MarkSweep 标记清除算法 标记阶段:把垃圾内存标记出来清除阶段:直接将垃圾内存回收这种算法是比较简单的,但是会产生大量的内存碎片,可能导致大对象无法分配,并带来GC问题。 Copying 拷贝算法 将内存分为大小相等的两半,每次只使用其中一半。垃圾回收时,将当前这一块中存活的对象复制到另一半中,并将这一半全部清空。 没有内存碎...
JVM对象创建与内存分配机制 对象的创建 1 类加载检查 2 分配内存 3 初始化 4 设置对象头 5 执行方法 什么是java对象的指针压缩 为什么要用指针压缩
JVM内置调优工具 jdk自带有很多命令来优化应用 Jmap 用来查看内存信息,实例个数以及占用内存大小 jmap -histo 14660 > ./log.txt 打开log.txt,文件内容如下: num::序号 instances:实例数量 bytes:占用空间大小 class name:类名称,[C表示char[],[S表示short[],[I...
JVM中的三色标记法 三色标记法是一种垃圾回收法,它可以让JVM不发生或仅短时间发生STW, 从而达到清除JVM内存垃圾的目的. JVM中的CMS, G1垃圾回收器所使用的垃圾回收算法即为三色标记法. 算法思想 三色标记法将对象的颜色分为了黑, 灰, 白 三种颜色 白色: 该对象没有被标记过(垃圾对象) 灰色: 该对象已经被标记过了, 但该对象下的属性没有全被标记完. (GC需要从...
Java运行参数 https://blog.csdn.net/a503921892/article/details/39048889 年轻代 年老代概念 http://jefferent.iteye.com/blog/1123677 JVM的堆的内存, 是通过下面面两个参数控制的 Xms 最小堆的大小, 也就是当你的虚拟机启动后, 就会分配这么大的堆内存给你 Xmx 是最大...
背景 文档的背景信息、目标和范围 分析 调研结果、数据洞察和关键考虑因素 建议 建议的解决方案、策略和后续步骤 实施 待办事项、时间轴和资源要求
GC Root如何确定一个对象是不是垃圾 有两种定位垃圾的方式 引用计数 这种方式是给堆内存当中的每个对象记录一个引用个数。引用个数为0的就认为是垃圾。这时早期JDK中使用的方式。引用计数无法解决循环引用的问题。 循环引用 有A、B两个对象,它们之间互相引用,但除此之外,外部并无其他引用,因此GC时不会清理这俩个对象,因此会产生内存泄露 根可达算法 这种方式是在内存中,从引用根...
https://www.iocoder.cn/JUC/sike/volatile/ 通过前面一章,我们了解了 synchronized 是一个重量级的锁,虽然 JVM 对它做了很多优化。而下面介绍的 volatile ,则是轻量级的 synchronized ,它在多线程开发中保证了共享变量的“可见性”。如果一个变量使用 volatile ,则它比使用 synchronized 的成本更加...
https://www.iocoder.cn/JUC/sike/synchronized/ 记得刚刚开始学习 Java 的时候,一遇到多线程情况就是 synchronized ,相对于当时的我们来说 synchronized 是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。 但是,随着我们学习的进行我们知道 synchronized ...