JVM
文章平均质量分 82
life is ftc
会的越多,不会的越多!Life is Fantastic,愿我多年之后还是从前那个少年!
展开
-
重谈Java类加载机制
一、什么是类加载机制虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制二、类加载的步骤加载 通过全限定名获取定义此类的二进制字节流; 将字节流所代表的静态存储结构转化为方法区的运行时数据结构; 在内存中生成一个代表该类的Class对象; 连接 验证:确保Class文件的字节流中包含的信息符合《Java虚拟机规范》,文件格式验证、元数据验证、字节码验证、符号引用验证等;原创 2021-08-14 18:02:37 · 302 阅读 · 1 评论 -
JVM篇:垃圾收集器总结
太老的收集器就不做笔记了,想了解的可以看《深入理解JVM》只要有垃圾收集和用户线程并行的,就必须要考虑新对象创建的问题;三个重要指标:内存占用、吞吐量、延迟; 与CAP协议类似的,三者不可兼得。。。垃圾收集器追求的变化:之前追求一次把整个java堆清理干净; 从G1开始追求收集的速度赶上对象分配的速度;一、ParNew+CMSParNewSerial的多线程版本CMS初始标记:枚举根节点,stw 并发标记 重新标记:stw 并发清除缺点:无法处理浮动垃圾原创 2021-06-20 16:43:12 · 136 阅读 · 0 评论 -
Synchronized底层是如何实现的,锁升级过程
首先,其实我们在看博客或者看视频都可以学到这个知识点,但是还是强烈建议大家看书,然后针对某一个不理解的细节去针对性的看博客或者视频。一、Synchronized作用范围谷歌翻译是已同步的意思。是Java为了处理并发编程的一个关键字。代表多个线程需要争抢同一把锁,抢到了才能进行自己的工作。在Java中,任何对象都可以用作线程竞争的锁,这也能解释,为什么Object类中有wait,notify等方法了。可以作用在三个地方:作用在代码块,需要传入一个锁对象;此时锁住的是传入的对象; 作用在非静态原创 2020-08-23 22:59:45 · 292 阅读 · 0 评论 -
开启-XX:+PrintGCDetails,具体日志内容分析
看一段程序package day20200314;import java.lang.ref.SoftReference;/** * @Author: xiaoshijiu * @Date: 2020/3/14 * @Description: 分析GC打印的日志具体内容 */public class GCDetailsAnalyze { public static void main(String[] args) { SoftReference<byt转载 2020-07-17 09:35:00 · 1279 阅读 · 0 评论 -
浅谈String.intern()方法
非常好:https://blog.csdn.net/u011635492/article/details/81048150原创 2020-04-12 12:58:49 · 155 阅读 · 0 评论