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