java基礎-01基本概念
阿新 • • 發佈:2018-12-17
java的特點
跨平臺
- 所謂的平臺,我們可以理解為作業系統。
- 大部分語言是不能跨平臺的,比如c語言的程式在windows和linux上需要編寫不同的程式碼。
- java程式是執行在JVM(Java Virtual Machine - Java虛擬機器-虛構出來的計算機)中, JVM是Java跨平臺使用的根本。
- Java既是編譯型語言(編譯為位元組碼,位元組碼可以在jvm中執行)也是解釋型語言(jvm把位元組碼解釋為具體平臺的機器指令)。
可靠安全
- 強型別語言,變數先定義再使用,編譯時會檢查變數型別是否正確。
- 使用引用型別代替指標,指標可以直接操作記憶體,可能導致程式崩潰。
- JVM會對位元組碼進行檢查。
- 異常處理機制,對可能錯誤的程式碼,進行異常檢查。
面向物件
- 支援封裝、繼承、多型,模組化,高內聚,低耦合,通過介面聯絡。
- 一切都是物件。
多執行緒
- 多執行緒功能使得在一個程式裡可同時執行多個小任務。
- 多執行緒帶來的更大的好處是更好的互動效能和實時控制性能。
分散式計算
- 包含HTTP和FTP等協議類庫,可憑藉URL操作網路物件,訪問方式與訪問本地檔案系統幾乎完全相同,為分散式程式設計提供了很大方便。
- 強大的網路程式設計,比如socket程式設計。
動態特性
- 動態特性,允許程式動態地裝入執行過程中所需要的類。
- 實現方式1:反射Reflection(慢,耗效能,是直接invoke發生的近1000倍)和動態代理。
- 實現方式2:Instrumentation(java6新特性), 執行時類轉化Runtime Class Transformation。
java工作方式
編寫原始碼。列入存為 Party.java
編譯器。 執行javac來編譯原始碼。編譯器會檢查錯誤。
如果程式沒有錯誤,編譯器產生編譯檔案Party.class檔案。這個編譯檔案由位元組碼組成。這個編譯檔案與平臺無關
啟動JVM(Java虛擬機器),執行Party.calss. JVM將位元組碼轉換為平臺能理解的形式來執行。
開發工具
JDK工具
- javac 編譯
- java 執行
- jar 打包
https://www.cnblogs.com/wang7/p/10127415.html
IDEA
Intellj IDEA 簡易教程 http://www.cnblogs.com/rocedu/p/6371315.html#SECDEBUG
java術語
java 三個體系
- JavaSE(Java Platform Standard Edition,java平臺標準版)
- JavaEE(Java Platform Enterprise Edition,java平臺企業版)
- JavaME(Java Platform Micro Edition,java平臺微型版)
java專有術語
- JDK(Java Development Kit):Java 語言的軟體開發工具包
- OpenJDK:Java SE 的一個免費開源實現, 不包含瀏覽器整合或 JavaFX
- JRE(Java Runtime Environment): Java 執行環境,JRE由Java API和JVM組成
- JVM (Java Virtual Machine):java虛擬機器
- JAVA_HOME:java安裝位置,用來配置環境變數
- classpath: 類路徑,讓java 直譯器知道到哪裡去找類
源程式結構
Java 包(package):為了更好地組織類,Java 提供了包機制,用於區別類名的名稱空間。
包的作用如下:
- 模組化:把功能相似或相關的類或介面組織在同一個包中,方便類的查詢和使用。
- 唯一標識:【包名+類名】在同一個程式中必須是唯一的,避免名字衝突。不同包的類名可以相同,但使用時應該指定包名。
- 許可權控制:類名前不加任何許可權修飾詞時,代表只有這個包的類可以訪問這個類。
Java中的訪問許可權控制的等級,按照許可權從大到小依次為:
Public -> protected -> 包訪問許可權(沒有許可權修飾詞)-> private。
註釋
行註釋 //
多行註釋 /**/
文件註釋:
/**
標籤 描述 示例
@author 標識一個類的作者 @author description
@version 指定類的版本 @version info
@param 說明一個方法的引數 @param parameter-name explanation
@return 說明返回值型別 @return explanation
@deprecated 指名一個過期的類或成員 @deprecated description
@exception 標誌一個類丟擲的異常 @exception exception-name explanation
@throws 和 @exception標籤一樣. The @throws tag has the same meaning as the @exception tag.
{@link} 插入一個到另一個主題的連結 {@link name text}
{@linkplain} 插入一個到另一個主題的連結,但是該連結顯示純文字字型 Inserts an in-line link to another topic.
@see 指定一個到另一個主題的連結 @see anchor
{@value} 顯示常量的值,該常量必須是static屬性。 Displays the value of a constant, which must be a static field.
*/
參考
- Java語言的主要特點 https://www.cnblogs.com/yxiaooutlook/p/7625362.html
- JAVA語言主要特點有哪些? https://www.cnblogs.com/jay36/p/7762535.html
- Java程式設計的動態特性, 從Reflection到Runtime Class Transformation https://blog.csdn.net/iteye_12751/article/details/82550531
- Instrumentation 新功能 https://www.ibm.com/developerworks/cn/java/j-lo-jse61/
- Java Instrumentation https://blog.csdn.net/DorMOUSENone/article/details/81781131
- JDK工具一覽表 https://blog.csdn.net/qq_27607965/article/details/79982519
- Java學習之專業術語 https://blog.csdn.net/yxys01/article/details/78517459
- Java中的訪問控制權限 https://www.cnblogs.com/jingmoxukong/p/5182331.html
- Java 文件註釋http://www.runoob.com/java/java-documentation.html