java 基礎知識儲備
阿新 • • 發佈:2021-04-02
# 初始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優化(看個