5 java企業級開發必備高級技術_第1頁
5 java企業級開發必備高級技術_第2頁
5 java企業級開發必備高級技術_第3頁
5 java企業級開發必備高級技術_第4頁
5 java企業級開發必備高級技術_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

北風網項目培訓講師:specialjava企業級開發必備高級技術第五課學習目標1:jvm調優

2:jvm最佳實踐JAVA虛擬機的生命周期一個運行時的java虛擬機實例的天職是負責運行一個java程序,在啟動一個java程序的同時會誕生一個虛擬機實例,當該程序退出時,虛擬機實例也隨之消亡,如果在同一臺計算機上同時運行三個

java程序,會得到三個java虛擬機實例,每個java程序都運行于它自己的java虛擬機實例中。java虛擬機內部有兩個線程:守護線程與非守護線程,守護線程通常由虛擬機內部使用,例如執行垃圾收集任務,而java的初始線程為非守護線程當非守護線程終止后,虛擬機實例將自動退出當然也可以通過System.exit方法退出java虛擬機內存模型1:程序計數器2:java虛擬機棧3:本地方法棧4:java堆5:方法區程序計數器程序計數器是一塊很小內存空間,它的作用可以看做是當前線程所執行的字節碼的行號指示器。字節碼解釋工作時就是通過改變這個計數器的值來選取下一條需要執行的字節碼指令,分支,循環,跳轉,異常處理等基礎功能都由計數器所完成。java虛擬機棧java虛擬機棧也是線程私有的內存空間,它和

java線程在同一時間創建,它保存方法的局部變量、部分結果,并參與方法的調用和返回。每一個方法被調用直至完成的過程,就對應著一個棧幀在虛擬機棧中從入棧到出棧的過程。java虛擬機規范中,定義了兩種異常與棧空間相關:StackOverflowError及OutOfMemoryError.使用-Xss參數來設置棧的大小,棧的大小直接決定了函數調用可以達的深度java虛擬機棧由于棧中包括局部變量表,操作數棧,返回地址等信息,方法在調用時,如果方法的參數和局部變量相對較多,那么棧中的局部變量表就越大,它的棧幀就越大。棧深度者越淺。jclasslib工具jclasslib工具可以查看class文件中每個方法所分配的最大局部變量表容量等。注意:long和double占2個字(局部變量表以"字"為單位進行內存劃分)局部變量的字,在GC時無法回收這個部分的空間,除非有后續代碼復用。本地方法棧本地方法棧和java虛擬機棧的功能很相似,

java虛擬機棧用于管理java函數的調用,而本地方法棧用于管理本地方法的調用。本地方法并不是

java實現的而由C來實現。java堆java堆是java運行時內存中最為重要部分,幾乎所有的對象和數組都是在堆中分配空間。java堆可以分為新生代和老年代兩個部分,新生代用于存放剛剛產生的對象和年輕對象,如果對象一直沒有被回收,生存得足夠長,新生代對象就會被移入到老年代。新生代包括:Eden區s0區s1區(s0與s1為survivor空間)老年代只有一個區,老年代是存放時間較長,經過垃圾回收次數較多的對象。方法區方法區也是JVM內存區中非常重要的一塊內存區域,與堆空間類似,它是被JVM中所有的線程共享,方法區主要保存的信息是類的元數據。方法區中最重要的是類的類型信息,常量池,域信息,方法信息等。方法區也稱為永久區,是一塊獨立于java堆的內存空間,但GC也能回收,通常通過二個方面回收

1:對常量池回收2:對元數據回收。jvm內存分配參數1:設置最大堆內存2:設置最小堆內存3:設置新生代4:設置持久代5:設置線程棧6:堆的比例分配設置最大堆內存java應用程序可以使用的最大堆可以用-Xmx參數指定,最大堆指的是新生代和老年代的大小之和的最大值。設置最小堆內存java應用程序可以使用的最小堆可以用-Xms參數指定,也就是JVM啟動時,所占據的操作系統內存的大小。java程序在運行時首先會被分配-Xms指定的內存大小,并盡可能嘗試在這個空間段內運行程序,確實無法滿足時才會向操作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論