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