java基礎-01基本概念

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工做方式

  1. 編寫源代碼。列入存爲 Party.javahtml

  2. 編譯器。 執行javac來編譯源代碼。編譯器會檢查錯誤。java

  3. 若是程序沒有錯誤,編譯器產生編譯文件Party.class文件。這個編譯文件由字節碼組成。這個編譯文件與平臺無關linux

  4. 啓動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#SECDEBUGwindows

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 提供了包機制,用於區別類名的命名空間。
包的做用以下:瀏覽器

  1. 模塊化:把功能類似或相關的類或接口組織在同一個包中,方便類的查找和使用。
  2. 惟一標識:【包名+類名】在同一個程序中必須是惟一的,避免名字衝突。不一樣包的類名能夠相同,但使用時應該指定包名。
  3. 權限控制:類名前不加任何權限修飾詞時,表明只有這個包的類能夠訪問這個類。

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
相關文章
相關標籤/搜索