随笔分类 - JVM
摘要:上周面试了一周,感触颇深,总结一下。 面试了公司大概有阿里,携程,爱奇艺,唯品会,途牛,bilibili,大众点评,阿里和爱奇艺是电话面试,其他现场面试。 首先,五年左右,应该算高级开发工程师,大部分面试不用去做题,背string和stringbuilder区别的,几乎都是底层和远离,分布式等。虽然
        阅读全文
                
摘要:Java对象的回收是有依据的,普通的方式是计算法,比如被引用,对象计数器➕1,不被引用,➖1,回收的时候,发现是0则清除,但是不能解决两个对象互相被引用的情况,Java采用可达性分析,通过某个对象作为root根,向下访问,被有效的对象都在作用链,则不会被回收。说的很抽象,说下我的理解,公司开会,员工
        阅读全文
                
摘要:jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈
        阅读全文
                
摘要:JVM调优主要是针对内存管理方面的调优,包括控制各个代的大小,GC策略。由于GC开始垃圾回收时会挂起应用线程,严重影响了性能,调优的目是为了尽量降低GC所导致的应用线程暂停时间、 减少Full GC次数 最关键参数:-Xms、 -Xmx 、-Xmn 、-XX:SurvivorRatio、-XX:Ma
        阅读全文
                
摘要:java内存模型有堆内存和栈内存, 初学者可能看官方解释很模糊 堆:new 出来的对象或者数组都存放在堆中; List <String> list =new ArrayList<String>();此时这个List 对象就放在堆中。 栈:在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈
        阅读全文
                
摘要:JVM内存,由三个部分构成 年轻代+老年代+永久代; 需要调试的是年轻代和老年代 的参数; 先解释几个JVM参数: -XMx : 最大可用内存; -Xms:初始化内存; -xss: 线程栈 的大小; -xmn: 年轻带的大小; -XX:NewRatio=4 年轻代和老年代的比值 ,这类是4:1 ,年
        阅读全文
                
摘要:前言:垃圾回收 和内存分配是jvm中重要的两个部分,这个笔记,记载的是JVM的内存分配策略。 1、对象优先在新生代的Edon区分配。 2、大对象直接进入老年代。 3、长期存活的对象进入老年代。
        阅读全文
                
摘要:前言:作为学习java虚拟机的基础,垃圾算法必须了解其实现原理。 1、标记-清除算法 ,最基础的算法,之所以说基础,所有的算法是在它基础上改进,它分为标记和清楚两个部分,首先标记,对所有的可回收对象标记一下,然后回收 。 两个步骤效率都很低。最大的缺点是。清除后产生很多不连续的碎片,如果一个大对象,
        阅读全文
                
摘要:jdk 1.2 出现了对象引用的区别,有以下四种; 1、强引用 ,这种即使抛出内存溢出也不会回收; 2、软引用,一旦内存满就会被回收; 3、弱引用,下次回收必须被回收; 4、虚引用,最低的引用。无法通过虚引用获得一个对象的实例。
        阅读全文
                
 
                     
                    
                 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号