每日一问
未读
【每日一问】请说一说CPU过高的排查思路
每日一问
未读
【每日一问】说一说ZGC的GC触发机制?
每日一问
未读
【每日一问】什么情况下会发生Full GC?
什么情况下会发生Full GC?(1)System.gc()方法的调用此方法的调用是建议JVM进行Full GC,虽然只是建议而非一定,但很多情况下它会触发 Full GC,从而增加Full GC的频率,也即增加了间歇性停顿的次数。强烈影响系建议能不使用此方法就别使用,让虚拟机自己去管理它的内存,可
每日一问
未读
【每日一问】如何排查内存泄漏?
如果观察一个系统,每次进行 FullGC 发现堆空间回收的比例比较小,尤其是老年代,同时对象越来越多,这个时候可 以判断是有可能发生内存泄漏.如何排查:使用jps查看虚拟机进程;使用jstat -gcutil [pid] [interval]命令查看gc回收情况;使用轻量级在线分析工具 jmap-h
每日一问
未读
【每日一问】说说JAVA形成死锁的条件以及如何排查死锁?
java 死锁产生的四个必要条件互斥使用,即当资源被一个线程使用(占有)时,别的线程不能使用不可抢占,资源请求者不能强制从资源占有者手中夺取资源,资源只能由资源占有者主动释放。请求和保持,即当资源请求者在请求其他的资源的同时保持对原有资源的占有。循环等待,即存在一个等待队列:P1占有P2的资源,P2
每日一问
未读
【每日一问】什么场景适合使用G1垃圾收集器?
每日一问
未读
【每日一问】G1相对于CMS以及之前的一些垃圾收集器来说,为什么它对大内存的处理能力更强
G1相对于CMS以及之前的一些垃圾收集器来说,为什么它对大内存的处理能力更强?大内存的堆一次回收耗费时间可能很长,导致STW时间也会很长,G1提供可预测的停顿功能,这是G1相对于CMS的另一个大优势,降低停顿时间是G1 和 CMS 共同的关注点,但G1 除了追求低停顿外,还能建立可预测的停顿时间模型
每日一问
未读
【每日一问】请问浮动垃圾是如何产生的
每日一问
未读
【每日一问】方法区垃圾回收,如何判断一个类是无用的类?
问:方法区垃圾回收,如何判断一个类是无用的类?参考答案:类需要同时满足下面3个条件才能算是无用的类:该类所有的实例都已经被回收,也就是 Java 堆中不存在该类的任何实例。加载该类的 ClassLoader 已经被回收。该类对应的 java.lang.Class 对象没有在任何地方被引用,无法在任何
每日一问
未读
【每日一问】JVM有哪些垃圾回收算法?
每日一问
未读
【每日一问】说说java虚拟机运行时数据区
不同虚拟机的运行时数据区可能略微有所不同,但都会遵从 Java 虚拟机规范, Java 虚拟机规范规定的区域分为以下 5 个部分:程序计数器(Program Counter Register):当前线程所执行的字节码的行号指示器,字节码解析器的工作是通过改变这个计数器的值,来选取下一条需要执行的字节
每日一问
未读
【每日一问】java创建对象的过程
java创建对象的过程(1)类加载检查Java虚拟机(jvm)在读取一条new指令时候,首先检查能否在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否被加载、解析和初始化。如果没有,则会先执行相应的类加载过程。(2)内存分配在通过(1)后,则开始为新生的对象分配内存。该对象所需的内存
每日一问
未读
【每日一问】jvm优化原则是什么
jvm优化原则是什么尽可能让对象都在新生代里分配和回收,尽量别让太多对象频繁进入老年代,避免频繁对老年代进行垃圾回收,同时给系统充足的内存大小,避免新生代频繁的进行垃圾回收。核心是STW的时间,相对于YoungGC,FullGC会有很长的STW时间。所以JVM优化首先就是减少FullGC执行次数和时
每日一问
未读
【每日一问】讲一下 JVM 的主要组成部分及其作用?
JVM包含两个子系统和两个组件:两个子系统为Class loader(类装载)、Execution engine(执行引擎);两个组件为Runtime data area(运行时数据区)、Native Interface(本地接口)。
每日一问
未读
【每日一问】Tomcat如果使用默认的双亲委派类加载机制行不行,为什么?
首先我们思考一下:Tomcat是一个web容器,那么它要解决什么问题? 1)、一个web容器可能需要部署两个应用程序,不同的应用程序可能会依赖同一个第三方类库的不同版本,不能要求同一个类库在同一个服务器只有一份,因此要保证每个应用程序的类库都是独立的,保证相互隔离。 2)、部署在同一个w

