1. 程式人生 > >Java 概述及安裝使用

Java 概述及安裝使用

加載 過多 java源代碼 自動裝箱 optional java 概述 大神 compile mac


Java是什麽

概述

java是一種面向對象編程語言,不過經過多年的發展,現在已經演變為了一套強大的技術體系。Java設計者們將Java劃分為3種結構獨立但卻彼此依賴的技術體系分支,它們分別對應著不同的規範集合和組件:

  • Java SE(標準版):主要活躍在桌面領域,主要包含了Java API組件;
  • Java EE(企業版):主要活躍在企業級領域,除了Java API組件外,還有Web組件、事務組件、分布式組件、EJB組件、消息組件等等,綜合這些技術,開發人員完全可以構建出一個具備高性能、結構嚴謹的企業級應用,並且Java EE 也是用於構建SOA(面向服務架構)的首選平臺;
  • Java ME(精簡版)
    :主要活躍在嵌入式領域,精簡是因為它僅保留了Java API中的部分組件以及適應設備的一些特有組件;

jdk主要功能變更

  • 1.5
    • 泛型
    • 增強循環,可使用叠代方式
    • 自動裝箱拆箱
    • 類型安全的枚舉
    • 可變參數
    • 元數據(註解)
  • 1.6
    • 繼承Web Services
    • 腳本語言支持
    • 可拔插註解
    • Java Compiler API
    • JDBC 4.0API
  • 1.7
    • switch中使用字符串
    • 在創建泛型對象時應用類型推斷
    • 在一個語句塊中捕獲多種異常
    • 支持動態語言
    • 數值類型可以用二進制字符串表示
    • null值自動處理
  • 1.8
    • Lambda表達式(允許把函數作為一個方法的參數)
    • 方法引用(與lambda聯合使用,直接引用已有Java類的方法或構造器)
    • 接口有一個默認的實現方法
    • Stream API
    • Date Time API(加強對日期與時間的處理)
    • Optional(用於解決空指針異常)
    • Nashorn,JavaScript引擎
    • 詳細參考
  • 1.9
    • 模塊系統(包的容器)
    • JShell(交互式編程環境)
    • HTTP2客戶端
    • 改進的Javadoc
    • 多版本兼容JAR包
    • 集合工廠方法
    • 私有接口方法(可以使用 private 訪問修飾符在接口中編寫私有方法)
    • 進程API
    • 改進鉆石操作符
    • 多分辨率圖片API
    • 輕量級JSON API
    • 響應式流
    • 詳細參考


JVM、JRE、JDK

JVM:Java Virtual Machine,即Java虛擬機,java程序是運行在Java虛擬機上面的,不同平臺有自己的虛擬機,因此java代碼可以跨平臺使用;(JVM池子太深,先留坑)

JRE:Java Runtime Environment,即Java運行環境,包含了JVM和Java核心類庫,它只是運行環境,沒有任何開發工具;

JDK:Java Development Kit,即Java開發工具包,它包含了JRE、Java各種類庫以及工具。jdk和jre的bin目錄最明顯的區別就是:只有jdk文件下才有javac;

具體關系圖
技術分享圖片




為什麽用Java

Java的特點

簡單

  1. Java是C++的一個變種,但是摒棄了C++中復雜又容易引發程序錯誤的地方,如指針和內存管理;
  2. Java本身提供了豐富的類庫,簡化開發;

面向對象

  1. 支持靜態和動態風格的代碼繼承以及重用;
  2. Java還包括一個類的擴展集合,分別組成各種程序包

分布式

  1. Java包括一個支持HTTP和FTP等TCP/IP協議的子庫,因此Java程序可打開並訪問網絡上的對象,訪問方式與訪問本地文件系統幾乎相同;

健壯

  1. Java致力於檢查程序在編譯和運行時的錯誤,類型檢查能幫助檢查出許多早期出現的錯誤;
  2. Java自動操縱內存減少了內存出錯的可能性;
  3. Java實現了真數組,避免了覆蓋數據的可能;

