1. 程式人生 > >Java入門需要了解的一些知識

Java入門需要了解的一些知識

目錄

  1. Java各版本的含義
  2. Java的特性和優勢
  3. Java應用程式的執行機制
  4. JVM、JRE和JDK

Java各版本的含義

       JavaSE(Java Standard Edition):標準版,定位在個人計算機上的應用。這個版本是Java平臺的核心,它提供了非常豐富的API來開發一般個人計算機上的應用程式,包括使用者介面介面AWT及Swing,網路功能與國際化、影象處理能力以及輸入輸出支援等。在上世紀90年代末網際網路上大放異彩的Applet也屬於這個版本。Applet後來為Flash取代,Flash即將被HTML5取代。

  JavaEE(Java Enterprise Edition):企業版,定位在伺服器端的應用。

  JavaEE是JavaSE的擴充套件,增加了用於伺服器開發的類庫。如:JDBC是讓程式設計師能直接在Java內使用的SQL的語法來訪問資料庫內的資料;Servlet能夠延伸伺服器的功能,通過請求-響應的模式來處理客戶端的請求;JSP是一種可以將Java程式程式碼內嵌在網頁內的技術;

  JavaME(Java Micro Edition):微型版,定位在消費性電子產品的應用上

  JavaME是JavaSE的內伸,包含J2SE的一部分核心類,也有自己的擴充套件類,增加了適合微小裝置的類庫:javax.microedition.io.*等。該版本針對資源有限的電子消費產品的需求精簡核心類庫,並提供了模組化的架構讓不同型別產品能夠隨時增加支援的能力。


Java的特性和優勢

·跨平臺/可移植性

      這是Java的核心優勢。Java在設計時就很注重移植和跨平臺性。比如:Java的int永遠都是32位。不像C++可能是16,32,可能是根據編譯器廠商規定的變化。這樣的話程式的移植就會非常麻煩。

·安全性

      Java適合於網路/分散式環境,為了達到這個目標,在安全性方面投入了很大的精力,使Java可以很容易構建防病毒,防篡改的系統。

·面向物件

      面向物件是一種程式設計技術,非常適合大型軟體的設計和開發。由於C++為了照顧大量C語言使用者而相容了C,使得自身僅僅成為了帶類的C語言,多少影響了其面向物件的徹底性!Java則是完全的面嚮物件語言。

·簡單性

      Java就是C++語法的簡化版,我們也可以將Java稱之為“C++-”。跟我念“C加加減”,指的就是將C++的一些內容去掉;比如:標頭檔案,指標運算,結構,聯合,操作符過載,虛基類等等。同時,由於語法基於C語言,因此學習起來完全不費力。

·高效能

      Java最初發展階段,總是被人詬病“效能低”;客觀上,高階語言執行效率總是低於低階語言的,這個無法避免。Java語言本身發展中通過虛擬機器的優化提升了幾十倍執行效率。比如,通過JIT(JUST IN TIME)即時編譯技術提高執行效率。 將一些“熱點”位元組碼編譯成本地機器碼,並將結果快取起來,在需要的時候重新呼叫。這樣的話,使Java程式的執行效率大大提高,某些程式碼甚至接待C++的效率。

      因此,Java低效能的短腿,已經被完全解決了。業界發展上,我們也看到很多C++應用轉到Java開發,很多C++程式設計師轉型為Java程式設計師。

·分散式

      Java是為Internet的分散式環境設計的,因為它能夠處理TCP/IP協議。事實上,通過URL訪問一個網路資源和訪問本地檔案是一樣簡單的。Java還支援遠端方法呼叫(RMI,Remote Method Invocation),使程式能夠通過網路呼叫方法。

·多執行緒

      多執行緒的使用可以帶來更好的互動響應和實時行為。 Java多執行緒的簡單性是Java成為主流伺服器端開發語言的主要原因之一。

·健壯性

      Java是一種健壯的語言,吸收了C/C++ 語言的優點,但去掉了其影響程式健壯性的部分(如:指標、記憶體的申請與釋放等)。Java程式不可能造成計算機崩潰。即使Java程式也可能有錯誤。如果出現某種出乎意料之事,程式也不會崩潰,而是把該異常丟擲,再通過異常處理機制加以處理。


Java應用程式的執行機制

計算機高階語言的型別主要有編譯型和解釋型兩種,而Java 語言是兩種型別的結合。

      Java首先利用文字編輯器編寫 Java源程式,原始檔的字尾名為.java;再利用編譯器(javac)將源程式編譯成位元組碼檔案,位元組碼檔案的字尾名為.class; 最後利用虛擬機器(直譯器,java)解釋執行。


JVM、JRE和JDK

       JVM(Java Virtual Machine)就是一個虛擬的用於執行bytecode位元組碼的”虛擬計算機”。他也定義了指令集、暫存器集、結構棧、垃圾收集堆、記憶體區域。JVM負責將Java位元組碼解釋執行,邊解釋邊執行,這樣,速度就會受到一定的影響。

       不同的作業系統有不同的虛擬機器。Java 虛擬機器機制遮蔽了底層執行平臺的差別,實現了“一次編譯,隨處執行”。 Java虛擬機器是實現跨平臺的核心機制。

      Java Runtime Environment (JRE) 包含:Java虛擬機器、庫函式、執行Java應用程式所必須的檔案。

      Java  Development Kit (JDK)包含:包含JRE,以及增加編譯器和偵錯程式等用於程式開發的檔案。

·如果只是要執行Java程式,只需要JRE就可以。JRE通常非常小,其中包含了JVM。

·如果要開發Java程式,就需要安裝JDK

轉載自http://www.sxt.cn/Java_jQuery_in_action/The_First_Java_Procedure.html