變強日記第一篇

要努力要變強發表於2020-10-10

1.Java語言的特性

1.1簡單性
Java語法是C++語法的一個“純淨版本”。這裡沒有標頭檔案、指標運算(甚至指標語法)、結構、聯合、操作符 過載、虛基類等等。不僅如此,Java開發環境遠遠超出大多數其他程式語言的開發環境。
1.2物件導向性
Java的物件導向特性與C++旗鼓相當,與C++的主要不同點在於多重繼承。在Java中,取而代之的是更簡單的介面概念。而且與C++相比,Java提供了更豐富的執行時自省功能。
1.3 分散式(微服務)
Java有豐富的例程庫,用於處理像HTTP和FTP之類的TCP/IP協議。Java應用程式能夠通過URL開啟和訪問網路上的物件,其便捷程度就好像訪問本地檔案一樣。
1.4 健壯性
Java與C++最大的不同在於Java採用的指標模型可以消除重寫記憶體和損壞資料的可能性(對於曾經花費幾個小時來檢查由於指標bug而引起記憶體衝突的人來說,一定很喜歡Java的這一特性)。不僅如此,Java編譯器能夠檢測許多在其
他語言中僅在執行時才能夠檢測出來的問題。
1.5 安全性
Java適用於網路/分散式環境。為了達到這個目標,在安全性方面投入了大量的精力。使用Java可以構建防病毒、防篡改的系統從一開始,Java就設計成能夠防範常見的各種攻擊:
執行時堆疊溢位。
蠕蟲和病毒常用的攻擊手段。
破壞自己程式空間之外的記憶體。
未經授權讀寫檔案

1.6 體系結構中立
編譯器生成一個體繫結構中立的目標檔案格式,這是一種編譯過的程式碼,只要有Java執行時系統,這些編譯後的程式碼
就可以在許多處理器上執行。Java編譯器通過生成與特定計算機體系結構無關的位元組碼指令來實現這一特性。精心設
計的位元組碼不僅可以很容易的在任何機器上解釋執行,而且還可以動態地翻譯成本地機器程式碼。
1.7 可移植性
與C/C++不同,Java規範中沒有“依賴具體實現的地方”。基本資料型別的大小以及有關運算都做了明確的說明。例
如,Java中的int永遠是32位的整數,而在C/C++中,int可能是16位整數、32位整數,也可能是編譯器提供商指定的
其他大小。在Java中,資料型別具有固定的大小,這消除了程式碼移植時令人頭疼的主要問題。
1.8 解釋型
Java直譯器可以在任何移植瞭直譯器的機器上執行Java位元組碼。由於連結是一個增量式且輕量級的過程。所以開發過
程也變得更加快捷,更加具有探索性。
1.9 高效能
儘管對解釋後的位元組碼效能已經比較滿意,但在有些場合下可能需要更加高效的效能。位元組碼可以(在執行時刻)動
態的翻譯成對應執行這個應用的特定cpu的機器碼。
1.10 多執行緒
Java在當時很超前。它是第一個支援併發程式設計的主流語言。多執行緒可以帶來更好的互動響應和實時行為。併發程
序設計絕非易事,但是Java在這方面表現出色,可以很好的管理這個工作。
1.11 動態性
Java與C/C++相比更加具有動態性。它能夠適應不斷髮展的環境。庫中可以自由的新增新方法和例項變數,而對客戶
端沒有任何影響。在Java中找出執行時型別資訊十分簡單(反射的特性,後續會學到)

2.Java開發環境的安裝

2.1JDK的下載與環境變數的配置
JDK下載及配置引用自大神文章
安裝JDK時最好新建一個資料夾,方便之後環境變數值的配置
環境變數的配置一定要細心,在之後編譯的過程中出現問題極大可能是因為環境變數配置出現問題。
注意:
變數Java_Home的值為JDK安裝的路徑
變數ClassPath的值為(.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar)
2.2IDEA的下載與安裝破解(這是軟體安裝黑洞的福音)
軟體安裝黑洞的福音
注意:破解後如果系統提示需要更新軟體,切記不要更新,否則你懂得!!!