1. Java執(zhí)行字節(jié)碼
Java在執(zhí)行字節(jié)碼時中贝,不需要使用擴展名臼朗,如有一個字節(jié)碼文件是:DemoMain.class蝎土。執(zhí)行這個字節(jié)碼的命令是:
java DemoMain
Java命令在執(zhí)行時誊涯,會自動在DemoMain后邊添加.class擴展名暴构。如果在執(zhí)行字節(jié)碼時加上了.class擴展名淀弹,如:
java DemoMain.class
系統(tǒng)會嘗試讀取DemoMain.class.class庆械,通常這時候會提示:
Error: Could not find or load main class DemoMain.class
Caused by: java.lang.ClassNotFoundException: DemoMain.class
所以在使用java命令去執(zhí)行字節(jié)碼時缭乘,不需要帶上字節(jié)碼文件擴展名。
2. 執(zhí)行Java程序JVM動作
2.1 JVM首先會用一個稱為類加載器(class loader)的程序?qū)㈩惖淖止?jié)碼加載到內(nèi)存中堕绩。如果被加載的程序中使用了其他類奴紧,類加載程序會在需要它們之前動態(tài)的加載它們。
2.2 加載完成后唐含,JVM使用字節(jié)碼驗證器(bytecode verifier)的程序來檢驗字節(jié)碼的合法性捷枯,確保字節(jié)碼不會違法Java的安全規(guī)范。
3. 程序設(shè)計錯誤
Java程序設(shè)計錯誤分為三種情況:語法錯誤淮捆,運行時錯誤攀痊,邏輯錯誤
4. import導(dǎo)入包問題
除非要在程序中使用某個類苟径,否則關(guān)于被導(dǎo)入包中的這些類的信息在編譯時或運行時是不被讀入的,導(dǎo)入語句只是告訴編譯器在什么地方能找到這些類涩笤,聲明明確導(dǎo)入和聲明通配符導(dǎo)入在性能上是沒有什么差別的。
5. 十六進制舱禽,二進制誊稚,八進制表示方法
十六進制:在數(shù)字前邊加上0x或0X里伯,例如:0xffff 十進制是:65535
二進制:在數(shù)字前邊加上0b或0B,例如:0b1111 十進制是:15
八進制:在數(shù)字前邊加上0疾瓮, 例如:07777 十進制是:4095
6. 浮點型直接量類型
浮點類型數(shù)據(jù)都是采用科學(xué)記數(shù)法的形式進行內(nèi)部存儲狼电。
默認情況下直接量(程序中直接出現(xiàn)的常量值)帶小數(shù)點時弦蹂,都是double類型。比如:5.0被認為時double類型而不是float類型削祈∷枰郑可以通過追加字母來指定浮點類型。
在數(shù)字后邊加上字母f或F表示float類型直接量启昧;如:0.123f劈伴,1.2353F
在數(shù)字后邊加上字母d或D表示double類型直接量;如:2.4324d严里,34.3234D
一個float類型值有7到8位小數(shù)位追城,
一個double值有15到17位小數(shù)位座柱。
7. 數(shù)據(jù)可讀性寫法
Java允許在數(shù)字之間使用短橫線來提高閱讀。如 long ssn = 232_354_123戏锹,這個值等同于232354123。
8. 軟件生命周期
需求規(guī)范->系統(tǒng)分析->系統(tǒng)設(shè)計->實現(xiàn)->測試->部署->維護
9. super關(guān)鍵字
error: call to super must be first statement in constructor
super();
^
1 error
super只能在構(gòu)造函數(shù)中使用荠察,否則就會出現(xiàn)上述的錯誤悉盆。