Java基礎( 01 )
一.常用的dos命令 1. win+R鍵 開啟執行 輸入cmd 回車開啟dos視窗 2. 切換碟符 : “碟符:” 3. cd 目錄名 絕對路徑: 包括碟符在內的完整路徑 相對路徑: 在某個盤內 前後文件夾是包含與被包含的關係 4. cd… 返回上級目錄 5. cd\ 返回根目錄 6. mkdir 建立一個新的目錄 7. rmdir 刪除一個新目錄 8. dir 現實資料夾中的所有內容 9. cls 清屏 10. 上下鍵 查閱歷史使用過的命令 11. Tab 自動補全程式碼 12. Exit 退出 13. Dos視窗右擊,調至快速編輯模式 可以進行快速的複製貼上等操作 二.JAVA的執行流程 1. 編寫”.JAVA”原始檔 2. 使用JAVAC.EXE 把原始檔編譯成”.CLASS”的位元組碼檔案 3. 通過JVM將位元組碼檔案翻譯成機器可以讀懂的內容 從而執行程式 三.JDK
四.跨平臺原理
五.JAVA特點 1.簡單高效 面向物件 可跨平臺 2.一次編譯 到處執行 六.JDK安裝 1.執行JDK安裝包 安裝在不包含中文和空格符號的路徑裡 2.JRE路徑應和JDK並列在同一資料夾 3.執行dos視窗 用java-version檢查安裝版本 4.儘量避免安裝在C盤 七.HelloWorld 1.建立.java的檔案 2.用note pad開啟 3.編碼:
public class HelloWorld { Public static void main(String[] args) { System.out.println(“HelloWorld”); } }
4.通過javac命令進行編譯 5.通過java命令執行 注意: 注意檔案字尾名 在組織中/控制面板中直接搜尋資料夾–選擇資料夾和搜尋選項–檢視–把隱藏已知檔案型別的副檔名對勾去掉–確定 八.各歷史版本的JDk區別 jdk1.5的新特性:
- 泛型
ArrayList list = new ArrayList() ︾ ︾ ArrayList < Integer > list = new ArrayList < Integer > ();
2 自動裝箱/拆箱
int i = list.get(0).parseInt(); ︾ ︾ int i = list.get(0); 原始型別與對應的包裝類不用顯式轉換 3 for-each i=0;i<a.length;i+±----------->for(int i:a){…} 4 static import Math.sqrt();--------------->sqrt(); 5 變長引數 int sum(int …intlist)有任意個引數,把他看作陣列
jdk1.6的新特性 1.增強的for迴圈語句 Integer[] numbers = computeNumbers(); for (int i=0; i < numbers.length ; i++) sum += numbers[i]; || int sum = 0; for ( int number: computeNumbers() ) sum += number; 2.監視和管理 Java SE 6中對記憶體洩漏增強了分析以及診斷能力。當遇到java.lang.OutOfMemory異常的時候,可以得到一個完整的堆疊資訊, 並且當堆已經滿了的時候,會產生一個Log檔案來記錄這個致命錯誤。另外,JVM還添加了一個選項,允許你在堆滿的時候執行指令碼。 3.插入式註解處理 插入式註解處理API(JSR 269)提供一套標準API來處理Annotations 4.安全性
jdk1.7的新特性 1.模組化特性 Java7也是採用了模組的劃分方式來提速,一些不是必須的模組並沒有下載和安裝,當虛擬機器需要的時候,再下載相應的模組, 同時對啟動速度也有了很大的改善。 2.多語言支援 Java7的虛擬機器對多種動態程式語言增加了支援,比如:Rubby、 Python等等。 3.開發者的開發效率得到了改善 switch中可以使用字串 在多執行緒併發與控制方面:輕量級的分離與合併框架,一個支援併發訪問的HashMap等等。 通過註解增強程式的靜態檢查。 提供了一些新的API用於檔案系統的訪問、非同步的輸入輸出操作、Socket通道的配置與繫結、多點資料包的傳送等等。 4.執行效率的提高 對物件指標由64位壓縮到與32位指標相匹配的技術使得記憶體和記憶體帶塊的消耗得到了很大的降低因而提高了執行效率。 提供了新的垃圾回收機制(G1)來降低垃圾回收的負載和增強垃圾回收的效果。
JDK1.8的新特性 一、介面的預設方法 Java 8允許我們給介面新增一個非抽象的方法實現,只需要使用 default關鍵字即可,這個特徵又叫做擴充套件方法。 二、Lambda 表示式 在Java 8 中你就沒必要使用這種傳統的匿名物件的方式了,Java 8提供了更簡潔的語法,lambda表示式: Collections.sort(names, (String a, String b) -> {
return b.compareTo(a);
});