随笔分类 - jvm
摘要:前言 今天碰到一个synchronized锁升级的问题, 查了查, 发现一个帖子举例说明比较贴切, 特此转发, 如有问题, 欢迎讨论说明 转自: 木叶盒子 https://www.bilibili.com/read/cv15920091/ java提供两种锁:lock和synchronized,关于
阅读全文
摘要:JVM 类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程: 加载: 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class 对象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个Class 文件获取,这里
阅读全文
摘要:垃圾回收与算法: 如何确定垃圾-引用计数法: 在Java 中,引用和对象是有关联的。如果要操作对象则必须用引用进行。因此,很显然一个简单的办法是通过引用计数来判断一个对象是否可以回收。 简单说,即一个对象如果没有任何与之关联的引用,即他们的引用计数都为0,则说明对象不太可能再被用到, 那么这个对象就
阅读全文
摘要:JVM运行时内存: Java 堆从GC 的角度还可以细分为: 新生代(Eden 区、From Survivor 区和To Survivor 区)和老年代。 新生代: 是用来存放新生的对象。一般占据堆的1/3 空间。由于频繁创建对象,所以新生代会频繁触发MinorGC 进行垃圾回收。 新生代又分为 E
阅读全文
摘要:注意: GC:垃圾收集器 Minor GC:新生代GC,指发生在新生代的垃圾收集动作 Major GC/Full GC:老年代GC,指发生在老年代的GC。 JVM:Java Virtual Machine(Java虚拟机)的缩写。 基本概念: JVM是可运行Java 代码的假想计算机 ,包括一套字节
阅读全文
摘要:之前一篇文章(jvm-垃圾回收之垃圾标记算法)中介绍了标记阶段的算法,这篇文章将介绍清除阶段的算法。常见的大概有三种算法:标记-清除、复制、标记-压缩算法,下面将一一介绍这三种算法。 参考自: 微信公众号 "菜鸟飞呀飞" 1.标记-清除(Mark-Sweep)算法 标记-清除算法是最早出现也是最基础
阅读全文
摘要:作为 Java 开发人员, 因为 JVM 的存在, Java 开发人员不需要像 C 或者 C++开发人员那样需要手动申请内存、释放内存,这些资源申请、垃圾回收的操作,JVM 底层直接帮助我们全干了。 参考自: 微信"菜鸟飞呀飞", 微信号"tiantang-2013" 垃圾回收 在 JVM 中,虚拟
阅读全文