1. 程式人生 > >java 基礎知識儲備

java 基礎知識儲備

# 初始JAVA ## JAVA 帝國的誕生 1972年C誕生 - 貼近硬體,執行極快,效率極高。 - 作業系統,編譯器,資料庫,網路系統等 - 指標和記憶體管理 1982年C++誕生 - 面向物件 - 相容C - 圖形領域、遊戲等 ![](https://img2020.cnblogs.com/blog/2229617/202104/2229617-20210401224958290-706212840.png) 縱使C/C++非常強大,但是頁有其不變的一面。其中C語言是很適合初學者作為入門語言的,但是僅僅是入門語言,因為C語言中有兩大難處分別為:**記憶體管理**和**指標**。很多初學者對於這兩個方面真的基於是沒得辦法了。但是其實不推薦C語言除了其有點難之外,還有一個原因就是因為,C語言雖然官方說能在所有機器上執行,但是要針對每一個機器寫對應的庫函式,即便是一點點錯誤也可能導致程式無法執行。C++是面向物件的程式語言,它相容C語言的一些特性,C++如果說從程式語言和執行速度上來說絕對是一門非常好的語言,但是其門檻相對較高,許多學習者很難完全掌握這門語言。 介於C/C++的原因,就有聲音要求建立一門新的語言: - 語法有點像C - 沒有指標 - 沒有記憶體管理 - 真正的可移植性,編寫一次,到處執行 - 面向物件 - 型別安全 - 高質量的類庫 - ··· ··· 那麼,它就來了!!!!! ![](https://img2020.cnblogs.com/blog/2229617/202104/2229617-20210401225016925-588537364.png) 為了實現跨平臺,java增加了一個抽象層,名為虛擬機器JVM,在所有的平臺上只要安裝了JVM,就可以執行java的程式。 ### Java初生 - 1995年的網頁簡單而粗糙,缺乏互動性 - 圖形介面程式(Applet) - Bill Gates說:這是迄今為止設計的最好語言! - Java 2 標準板(J2SE):去佔領桌面 - Java 2 移動版(JAME):去佔領手機 - Java 2 企業版(J2EE):去佔領伺服器 - 大量巨頭加入 Java開發了非常多的平臺,系統,工具 - 構建工具:Ant,Maven,Jekins - 應用伺服器:Tomcat,Jetty,Jboss,Websphere,weblogic - Web開發:Struts,Spring,Hibernate,myBatis - 開發工具:Eclipse,Netbean,intellij idea,Jbuilder - ··· ··· 2006年:Hadoop(大資料領域) 2008年:Android(手機端) ## Java 特性和優勢 1. 簡單性 語法基於C語言,而且沒有指標和記憶體管理,更容易掌握 2. 面向物件 1. 萬物皆物件 3. 可移植性 1. 寫一次可以在多個裝置上執行。可以跨平臺執行。 4. 高效能 5. 分散式 6. 動態性 1. Java本身不具有動態性,但是Java具有的反射機制,通過這個機制使Java具有動態性 7. 多執行緒 1. Java支援多執行緒,多執行緒也是使Java成為伺服器端成為主流發開語言的原因之一。 8. 安全性 9. 健壯性 java成功的原因,除了自身實力過硬外還有運氣因素。踩中了網際網路發展的趨勢。 ## JDK JRE JVM Write Once、Run Anywhere 編寫一次可以在任何地方執行 Java的三大版本 JavaSE:標準版(桌面程式,控制檯開發···) ​ Java的基礎和核心 JavaME:嵌入式開發(手機,小家電···)基本mo了 JavaEE:E企業級開發(web端,伺服器開發···) ​ 學號JavaE的基礎,要首先打牢SE的基礎 ---- JDK: Java Development Kit(Java開發者工具) ​ JDK最外部的大圈,包含了JRE和JVM,還包含了一些自己的工具用於程式開發,Javac編譯和執行Java,Javadoc將Java的一些東西生成文件,jar可以將Java打包成應用··· ··· JRE:java Runtime Environment(Java執行時環境) ​ 包含Java虛擬機器,Java的一些庫和Applet所需的一些檔案,JDK包含JRE相當於是父親級別的,我們只需要下載JDK即可因為裡面包含JRE。 JVM:java Virtual Machine(Java虛擬機器) ​ 可以用軟體來實現也可以用硬體來實現。相當於在所有的作業系統上模擬了一顆CPU來處理Java相關的東西。有兩種執行方式:一種為解釋型,一種為編譯型。Java的跨平臺核心就是引用了JVM。通過虛擬機器來遮蔽了作業系統的區別真正實現了一次編譯,到處執行。 ![](https://img2020.cnblogs.com/blog/2229617/202104/2229617-20210401225040311-398240242.png) ## Java搭建開發環境 工欲善其事必先利其器,下面就來搭建開發環境。 ### JDK的下載安裝 Java現在屬於ORACLE,[JDK下載連線](https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html) 下載到的版本可自行選擇,當然要對應自己的作業系統,這裡我是以windows作業系統為例。目前下載JDK需要註冊ORACLE的賬號,註冊就行了。 ![](https://img2020.cnblogs.com/blog/2229617/202104/2229617-20210401225101433-621648978.png) 儘量下載JDK8、7,目前企業中用的最多的就是這兩個版本,因為新的版本可能不太穩定。這和Windows版本選擇一樣,要選擇穩定的版本使用。只需要瞭解新版本有什麼特性就行了。 下載後會發現是一個exe可執行檔案,直接雙擊安裝即可。 再安裝過程中會出現有一個下一步,下一步之後會有一個安裝到電腦中的哪一個位置,建議安裝到一個好找的地方。 設定好之後確定點選下一步。等待安裝完成,然後關閉 **設定環境變數**: 1. 我的電腦--右鍵點選屬性---選則高階系統設定--點選環境變數 2. 我們要在系統環境變數配置--點選下面的新建 3. 變數名:JAVA_HOME 4. 變數值:為剛在安裝的JDK資料夾的路徑,然後點選確定 5. 配置path變數,在系統變數中找到path,點選進去後點選新建 6. 然後後輸入`%JAVA_HOME%\bin` 7. 然後再新建一個,輸入`%JAVA_HOME%\jar\bin` 8. 然後全部確定 9. 檢測是否安裝成功,開啟CMD輸入`java -version`回車如果列印了Java的版本,表明列印成功 windows+r鍵開啟放大鏡 ![](https://img2020.cnblogs.com/blog/2229617/202104/2229617-20210401225117074-1386012618.png) ![](https://img2020.cnblogs.com/blog/2229617/202104/2229617-20210401225125640-1142167348.png) ### JDK解除安裝操作 1. 刪除Java的安裝目錄 2. 刪除JAVA_HOME 3. 刪除path下關於Java的目錄 4. 在doc視窗下 java -version檢視是否真正刪除 ## Hello World 程式猿的第一聲吶喊:Hello World! 1. 新建資料夾,存放程式碼 2. 新建一個java檔案 1. 檔案字尾名為.java 2. Hello.java 3. 編寫程式碼 ```java public class Hello{//類 Hello為類名 public為修飾符 public static void main(String[] args){//main為主方法程式必須通過main方法執行 其前面的為修飾符和關鍵字 System.out.print("Hello World!");//輸出Hello World! } } ``` ![](https://img2020.cnblogs.com/blog/2229617/202104/2229617-20210401225142022-2092254437.png) 首先Java再執行檔案的時候,都需要將檔案編譯成位元組碼檔案在執行。 > 第一步進入cmd然後進入到檔案存放的路徑下 > > 第二步編譯位元組碼檔案:通過Javac來編譯格式為javac 檔名。字尾 > > `javac Hello.java` > > 編譯之後會在檔案同級下生成一個class檔案 > > 第三步:執行class檔案 `java 檔名` 不需要寫字尾名 可能遇到的問題: 1. 每個單詞的大小寫不能出現問題:**Java大小寫敏感** 2. 儘量使用英文 3. 檔名和類名(類名就是class後面的名字)必須保證一致,並且首字母大寫。 4. 符號使用了中文,會報錯,一定要注意。 ## Java程式執行機制 計算機的高階程式語言分為兩種,分別為: 1. 編譯型(complie ) 1. 就是將程式整體的編譯,如果程式碼檔案有部分改動,也需要重新編譯整段程式碼。作業系統一般使用的都是編譯型。C/C++也都是編譯型 2. 解釋型 1. 就是程式碼再編寫的過程中寫一句編譯一句。比如網頁對速度要求不高,就可以使用解釋型邊執行邊解釋。Java script也是屬於解釋型語言。 3. 這兩種編譯方法各有好處不能說誰好誰壞。 Java那即屬於編譯型又屬於解釋性。 隨著技術的發展計算機的效能提高,解釋型和編譯型的界限與來越模糊。 **程式執行機制** ![](https://img2020.cnblogs.com/blog/2229617/202104/2229617-20210401225152418-1928027372.png) ## IDEA安裝和介紹 [IDEA官網](https://jetbrains.com/) **什麼是IDE** Ecslipes ... IDEA (java的開發工具) ​ 整合開發環境(IDE,Integrated Development Environment)是用與提供程式開發環境的應用程式,一般包括程式碼編輯器、編譯器、偵錯程式和圖形使用者介面等工具,集成了程式碼編寫功能、分析功能、編譯功能、除錯功能等一體化開發軟體服務套,所有具備這一特性的軟體或者軟體套組都可以叫整合開發環境。 **IDEA介紹** 在業界被認為是最好的開發環境。 ![](https://img2020.cnblogs.com/blog/2229617/202104/2229617-20210401225204375-215543319.png) 直接搜尋IDEA即可進入官網。上面也設定了傳送門。 安裝步驟: 1. 下載好後雙擊即可安裝 2. 直接NEXT然後選擇安裝路徑,不推薦安裝路徑中含有中文。然後NEXT。然後會彈出以下介面:按照圖中的選項勾選。 3. ![](https://img2020.cnblogs.com/blog/2229617/202104/2229617-20210401225217171-1203601661.png) 4. 然後如果你下的為專業版可能會需要新增驗證碼,當然也可以選擇試用30天。也可以百度破解(不推薦)。 5. 安裝後就可以開啟正常使用了。 安裝好後可以在百度搜索:IDEA優化(看個