四虎影视库国产精品一区-四虎影视库-四虎影视久久久免费-四虎影视久久久-四虎影视久久-四虎影视精品永久免费网站

TEL:17368476151

Java培訓 > Java知識 >

Java從小白到大牛

作者:南京????來源:南京????發布時間:2020-01-09 08:43????瀏覽量:174

  Java誕生到現在已經有20多年了,但是Java仍然是非常熱門的編程語言之一,很多平臺中使用Java開發。Java語言的熱度,或許這也是很多人選擇學習Java的主要原因。

  Java語言歷史

  在正式學習Java語言之前,有必要先來了解一下Java的歷史。1990年底美國Sun公司[1]成立了一個叫做Green的項目組,該Green項目主要目標是為消費類電子產品開發一種分布式系統,使之能夠操控電冰箱、電視機等家用電器。

  消費類電子產品種類很多,包括掌上電腦(個人數字助理,Personal Digital Assistant,簡稱PDA)、機頂盒、手機等等,這些消費類電子產品所采用的處理芯片和操作系統基本上都是不相同的,存在跨平臺等問題。開始Green項目組考慮采用C++語言來編寫消費類電子產品的應用程序,但是C++語言過于復雜、龐大,而且安全性差。于是他們設計并開發出一種新的語言——Oak(橡樹)。Oak這個名字來源于Green項目組辦公室窗外的一棵橡樹。由于Oak在進行注冊商標時已經被注冊,他們需要為這個新語言取一個新的名字,有一天,幾位項目的成員正在咖啡館喝著Java(爪哇)咖啡,其中一個人靈機一動說就叫Java怎么樣?馬上得到了其他人的同意,于是這個新的語言取名為Java。

  Sun在1996年發布了Java 1.0,但是Java 1.0開發的應用速度很慢,并不適合做真正的應用開發,直到Java 1.1后速度有了明顯的提升。Java設計之初是為消費類電子產品開發應用,但是真正使Java流行起來是在互聯網上的Web應用程序,上個世紀90年代正在互聯網發展起步階段,互聯網上設備差別很大,需要應用程序能夠跨平臺運行,那么Java語言具有“一經編寫到處運行”的跨平臺能力。

  到本書編寫時,Oracle公司已經發布了Java 8,Java 9將在2017年秋季發布。Java

  在20多年發展過程中,與時俱進,為了適應時代的需要,經歷過兩次重大的版本升級,一個是Java 5,Java 5提供了泛型等重要的功能;另一個是Java 8,Java 8中提供了Lambda表達式和枚舉類等重要的功能。

  Java語言特點

  Java語言能夠流行起來,并長久不衰,得益于Java語言有很多優秀的關鍵特點。這些特點包括:簡單、面向對象、分布式、結構中立、可移植、解釋執行、健壯、安全、高性能、多線程和動態。下面詳細解釋一下:

  1. 簡單

  Java設計目標之一就是能夠方便學習,使用簡單。由于當初C++程序員很多,介紹C++語言的書籍也很多,所以Java語言的風格設計成為類似于C++語言風格,但Java摒棄了C++中容易引發程序錯誤的地方,如指針、內存管理、運算符重載和多繼承等。一方面C++程序員可以很快遷移到Java;另一方面沒有編程經驗的初學者也能很快學會Java。

  2. 面向對象

  面向對象是Java重要的特性。Java是徹底的、純粹的面向對象語言,在Java中“一切都是對象”。Java完全具有面向對象三個基本特性:封裝、繼承和多態,其中封裝性實現了模塊化和信息隱藏,繼承性實現了代碼的復用,用戶可以建立自己的類庫。而且Java采用的是相對簡單的面向對象技術,去掉了多繼承等復雜的概念,只支持單繼承。

  3. 分布式

  Java語言就是為分布式系統而設計的。JDK(Java Development Kits,Java開發工具包)中包含了支持HTTP和FTP等基于TCP/IP協議的類庫。Java程序可以憑借URL打開并訪問網絡上的對象,其訪問方式與訪問本地文件系統幾乎完全相同。

  4. 結構中立

  Java程序需要在很多不同網絡設備中運行,這些設備有很多不同類型的計算機和操作系統。為能夠使Java程序能在網絡的任何地方運行,Java編譯器編譯生成了與機器結構(CPU和操作系統)無關的字節碼(byte-code)文件。任何種類的計算機,只要可以運行Java虛擬機,字節碼文件就可以在該計算機上運行。

  5. 可移植

  體系結構的中立也使得Java程序具有可移植性。針對不同的CPU和操作系統Java虛擬機有不同的版本,這樣就可以保證相同的Java字節碼文件可以移植到多個不同的平臺上運行。

  6. 解釋執行

  為實現跨平臺,Java設計成為解釋執行的,即Java源代碼文件首先被編譯成為字節碼文件,這些字節碼本身包含了許多編譯時生成的信息,在運行時候Java解釋器負責將字節碼文件解釋成為特定的機器碼進行運行。

