JDK引數總結

2021-08-01 13:33:12 字數 654 閱讀 4088

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.查詢滿足條件的物件,並...