JVM原理
pHscccr_Ayyx
新手JavaProgrammer-
展开
-
Minor GC ,Full GC 触发条件
从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC;对老年代GC称为Major GC;而Full GC是对整个堆来说的;在最近几个版本的JDK里默认包括了对永生带即方法区的回收(JDK8中无永生带了),出现Full GC的时候经常伴随至少一次的Minor GC,但非绝对的。Major GC的速度一般会比Minor GC慢10倍以上。下边看看有那种情...转载 2019-02-21 15:59:34 · 262 阅读 · 0 评论 -
2019-Java面试总结(基础篇)
1.什么是面向对象?把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。(这里简单的说下,具体太复杂)简写:面向对象是程序的一种面向方式,它的程序比较集中,它有两个成员,一个是属性,一个是方法,可以更集...原创 2019-02-19 11:22:45 · 302 阅读 · 0 评论 -
深入理解volatile关键字-(volatile有什么作用?)
volatile - 被其修饰的变量所具有的特性1、保证该变量对所有线程的可见性;2、禁止指令重排序优化。原创 2019-02-25 14:52:37 · 701 阅读 · 0 评论 -
JVM调优
对于单线程情况下,无论如何抛出的都是StackOverflowError。如果要抛出OOM异常,导致的原因是不断地在创建线程,直到将内存消耗殆尽。JVM的内存由堆内存 + 方法区内存 + 剩余内存,也就是剩余内存 = 操作系统分配给JVM的内存 - 堆内存 - 方法区内存。-Xss设置的是每个线程的栈容量,也就是说可以创建的线程数量 = 剩余内存 / 栈内存。此时如果栈内存越大,可以创建...原创 2019-03-21 11:59:41 · 95 阅读 · 0 评论 -
MinorGC、MajorGC、FullGC的异同-自我认知
最近看JVM书籍,在GC这一章节被几种常见的GC类型困扰,根据书籍上的描述和资料查找,大致作出以下归纳,如有不对,请各位看官在评论区指正。Minor GC:从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC。每次 Minor GC 会清理年轻代的内存。指发生在新生代的垃圾收集动作,因为Java对象大多都具备朝生夕死的特性,所以MinorGC非常...原创 2019-04-09 15:48:29 · 657 阅读 · 0 评论