安全

  1. 編譯時數據類型檢查和自動內存管理使代碼更健壯,減少內存損壞和漏洞;
  2. 字節碼驗證可確保代碼符合JVM規範並防止惡意代碼破壞運行時環境;
  3. 類加載器可防止不受信任的代碼幹擾其他Java程序的運行;
  4. 基於一個動態、可擴展、基於標準、可互操作的安全架構,內置加密、身份驗證授權、公共密鑰基礎架構等安全特性;

平臺無關性

  1. Java源代碼和字節碼與機器無關,因此字節碼文件能運行於不同的平臺,實現一次編譯,處處運行。
  2. 與機器有關的是JVM,JVM是建立在硬件和操作系統之上,實現Java字節碼代碼的解釋執行功能,提供不同平臺的接口;

其實Java真正強大的地方是因為有著眾多的技術擁護者和開源社區的支持,使Java無時不刻都保持著最充沛的體力與思維,驅動Java發展

Java的缺點

  1. 內存操作自動化限制;
  2. 解釋型語言,運行效率較低;
  3. 取消了指針操作,不夠其他語言那樣靈活方便;




怎麽使用Java

安裝與配置

Mac用戶看這個 -> Mac安裝Java)

  1. JDK使整個Java的核心,開始先-> 下載jdk;
  2. 下載安裝完成後需要配置環境變量:
    1. 此電腦→右鍵→屬性→高級系統設置→環境變量;
    2. 新建一個變量名為“JAVA_HOME”的系統變量,變量值為jdk安裝目錄(x:\xx\jdkxx);
    3. 新建一個變量名為“CLASSPATH”,變量值為“ %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar ”;
    4. Path系統變量中,添加“ %JAVA_HOME%\bin ”和“ %JAVA_HOME%\jre\bin ”這兩個系統變量
  3. 驗證安裝
    1. 保存後打開命令行窗口;
    2. 分別輸入java和javac,都正常顯示則代表成功安裝;


開發工具

開發Java通常使用兩種工具,選一個點擊進行安裝,當然也可以選擇其他IDE:

  • Eclipse IDE
  • InteliJ IDEA


第一個Java程序

1.打開代碼編輯器,復制以下代碼:

public class HelloWorld {
    /* 第一個Java程序
     * 它將打印字符串 Hello World
     */
    public static void main(String []args) {
        System.out.println("Hello World"); // 打印 Hello World
    }
}

2.保存為HelloWorld.java文件;
3.打開cmd窗口,進入目標文件所在文件夾位置;
4.輸入 javac HelloWorld.java 進行編譯;
5.無誤後輸入 java HelloWorld 即可運行;


基本語法

註釋

行級註釋:// xxx
塊級註釋:/* xxx */
文檔註釋:/** xxx */

標識符

英文
數字
下劃線
美元符
標識符規則:

  1. 不能數字開頭
  2. 不能用關鍵字
  3. 遵循駝峰法則
  4. 盡量見名知意

數據類型

基本數據類型:

  • 整數 —— byte、short、int、long
  • 浮點數 —— float、double
  • 字符 —— char
  • 布爾型 —— boolean

引用數據類型:

  • 數組
  • 類(String也在其中)
  • 接口

數據類型的轉換

根據字節數由小到大排序:

  1. byte ——占用1字節,取值:-128~127(2^7)
  2. short ——占用2字節,取值:-32768~32767(2^15)
  3. int ——占用4字節,取值:-2147483648~2147483647(2^31)
  4. float ——占用4字節,取值:-3.4e+38 ~ 3.4e+38
  5. long ——占用8字節,取值:-9223372036854774808~9223372036854774807(2^63)
  6. double ——占用8字節,取值:-1.7e+308 ~ 1.7e+308

顯式轉換(強轉):大範圍轉到小範圍,要在等號右邊加上類型
隱式轉換(自動):小範圍轉到大範圍

變量

變量和引用存儲在棧中

  • 局部變量
  • 類變量(靜態變量)
  • 成員變量(非靜態變量)

常量

常量存儲在常量池中

  • 整形常量
  • 浮點數常量
  • 字符型常量
  • 布爾型常量
  • 字符串常量

Java符號以及優先級

篇幅太長,引用其他大神博客進行參考




Java 概述及安裝使用