springmvc工作流程 jvm分為哪些區(qū),每一個區(qū)干嗎的?
jvm分為哪些區(qū),每一個區(qū)干嗎的?JVM虛擬機分為三代:年輕一代、老一代和持久一代。持久化生成主要存儲Java類的類信息,與垃圾收集關(guān)系不大。年輕一代和老一代的劃分對垃圾收集的影響較大。所有新生成的對
jvm分為哪些區(qū),每一個區(qū)干嗎的?
JVM虛擬機分為三代:年輕一代、老一代和持久一代。持久化生成主要存儲Java類的類信息,與垃圾收集關(guān)系不大。年輕一代和老一代的劃分對垃圾收集的影響較大。所有新生成的對象首先放置在較年輕的一代中。年輕一代的目標(biāo)是盡快收集生命周期較短的物體。年輕一代被分為三個區(qū)。一個伊甸園,兩個幸存者。兩個幸存者中的一個總是空的。
JVM堆內(nèi)存中,為何有兩個survivor區(qū),一個不行嗎?
年輕一代使用復(fù)制算法。每次執(zhí)行小GC時,伊甸園區(qū)域中幸存的物體都會被復(fù)制到幸存區(qū)域,幸存的物體會被移到老年。如果只有一個幸存者區(qū)域,它將產(chǎn)生垃圾碎片。
讓我們看看只有一個s區(qū)域的情況
如果有兩個區(qū)域,一個S1和一個S2,則將S1和Eden區(qū)域的幸存對象復(fù)制到S2,并在下次觸發(fā)時將S2和Eden區(qū)域的幸存對象復(fù)制到S1
方法區(qū)域。1每個類的結(jié)構(gòu)信息是什么,運行時常量池、字段、方法數(shù)據(jù)、常用方法和構(gòu)造方法的字節(jié)碼內(nèi)容是什么。(這是一個規(guī)范。不同的虛擬機有不同的實現(xiàn)。最典型的例子是永久空間和元空間。實例變量位于堆內(nèi)存中,與方法區(qū)域無關(guān)。2它絕對不是用來放方法的。三。此區(qū)域中的所有線程都是共享的,并且存在垃圾回收。右