1.方法區在jdk1.7以下的版本中,使用-xx:permsize設定永久區的初始化空間,使用-xx:maxpermsize 設定永久區的最大可用空間,但1.8之後,永久區被移除,使用了元資料區,
預設情況下元資料區的大小受系統可用記憶體的限制,但任可以使用-xx:maxmetaspacesize 指定永久區的最大使用空間
2.棧 使用-xss配置執行緒棧的大小
3.直接記憶體
最大可直接使用的記憶體使用-xx:maxdirectmemorysize 設定,如果不設定預設最大的堆空間-xmx。當直接記憶體達到 -xx:maxdirectmemorysize 就會觸發gc,
如果不能會收到足夠的空間,會引起系統的oom。一般來說直接記憶體的訪問速度大於堆記憶體,雖然使用直接記憶體有較大的優勢,但申請空間時沒有優勢。
總結:直接記憶體適合申請次數少訪問較頻繁的場合,如果記憶體空間本身需要頻繁申請,則不合適使用直接記憶體
3.工作模式
client:啟動速度短,適合使用者介面程式。使用-client 指定client模式
server:啟動速度慢,演算法更優,執行速度更快。使用-server 指定server模式
都可以通過 -version 檢視當前模式
-xx:+printflagfinal 檢視給定引數的預設值
JDK1 5的可變引數
乙個方法接收的引數個數不固定。可變引數的特點 1 只能出現在引數列表的最後 2 位於變數型別和變數名之間。前後有空格都可以。3 呼叫可變引數的方法時,編譯器為該可變引數隱含建立乙個陣列,在方法體中以陣列的形式訪問可變引數。例如 package com.howlaa.day02 public clas...
jdk8學習總結
今天抽點時間對jdk8寫個總體的學習總結,一來當作乙個覆盤加深理解,二來也希望能夠對閱讀的朋友們有一點點幫助,同時也希望大家對文中不準確的內容予以指出。1 函式式介面與lambda表示式 首先說一下函式式介面的概念 介面中的抽象方法如果是重寫了object類的方法的話,是不參與計數的 另外如果乙個介...
jdk1 8常用總結
1.查詢集合裡的第乙個物件 filter 例 查詢listlist 中username為小明的物件t list.stream filter findfirst 1 list.stream filter e 小明 equals e.getusername findfirst 2.查詢滿足條件的物件,並...