
JVM
文章平均质量分 79
JVM相关知识
懒虫虫~
无论人生上到哪一层台阶,阶下有人在仰望你,阶上亦有人在俯视你。你抬头自卑,低头自得,唯有平视,才能看见真实的自己!
展开
-
JVM几种回收算法 CMS与G1的区别
JVM几种回收算法 CMS与G1的区别一、JVM回收算法二、CMS和G1的区别 一、JVM回收算法 Java应用程序不用程序员手动管理内存中的垃圾回收,是因为JVM有专门的垃圾回收线程做这件事。当内存不够用时,会自动触发回收。为了在效率和内存碎片之间均衡,衍生出了一系列的垃圾回收算法。 1.标记–清除算法 执行步骤: 标记:遍历整个内存区域,对需要回收的对象打上标记。 清除:再次遍历内存,对标记过的内存进行回收。 图解: 缺点: 效率问题;遍历了两次内存空间(第一次标记,第二次清除)。 空间问题:容易产转载 2021-11-17 19:15:00 · 1163 阅读 · 0 评论 -
Java内存模型(JMM,Java Memory Model)之可见性
1:JMM内存模型 JMM,是一种规范,描述了Java程序中各种变量(线程共享变量)的访问规则,以及在JVM中将变量存储到内存和从内存中读取出变量这样的底层细节。 所有的变量都存储在主内存中,每个线程都有自己独立的工作内存,里面保存该线程使用到的变量的副本(主内存中该变量的一份拷贝)。 线程对共享变量的所有操作都必须在自己的工作内存,不能直接从相互内存中读写也不能从主内存中操作,线程间变量值得传递需要通过主内存来完成。 2:可见性 可见性:一个线程对共享变量的修改,能够及时的被其他线程看到。 共享变量:如转载 2021-08-21 12:01:25 · 357 阅读 · 0 评论 -
JVM标配、X和XX参数
一、JVM的参数类型 (注意本文通过IDEA的Terminal窗口进行演示说明) 1:标配参数 java -version java -help java -showversion 2:X参数 -Xint 解释执行 -Xcomp 第一次使用就编译成本地代码(先编译) -Xmixed 混合模式(先编译后执行,java默认就是混合模式) 3:XX参数 3.1 Boolean类型XX参数 公式:-XX:+ 或者-XX:- 某个属性值(+表示开启,-表示关闭) 案例: 1)是否打印GC收集细节原创 2021-05-12 23:26:24 · 1454 阅读 · 6 评论 -
JVM垃圾回收的时候如何确定垃圾?谈谈你对GC Roots的理解?
一、什么是垃圾 1.垃圾 内存中已经不再被使用的空间,就是垃圾。例如一个对象指向为null了User user = null,那么就可以将user 对象进行回收。 二、如何判断一个对象是否可以被回收 2.1引用计数法 给对象中添加一个引用计数器,每当有一个地方引用他时,计数器值就+1,;当引用失效时,计数器值就-1;任何时刻计数器为0的对象就是不可能在被使用。 容易引起循环引用问题,造成内存泄漏。 2.2可达性分析法 通过一系列名为”GC Roots“的对象作为起始点,向下搜索,如果一个对象到GC Root原创 2021-05-12 22:38:38 · 204 阅读 · 3 评论 -
JVM内存结构
JVM内存结构布局原创 2020-08-19 21:01:29 · 1582 阅读 · 0 评论