北大青鳥軟件學校

  7. 健壯

  Java語言是強類型語言,它在編譯時進行代碼檢查,使得很多錯誤能夠在編譯期被發現,不至于在運行期發生而導致系統崩潰。

  Java摒棄了C++中指針操作,指針是一種很多強大的技術,能夠直接訪問內存單元,但同時也很復雜,如果指針操控不好,會引起導致內存分配錯誤、內存泄漏等問題。而Java中則不會出現由指針所導致的問題。

  內存管理方面C/C++等語言采用手動分配和釋放,經常會導致內存泄漏,從而導致系統崩潰。而Java 采用自動內存垃圾回收機制,程序員不再需要管理內存,從而減少內存錯誤的發生,提高了程序的健壯性。

  8. 安全

  在Java程序執行過程中,類裝載器負責將字節碼文件加載到Java虛擬機中,這個過程中由字節碼校驗器檢查代碼中是否存在著非法操作。如果字節碼校驗器檢驗通過,由Java解釋器負責把該字節碼解釋成為機器碼進行執行,這種檢查可以防止木馬病毒。

  另外。Java虛擬機采用的是“沙箱”運行模式,即把Java程序的代碼和數據都限制在一定內存空間里執行,不允許程序訪問該內存空間外的內存。

  9. 高性能

  Java編譯器在編譯時對字節碼會進行一些優化,使之生成高質量的代碼。Java字節碼格式就是針對機器碼轉換而設計的,實際轉換時相當簡便。Java在解釋運行時采用一種即時編譯技術,可使Java程序的執行速度提升很大。多年的發展Java虛擬機也有很多改進這都使得Java程序的執行速度提升很大。

  10. 多線程

  Java是為網絡編程而設計的,這要求Java能夠并發處理多個任務。Java支持多線程編程,多線程機制可以實現并發處理多個任務,互不干涉,不會由于某一任務處于等待狀態而影響了其它任務的執行,這樣就可以容易的實現網絡上的實時交互操作。

  11. 動態

  Java應用程序在運行過程中,可以動態的加載各種類庫,即使是更新類庫也不必重新編譯使用這一類庫的應用程序。這一特點使之非常適合于網絡環境下運行,同時也非常有利于軟件的開發。

  1.3 Java平臺

  Java不僅是編程語言,還是一個開發平臺,Sun公司根據Java應用領域的不同將Java分成三個平臺:Java SE、Java EE和Java ME。

  1.3.1 Java SE

  Java SE是Java Standard Edition,主要目的是為臺式機和工作站桌面應用(Application)程序的版本。Java SE是其他平臺的基礎,本書主要介紹的就是Java SE版本中的技術。

  Java SE中主要包含了:JRE(Java SE Runtime Environment,Java SE運行環境)、JDK(Java Development Kit,Java開發工具包)和Java核心類庫。如果只是運行Java程序,不考慮開發Java程序,那么只安裝JRE就可以了。在JRE中包含了Java程序運行所需要的Java虛擬機(JVM,Java Virtual Machine)。JDK中包含了JRE和一些開發工具,這些工具包括:編譯器、文檔生成器和文件打包等工具。

  另外,Java SE中還提供了Java應用程序開發需要的基本的和核心的類庫,這些類庫:字符串、集合、輸入輸出、網絡通信和圖形用戶界面等。事實上學習Java就是在學習Java語法和Java類庫使用。

  1.3.2 Java EE

  Java EE是Java Enterprise Edition,主要目的是為簡化企業級系統的開發、部署和管理。Java EE是以Java SE為基礎的,并提供了一套服務、API接口和協議,能夠開發企業級分布式系統、Web應用程序和業務組件等,其中的包括:JSP、Servlet、EJB、JNI和Java Mail等。

  1.3.3 Java ME

  Java ME是Java Micro Edition,主要是面向消費類電子產品,為消費電子產品提供一個Java的運行平臺,使得Java程序能夠在手機、機頂盒、PDA等產品上運行。Java ME在早期的諾基亞塞班手機系統有很多應用,而現在的iOS和Android等智能手機中基本上沒有它的用武之地。(相關推薦:JAVA虛擬機體系結構

  1.4 Java虛擬機

  Java應用程序能夠跨平臺運行,主要是通過Java虛擬機實現的。不同軟硬件平臺Java虛擬機是不同的,Java虛擬機往下是不同的操作系統和CPU,使用或開發時需要下載不同的JRE或JDK版本。Java虛擬機往上是Java應用程序,Java虛擬機屏蔽了不同軟硬件平臺,Java應用程序不需要修改,不需要重新編譯直接可以在其他平臺上運行。


本文內容、圖片由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至2353260942@qq.com 舉報,一經查實,本站將立刻刪除。互聯網教程 寵物知識(如需投稿聯系管理員開通!)

? CopyRight njjava.com ???? 蘇ICP備14052071號

搶試聽名額

名額僅剩66名

教育改變生活

WE CHANGE LIVES