zoukankan      html  css  js  c++  java
  • 面试随笔-01

    1、synchronized与lock的区别,使用场景。看过synchronized的源码没


    2、JVM自动内存管理,Minor GC与Full GC的触发机制


    3、了解过JVM调优没,基本思路是什么?

      如果CPU使用率较高,GC频繁且GC时间长,可能就需要JVM调优了。基本思路就是让每一次GC都回收尽可能多的对象,

      对于CMS来说,要合理设置年轻代和年老代的大小。该如何确定它们的大小呢?这是一个迭代的过程,可以先采用JVM的默认值,然后通过压测分析GC日志。

      如果看年轻代的内存使用率处在高位,导致频繁的Minor GC,而频繁GC的效率又不高,说明对象没那么快能被回收,这时年轻代可以适当调大一点。

      如果看年老代的内存使用率处在高位,导致频繁的Full GC,这样分两种情况:

        1. 如果每次Full GC后老年代的内存占用率没有下来,可以怀疑是内存泄漏;

        2. 如果Full GC后老年代的内存占用率下来了,说明不是内存泄漏,要考虑调大年老代。

      对于G1收集器来说,可以适当调大Java堆,因为G1收集器采用了局部区域收集策略,单次垃圾收集的时间可控,可以管理较大的Java堆。

  • 相关阅读:
    linux安装memcache及memcache扩展
    jsop
    用户权限集中管理方案
    linux系统优化配置
    APICloud
    laravel中使用mgirations创建和迁移数据库
    无限分类
    laravel中的验证及利用uploadify上传图片
    Laravel框架数据库CURD操作、连贯操作使用方法
    php 将二维数组批量插入到数据库中
  • 原文地址:https://www.cnblogs.com/liang1101/p/12753022.html
Copyright © 2011-2022 走看看