jvm简单笔记(3)
1、jvm,java virtual Machine其實就是虛擬在計算機上的一個計算機,但是他和vmware又不一樣,后者是能看到的,而jvm 是看不到的,他是在內存中。
2、jvm有個部分叫做class loader,把類加載到虛擬機中執行就靠他。其實對class文件的格式jvm是有判斷的。但是判斷的工作并不是這個class loader,而是jvm的另一部分解釋器 execution engine。
3、jvm有個部分叫做棧,遵循先進后出的原則,保存的是基本數據類型,他的工作模式可以這里來理解,比如最開始調用方法A,A就被壓縮在棧的底部,但是A方法又調用了B方法,再執行到B方法的時候B方法又被壓縮進了棧內在棧頂,所以B是后進但是會等B方法執行完成后跳出棧,先出來,出來后繼續輪到A方法執行完,之后A執行完就線程結束棧也釋放。
4、jvm有一個部分叫堆,堆內存分為三個部分,第一個是永久存儲區其實就是上次說的持久代,新生區就是上次說的年輕代,養老區其實就是上次說的年老區。新生區又分伊甸區Eden Space和幸存者區 survivor Space,對象都是在伊甸區這里創建的,這個區滿了就會放到幸存者0區,0區滿了就會放到幸存者1區,1區還滿了的話就會被放到年老區就是養老區,垃圾回收也是這樣的流程。
5、持久區也叫永久存儲區,他存放的東西就是像java class,還有類變量就是靜態變量,不是靜態變量的叫做實例變量。
轉載于:https://www.cnblogs.com/legenda-lee/p/5343296.html
總結
以上是生活随笔為你收集整理的jvm简单笔记(3)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据挖掘(10):卷积神经网络算法的一个
- 下一篇: gparted 不能起作用的时候,用fd