《Java和Android开发实战详解》——1.2节Java基础知识
本節(jié)書摘來自異步社區(qū)《Java和Android開發(fā)實戰(zhàn)詳解》一書中的第1章,第1.2節(jié)Java基礎(chǔ)知識,作者 陳會安,更多章節(jié)內(nèi)容可以訪問云棲社區(qū)“異步社區(qū)”公眾號查看
1.2 Java基礎(chǔ)知識
Java和Android開發(fā)實戰(zhàn)詳解
Java語言類似于C++是一種編譯型語言,不過兩者并不完全相同,嚴格說來,Java是結(jié)合編譯和解釋優(yōu)點的一種編程語言。
1.2.1 Java平臺
“平臺”(Platform)是一種結(jié)合硬件和軟件的執(zhí)行環(huán)境。Java既是一種高級的面向?qū)ο蟮木幊陶Z言,也是一個平臺。Java平臺是一種純軟件平臺,它可以在各種基于硬件的平臺上運行,與硬件無關(guān),主要是由JVM和Java API兩個部分組成。
1.JVM虛擬機
JVM(Java Virtual Machine,Java虛擬機)是由軟件虛擬出來的一臺計算機,Java源代碼并不是使用Java編譯程序(Java Compiler)編譯成其安裝實體計算機可執(zhí)行的機器語言,而是JVM虛擬機的機器語言,稱為“字節(jié)碼”(Bytecode)。
字節(jié)碼是一種可以在JVM解釋或編譯執(zhí)行的程序,換句話說,計算機操作系統(tǒng)需要安裝JVM,才能夠使用Java解釋程序(Java Interpreter)來解釋和執(zhí)行字節(jié)碼,如圖1-3所示。
圖1-3中的Java源代碼(擴展名為.java)在編譯成字節(jié)碼(擴展名為.class)后,即可在Windows、UNIX,或Machintosh的Mac OS操作系統(tǒng)上執(zhí)行,只需安裝JVM,同一個字節(jié)碼文件就可以跨平臺運行在不同操作系統(tǒng)上,使用Java解釋程序來正確執(zhí)行Java應(yīng)用程序。
2.Java API
Java API(Java Application Programming Interface)是軟件組件的一個集合,也就是C/C++語言所謂的函數(shù)庫,它提供集合對象、GUI組件、文件處理、數(shù)據(jù)庫訪問和網(wǎng)絡(luò)等相關(guān)的類和接口,稱為“包”(Package)。
1.2.2 Java語言的版本
Java是一種高級和面向?qū)ο缶幊陶Z言,其語法和C/C++語言十分相似,支持Windows、Solaris、Linux和Mac OS X操作系統(tǒng),分成企業(yè)版(EnterPrise Edition,EE)和標準版(Standard Edition,SE)。
1.標準版的版本演進
本書介紹應(yīng)用程序開發(fā)使用的是Java SE標準版,其版本演進如表1-3所示。
其中1.0、1.1、5.0和6簡稱JDK,1.2、1.3和1.4版簡稱SDK。在1.2版時,因為與前版有極大改進,增加全新Swing圖形用戶接口,所以稱為Java 2平臺。
從1.3版后,Sun將平臺與平臺開發(fā)工具的名稱分開,平臺分為標準版(Standard Edition,SE)和企業(yè)版(Enterprise Edition,EE)。企業(yè)版新增額外函數(shù)庫,主要用來開發(fā)企業(yè)級的服務(wù)器端Java應(yīng)用程序。
到了5.0版,Java版本號也分為兩種:產(chǎn)品版本號是5.0版(Product Version),JDK使用1.5.0版,為開發(fā)版本號(Developer Version)。從SE 6版開始,官方名稱由J2SE改為Java SE,不再稱為Java 2,Java SE 7是平臺名稱,同時使用開發(fā)版本號1.7.0和產(chǎn)品版本號7代表新版的Java平臺。
2.Java SE 7
Java SE 7是Jave語言的最新版本,也是甲骨文(Oracle)并購Sun公司后,首次發(fā)布的Java平臺版本。Java SE 7版包含很多全新功能、增強功能與錯誤修正,可以全方面提升開發(fā)與執(zhí)行Java程序的效率。
Java SE 7除了修正不少漏洞及提升整體性能外,更提供對Ruby、Python和JavaScript語言的支持,并且針對多內(nèi)核環(huán)境新增全新API,并大幅提升JVM性能,使用全新文件系統(tǒng)API,支持異步I/O。其主要增強功能簡要說明如下。
改善整體性能、穩(wěn)定性及安全性。
增強Java插件的功能,方便Intenet應(yīng)用程序的開發(fā)與部署。
強化Java語法,讓開發(fā)人員更輕松地編寫與優(yōu)化Java程序代碼。
增強Java虛擬機的功能,使其可以支持非Java語言。
1.2.3 Java編程語言的特點
Java語言是一款簡單、功能強大和高性能的面向?qū)ο缶幊陶Z言,不只這樣,Java語言還擁有一些傳統(tǒng)編程語言所沒有的特點。
1.分布式
Java語言最初的規(guī)劃是一種網(wǎng)絡(luò)編程語言,可以支持各種網(wǎng)絡(luò)協(xié)議,能夠建立分布式(Distributed)主從架構(gòu)的應(yīng)用程序,輕松訪問網(wǎng)絡(luò)上其他主機的資源。
2.多線程
Java語言支持多線程(Multi-Threading),在同一程序能夠創(chuàng)建多個執(zhí)行小程序,稱為“輕量級進程”(Light Weight Process),以便執(zhí)行不同的工作,并且支持同步功能,能夠避免“死鎖”(Deadlock)情況的發(fā)生。
3.垃圾回收
垃圾(Garbage Collection)是指處理程序不再使用的內(nèi)存空間。在C/C++語言中需要程序員自行處理內(nèi)存的配置與釋放,當(dāng)不再使用時,程序需要提供程序代碼來釋放內(nèi)將其存歸還給操作系統(tǒng),這樣操作系統(tǒng)才能夠再次分配內(nèi)存給其他應(yīng)用程序。
Java語言則擁有自動垃圾回收能力,程序設(shè)計者不用擔(dān)心內(nèi)存配置不足的問題,因為在執(zhí)行Java程序時,會自動將不再使用的內(nèi)存歸還給操作系統(tǒng)。
4.異常處理
計算機程序不可能沒有“小臭蟲”(Bugs)。在程序運行時極有可能產(chǎn)生一些小錯誤,有些可能只會產(chǎn)生錯誤結(jié)果,但是有一些小錯誤可能導(dǎo)致嚴重的系統(tǒng)當(dāng)機問題,傳統(tǒng)編程語言并沒有完善的異常處理(Exception Handling)機制,所以常常會出現(xiàn)一些不明的系統(tǒng)錯誤。
異常處理的目的是為了讓程序能夠更加“強壯”(Robust),就算程序遇到不尋常情況,也不會造成程序“崩潰”(Crashing),甚或?qū)е抡麄€系統(tǒng)的當(dāng)機。
總結(jié)
以上是生活随笔為你收集整理的《Java和Android开发实战详解》——1.2节Java基础知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《C语言编程魔法书:基于C11标准》——
- 下一篇: 《Ceph源码分析》——第1章,第一节C