摘要:
这个算法的基本思路就是通过一系列称为“GC Roots”的根对象作为起始节点集,从这些节点开始,根据引用关系向下搜索,搜索过程所走过的路径称为“引用链”(Reference Chain),如果某个对象到GC Roots间没有任何引用链相连,或者用图论的话来说就是从GC Roots到这个对象不可达时, 阅读全文
posted @ 2020-09-23 17:38
🍰嗯,有点bug
阅读(126)
评论(0)
推荐(0)
摘要:
Java垃圾收集器的配置对于JVM优化来说是一个很重要的选择,选择合适的垃圾收集器可以让JVM的性能有一个很大的提升。 怎么选择垃圾收集器? 1.优先调整堆的大小让JVM自适应完成。 2.如果内存小于100M,使用串行收集器 3.如果是单核、单机程序,并且没有停顿时间的要求,串行收集器 4.如果是多 阅读全文
posted @ 2020-09-23 17:37
🍰嗯,有点bug
阅读(177)
评论(0)
推荐(0)
摘要:
对于强、软、弱、虚这四种引用对象的垃圾回收特点的描述,都是指的在引用关系还存在的情况下: 强引用(StrongReference):最传统的“引用”的定义,是指在程序代码之中普遍存在的引用赋值,即类似“0bject obj=new object( )”这种引用关系。无论任何情况下,只要强引用关系还存 阅读全文
posted @ 2020-09-23 17:36
🍰嗯,有点bug
阅读(107)
评论(0)
推荐(0)
摘要:
引发OOM异常的原因 如果线程请求的栈深度大于虚拟机所允许的深度,将抛出StackOverflowError异常; 如果java虚拟机栈可以动态拓展,并且在尝试拓展的时候无法申请到足够的内存,或者在创建新的线程时没有足够的内存去创建对应的虚拟机栈,那java虚拟机将会抛出一个 OutOfMemory 阅读全文
posted @ 2020-09-23 17:34
🍰嗯,有点bug
阅读(143)
评论(0)
推荐(0)
摘要:
双亲委派机制 双亲委派机制的优势 1.避免类的重复加载,如上 2.保护程序安全,防止核心API被随意修改 启动类加载器可以抢在标准扩展类装载器之前去装载类,而标准扩展类装载器可以抢在类路径加载器之前去装载那个类,类路径装载 器又可以抢在自定义类加载器之前去加载它。所以Java虚拟机先从最可信的Jav 阅读全文
posted @ 2020-09-23 17:32
🍰嗯,有点bug
阅读(161)
评论(0)
推荐(0)
摘要:
1.JVM体系结构概览 Java虚拟机所管理的内存包含以下几个运行时数据区域: 1.程序计数器:是当前线程所执行的字节码的行号指示器。就是通过改变这个行号指示器的值来选取下一个需要执行的字节码指令,从而可以实现循环、跳转、分支、异常处理等基础功能。Java虚拟机的多线程是通过线程间的轮流切换、粉配处 阅读全文
posted @ 2020-09-23 17:27
🍰嗯,有点bug
阅读(89)
评论(0)
推荐(0)

浙公网安备 33010602011771号