jvm
文章平均质量分 80
XiuGitHung
这个作者很懒,什么都没留下…
展开
-
Java中String作为参数传递的坑
String作为参数传递的坑原创 2022-08-18 17:20:56 · 1114 阅读 · 1 评论 -
Java垃圾回收器详解
垃圾回收器类型本文涉及的垃圾回收器主要有以下的四种:串行垃圾回收器吞吐量优先的垃圾回收器响应时间优先的垃圾回收器G1垃圾回收器JDK8默认使用的是吞吐量优先的垃圾回收器,JDK9默认使用的是G1垃圾回收器串行垃圾回收器特点单线程(仅仅指垃圾回收线程,用户线程可以是多个的)堆内存较少,适合个人电脑相关的VM参数-XX:+UseSerialGC 开启串行垃圾回收器工作流程串行垃圾回收器的工作分为了两个部分,分别称为Serial和SerialOld。Seria原创 2021-06-30 10:49:19 · 2478 阅读 · 0 评论 -
Java垃圾回收机制详解
垃圾回收什么对象可以回收?判断一个对象是否可以被垃圾回收有两个常见方法:引用计数法可达性分析法引用计数法缺点比较明显,容易引起内存泄漏,所以jvm采取的是可达性分析法。可达性分析法扫描堆内存的所有对象是否被根对象引用(是否能够沿着GC Root对象为起点的引用链找到该对象),如果没有被引用,则可以被垃圾回收。GC Root对象(引用对象并非引用变量)有以下五类:虚拟机栈中局部变量表引用的对象(活动线程中局部变量引用的对象)方法区中类静态属性引用和常量引用对象本地方法栈中原创 2021-06-28 23:24:17 · 175 阅读 · 0 评论 -
Java中StringTable的理解
StringTable定义俗称串池,用于存储字符串类型的引用。存储位置JDK1.6的时候存储在永久代的常量池中,JDK1.8为了提高回收效率,把StringTable存放在堆中。结构存储结构为HashTable,也就是数组+链表的形式,不允许扩容。使用Hash值来确定元素应该放在数组的哪一个位置,当Hash值相同时称为哈希冲突,这时首先判断hash值相同的元素是否相同,如果是的话拒绝插入,如果不是的话则会在链表中插入元素。特性字符串会延迟加载,执行到该代码的时候才会加载到Str原创 2021-06-27 17:59:32 · 638 阅读 · 0 评论 -
Java8内存结构组成与分析
Java8内存结构图内存组成程序计数器虚拟机栈本地方法栈堆方法区程序计数器原创 2021-06-27 15:15:20 · 341 阅读 · 0 评论 -
JVM类加载器命名空间的详细总结
类加载器的命名空间本文的父子加载器不代表有继承关系,仅仅只是一种上下级的表达。命名空间的概念每个类加载器都有各自的命名空间,命名空间由该加载器及所有父加载器所加载的类组成在同一个命名空间中,不会出现全限定类名相同的两个Class对象在不同的命名空间中,可以出现全限定类名相同的两个Class对象父加载器加载的类对其子加载器可见,子加载器加载的类对其父加载器不可见如果两个加载器之间没有直接或间接父子的关系,那么它们各自加载的类相互不可见案例验证1.定义一个Student类,里面有一个Stu原创 2021-06-02 19:47:19 · 359 阅读 · 2 评论