随笔分类 -  Jvm

摘要:栈 栈容量是不可以动态扩容的,不会由于虚拟机栈无法扩展而导致outOfMemoryError异常。 本地方法栈和虚拟机栈合二为一 堆 本地方法 阅读全文
posted @ 2021-10-31 15:08 l2c 阅读(297) 评论(0) 推荐(0)
摘要:jps -l jmap 36429 jmap -heap 36429 打印heap的概要信息,GC使用的算法,heap(堆)的配置及JVM堆内存的使用情况. jmap -histo:live 36429 jmap -clstats 36429 jmap -finalizerinfo 36429 打印 阅读全文
posted @ 2020-11-29 18:56 l2c 阅读(385) 评论(0) 推荐(1)
摘要:java内存模型规定了所有变量都存储在主内存(虚拟机内存的一部分) 每条线程还有自己的工作内存。线程的工作内存中保存了被该线程使用到的变量的主内存副本拷贝。线程对变量的所有操作都必须在内存中进行。而不能直接读写主内存中的变量。 不同的线程之间也无法直接访问对方工作内存中的变量,线程间变量值的传递均需 阅读全文
posted @ 2020-11-13 01:24 l2c 阅读(79) 评论(0) 推荐(0)
摘要:对于sun jdk来说,它的windiws版本与linux版都是使用一对一的线程模型实现的,一条java线程就映射到一条轻量级进程中,因为windows和linux系统提供的线程模型就是一对一的。 1.协同式线程调度 2.抢占式线程调度。(java)每个线程将由系统来分配执行时间,线程的切换不由线程 阅读全文
posted @ 2020-11-13 00:29 l2c 阅读(65) 评论(0) 推荐(0)
摘要:1.RUNABLE 2.BLOCKED 3.WAITING/TIMED_WAITING Reference Handler线程与Finalizer线程,这两个线程用于虚拟机处理override了object.finalize()方法的实例,对实例回收前作最后的判决 Reference Handler 阅读全文
posted @ 2020-11-01 18:18 l2c 阅读(106) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-10-15 02:11 l2c 阅读(55) 评论(0) 推荐(0)
摘要:新生代收集器 serial 单线程,串行,必然发生stop the world,stop world之后单线程处理 parNew 多线程版本的serial出了垃圾回收时是多线程进行的,其他一样。与CMS配合使用使用-XX+UseConcMarkSweepGC选项后的默认新生代收集器。 Paralle 阅读全文
posted @ 2020-09-13 12:27 l2c 阅读(150) 评论(0) 推荐(0)
摘要:堆内存分配:JVM初始分配的内存由-Xms指定,默认是物理内存的1/64JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制。因此服务器一般设置-Xms、-Xmx相 阅读全文
posted @ 2020-08-08 00:49 l2c 阅读(568) 评论(0) 推荐(0)
摘要:新生代GC(Minor GC)指发生在新生代的垃圾收集动作,因为java对象大多都具备朝生夕灭的特性,所以Minor GC非常频繁,一般回收速度也比较快。 老年代GC(MajorGC/Full GC):指发生在老年代的GC,出现了MajorGC,经常会伴随至少一次的Minor GC,MaiorGC的 阅读全文
posted @ 2020-07-19 14:44 l2c 阅读(225) 评论(0) 推荐(0)
摘要:转载:https://blog.csdn.net/aa747604141/article/details/52673582 https://www.jianshu.com/p/a6f19189ec62 阅读全文
posted @ 2020-07-19 13:05 l2c 阅读(762) 评论(0) 推荐(0)