本文目錄一覽:
- 1、關於java構造器的幾點學習筆記
- 2、誰有比較簡單的JAVA學習的筆記呀?
- 3、林信良java學習筆記jdk7與6有什麼區別嗎
- 4、JAVA學習筆記!!!
- 5、怎麼做JAVA程序性能優化
- 6、java學習筆記林信良操作題答案
關於java構造器的幾點學習筆記
1.構造器: 一個創建對象時被自動調用的特殊方法,為的是初始化。構造器的名稱應與類的名稱一致。
例如:public class Person {
private String name;
private String password;
public Person() {
super();
// TODO Auto-generated constructor stub
}
public Person(String name, String password) {
super();
this.name = name;
this.password = password;
}
}
public static void main(String[] args) {
//初始化
Person person = new Person(“張三”,”123″);
}
2.創建一個對象時,系統會該對象的屬性 默認初始化,數值類型屬性的值為0,布爾類型false,引用類型設置為null.
3在子類中調用父類的構造器來初始化父類,那就用合適的參數來調用super(),你用沒有參數的super()來調用父類的構造器(註:同時也沒有使用this()來調用其他構造器),父類預設的構造器會被調用,如果父類沒有預設的構造器,那編譯器就會報一個錯誤。
4. this
4.1構造器中調用this只能放在第一位;
4.2構造器中調用this只能調用一次;
4.3普通方法中不能使用this()調用構造器;
5. 構造器的作用
5.1:創建對象,凡是必須和 new 一起使用
5.2:完成對象的初始化操作
6.注意事項
6.1:構造器的名稱和當前所在類的名稱相同
6.2:禁止定義返回類型,千萬不要使用 void 作為返回類型(這屬於普通方法)
6.3:在構造器中,不需要使用 return 語句(其實構造器是有返回值的,返回的是當前創建對象的引用)
誰有比較簡單的JAVA學習的筆記呀?
個人覺得,還是要看下書比較好~!
如果基礎不好的話,建議先看《Java2實用教程》,清華大學出版社出版的。
然後,再看《JAVA編程思想》,這本書寫的很詳細,絕對值得看~!
林信良java學習筆記jdk7與6有什麼區別嗎
沒什麼區別,只是jdk7相比jdk6增加了一些功能、優化了性能以及簡化了語法,比如:
1.更簡單的異常處理語句
2.字元串支持switch
3.二進位值定義
4.泛型類型推斷
5.多線程中增加了並行分解框架(fork/join),以前看的時候這個還在測試
6.jvm優化、支持非java語言、正式支持G1垃圾收集器
JAVA學習筆記!!!
我看過這個書
手頭就拿著看呢
是林信良寫的
寫的還是不錯的
我建議你還是把這本書跟
將java基礎的數結合起來看效果會更好
怎麼做JAVA程序性能優化
1)盡量指定類、方法的final修飾符。帶有final修飾符的類是不可派生的,Java編譯器會尋找機會內聯所有的final方法,內聯對於提升Java運行效率作用重大,此舉能夠使性能平均提高50%。
2)盡量重用對象。由於Java虛擬機不僅要花時間生成對象,以後可能還需要花時間對這些對象進行垃圾回收和處理,因此生成過多的對象將會給程序的性能帶來很大的影響。
3)儘可能使用局部變數。調用方法時傳遞的參數以及在調用中創建的臨時變數都保存在棧中速度較快,其他變數,如靜態變數、實例變數等,都在堆中創建速度較慢。
4)慎用異常。異常對性能不利,只要有異常被拋出,Java虛擬機就必須調整調用堆棧,因為在處理過程中創建了一個新的對象。異常只能用於錯誤處理,不應該用來控制程序流程。
5)乘法和除法使用移位操作。用移位操作可以極大地提高性能,因為在計算機底層,對位的操作是最方便、最快的,但是移位操作雖然快,可能會使代碼不太好理解,因此最好加上相應的注釋。
6)盡量使用HashMap、ArrayList、StringBuilder,除非線程安全需要,否則不推薦使用 Hashtable、Vector、StringBuffer,後三者由於使用同步機制而導致了性能開銷。
盡量在合適的場合使用單例。使用單例可以減輕載入的負擔、縮短載入的時間、提高載入的效率,但並不是所有地方都適用於單例。
java學習筆記林信良操作題答案
jstat(JVM Statistics Monitoring Tool)是用於監控虛擬機各種運行狀態信息的命令行工具。他可以顯示本地或遠程虛擬機進程中的類裝載、內存、垃圾收集、JIT編譯等運行數據,在沒有GUI圖形的伺服器上,它是運行期定位虛擬機性能問題的首選工具。
jstat位於java的bin目錄下,主要利用JVM內建的指令對Java應用程序的資源和性能進行實時的命令行的監控,包括了對Heap size和垃圾回收狀況的監控。可見,Jstat是輕量級的、專門針對JVM的工具,非常適用。
jstat 命令格式
jstat -option [-t] [-hlines] vmid [interval [count]]
參數解釋:
Option — 選項,我們一般使用 -gcutil 查看gc情況
vmid — VM的進程號,即當前運行的java進程號
interval– 間隔時間,單位為秒或者毫秒
count — 列印次數,如果預設則列印無數次
參數interval和count代表查詢間隔和次數,如果省略這兩個參數,說明只查詢一次。假設需要每250毫秒查詢一次進程5828垃圾收集狀況,一共查詢5次,那命令行如下:
jstat -gc 5828 250 5
對於命令格式中的VMID與LVMID需要特別說明下:如果是本地虛擬機進程,VMID(Virtual Machine IDentifier,虛機標識符)和LVMID(Local Virtual Machine IDentifier,虛機標識符)是一致的,如果是遠程虛擬機進程,那VMID的格式應當是:[protocol:][//] lvmid [@hostname[:port]/servername]
option
選項option代表這用戶希望查詢的虛擬機信息,主要分為3類:類裝載、垃圾收集和運行期編譯狀況,具體選項及作用如下:
–class 監視類裝載、卸載數量、總空間及類裝載所耗費的時間
–gc 監視Java堆狀況,包括Eden區、2個Survivor區、老年代、永久代等的容量
–gccapacity 監視內容與-gc基本相同,但輸出主要關注Java堆各個區域使用到的最大和最小空間
–gcutil 監視內容與-gc基本相同,但輸出主要關注已使用空間佔總空間的百分比
–gccause 與-gcutil功能一樣,但是會額外輸出導致上一次GC產生的原因
–gcnew 監視新生代GC的狀況
–gcnewcapacity 監視內容與-gcnew基本相同,輸出主要關注使用到的最大和最小空間
–gcold 監視老年代GC的狀況
–gcoldcapacity 監視內容與——gcold基本相同,輸出主要關注使用到的最大和最小空間
–gcpermcapacity 輸出永久代使用到的最大和最小空間
–compiler 輸出JIT編譯器編譯過的方法、耗時等信息
–printcompilation 輸出已經被JIT編譯的方法
常見術語
1、jstat –classpid : 顯示載入class的數量,及所佔空間等信息。
Loaded 裝載的類的數量
Bytes 裝載類所佔用的位元組數
Unloaded 卸載類的數量
Bytes 卸載類的位元組數
Time 裝載和卸載類所花費的時間
2、jstat -compiler pid顯示VM實時編譯的數量等信息。
Compiled 編譯任務執行數量
Failed 編譯任務執行失敗數量
Invalid 編譯任務執行失效數量
Time 編譯任務消耗時間
FailedType 最後一個編譯失敗任務的類型
FailedMethod 最後一個編譯失敗任務所在的類及方法
3、jstat -gc pid: 可以顯示gc的信息,查看gc的次數,及時間。
S0C 年輕代中第一個survivor(倖存區)的容量 (位元組)
S1C 年輕代中第二個survivor(倖存區)的容量 (位元組)
S0U 年輕代中第一個survivor(倖存區)目前已使用空間 (位元組)
S1U 年輕代中第二個survivor(倖存區)目前已使用空間 (位元組)
EC 年輕代中Eden(伊甸園)的容量 (位元組)
EU 年輕代中Eden(伊甸園)目前已使用空間 (位元組)
OC Old代的容量 (位元組)
OU Old代目前已使用空間 (位元組)
PC Perm(持久代)的容量 (位元組)
PU Perm(持久代)目前已使用空間 (位元組)
YGC 從應用程序啟動到採樣時年輕代中gc次數
YGCT 從應用程序啟動到採樣時年輕代中gc所用時間(s)
FGC 從應用程序啟動到採樣時old代(全gc)gc次數
FGCT 從應用程序啟動到採樣時old代(全gc)gc所用時間(s)
GCT 從應用程序啟動到採樣時gc用的總時間(s)
4、jstat -gccapacity pid:可以顯示,VM內存中三代(young,old,perm)對象的使用和佔用大小
NGCMN 年輕代(young)中初始化(最小)的大小(位元組)
NGCMX 年輕代(young)的最大容量 (位元組)
NGC 年輕代(young)中當前的容量 (位元組)
S0C 年輕代中第一個survivor(倖存區)的容量 (位元組)
S1C 年輕代中第二個survivor(倖存區)的容量 (位元組)
EC 年輕代中Eden(伊甸園)的容量 (位元組)
OGCMN old代中初始化(最小)的大小 (位元組)
OGCMX old代的最大容量(位元組)
OGC old代當前新生成的容量 (位元組)
OC Old代的容量 (位元組)
PGCMN perm代中初始化(最小)的大小 (位元組)
PGCMX perm代的最大容量 (位元組)
PGC perm代當前新生成的容量 (位元組)
PC Perm(持久代)的容量 (位元組)
YGC 從應用程序啟動到採樣時年輕代中gc次數
FGC 從應用程序啟動到採樣時old代(全gc)gc次數
5、jstat -gcutil pid:統計gc信息
S0 年輕代中第一個survivor(倖存區)已使用的占當前容量百分比
S1 年輕代中第二個survivor(倖存區)已使用的占當前容量百分比
E 年輕代中Eden(伊甸園)已使用的占當前容量百分比
O old代已使用的占當前容量百分比
P perm代已使用的占當前容量百分比
YGC 從應用程序啟動到採樣時年輕代中gc次數
YGCT 從應用程序啟動到採樣時年輕代中gc所用時間(s)
FGC 從應用程序啟動到採樣時old代(全gc)gc次數
FGCT 從應用程序啟動到採樣時old代(全gc)gc所用時間(s)
GCT 從應用程序啟動到採樣時gc用的總時間(s)
6、jstat -gcnew pid:年輕代對象的信息。
S0C 年輕代中第一個survivor(倖存區)的容量 (位元組)
S1C 年輕代中第二個survivor(倖存區)的容量 (位元組)
S0U 年輕代中第一個survivor(倖存區)目前已使用空間 (位元組)
S1U 年輕代中第二個survivor(倖存區)目前已使用空間 (位元組)
TT 持有次數限制
MTT 最大持有次數限制
EC 年輕代中Eden(伊甸園)的容量 (位元組)
EU 年輕代中Eden(伊甸園)目前已使用空間 (位元組)
YGC 從應用程序啟動到採樣時年輕代中gc次數
YGCT 從應用程序啟動到採樣時年輕代中gc所用時間(s)
7、jstat -gcnewcapacitypid: 年輕代對象的信息及其佔用量。
NGCMN 年輕代(young)中初始化(最小)的大小(位元組)
NGCMX 年輕代(young)的最大容量 (位元組)
NGC 年輕代(young)中當前的容量 (位元組)
S0CMX 年輕代中第一個survivor(倖存區)的最大容量 (位元組)
S0C 年輕代中第一個survivor(倖存區)的容量 (位元組)
S1CMX 年輕代中第二個survivor(倖存區)的最大容量 (位元組)
S1C 年輕代中第二個survivor(倖存區)的容量 (位元組)
ECMX 年輕代中Eden(伊甸園)的最大容量 (位元組)
EC 年輕代中Eden(伊甸園)的容量 (位元組)
YGC 從應用程序啟動到採樣時年輕代中gc次數
FGC 從應用程序啟動到採樣時old代(全gc)gc次數
8、jstat -gcold pid:old代對象的信息。
PC Perm(持久代)的容量 (位元組)
PU Perm(持久代)目前已使用空間 (位元組)
OC Old代的容量 (位元組)
OU Old代目前已使用空間 (位元組)
YGC 從應用程序啟動到採樣時年輕代中gc次數
FGC 從應用程序啟動到採樣時old代(全gc)gc次數
FGCT 從應用程序啟動到採樣時old代(全gc)gc所用時間(s)
GCT 從應用程序啟動到採樣時gc用的總時間(s)
9、stat -gcoldcapacity pid: old代對象的信息及其佔用量。
OGCMN old代中初始化(最小)的大小 (位元組)
OGCMX old代的最大容量(位元組)
OGC old代當前新生成的容量 (位元組)
OC Old代的容量 (位元組)
YGC 從應用程序啟動到採樣時年輕代中gc次數
FGC 從應用程序啟動到採樣時old代(全gc)gc次數
FGCT 從應用程序啟動到採樣時old代(全gc)gc所用時間(s)
GCT 從應用程序啟動到採樣時gc用的總時間(s)
10、jstat -gcpermcapacitypid: perm對象的信息及其佔用量。
PGCMN perm代中初始化(最小)的大小 (位元組)
PGCMX perm代的最大容量 (位元組)
PGC perm代當前新生成的容量 (位元組)
PC Perm(持久代)的容量 (位元組)
YGC 從應用程序啟動到採樣時年輕代中gc次數
FGC 從應用程序啟動到採樣時old代(全gc)gc次數
FGCT 從應用程序啟動到採樣時old代(全gc)gc所用時間(s)
GCT 從應用程序啟動到採樣時gc用的總時間(s)
11、jstat -printcompilation pid:當前VM執行的信息。
Compiled 編譯任務的數目
Size 方法生成的位元組碼的大小
Type 編譯類型
Method 類名和方法名用來標識編譯的方法。類名使用/做為一個命名空間分隔符。方法名是給定類中的方法。上述格式是由-XX:+PrintComplation選項進行設置的
原創文章,作者:KIAUI,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/128710.html