Java期末复习速成(一)
Java期末復(fù)習(xí)速成(一)
文章目錄
- Java期末復(fù)習(xí)速成(一)
- Java概述
- 什么是Java?
- Java的特點
- Java開發(fā)環(huán)境
- JDK
- JRE
- Java開發(fā)環(huán)境配置
Java概述
什么是Java?
Java是Sun Microsystems 于1995年首次發(fā)布的一種編程語言和計算平臺。編程語言還比較好理解,那么什么是計算平臺呢?
計算平臺是在電腦中運行應(yīng)用程序(軟件)的環(huán)境,包括硬件環(huán)境和軟件環(huán)境。一般系統(tǒng)平臺包括一臺電腦的硬件體系結(jié)構(gòu)、操作系統(tǒng)、運行時庫。
Java是快速,安全和可靠的。從筆記本電腦到數(shù)據(jù)中心,從游戲機到科學(xué)超級計算機,從手機到互聯(lián)網(wǎng),Java無處不在!Java主要分為三個版本
- JavaSE(J2SE)(Java2 Platform Standard Edition,java平臺標(biāo)準版)
- JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平臺企業(yè)版)
- JavaME(J2ME)(Java 2 Platform Micro Edition,java平臺微型版)
Java的特點
Java是一門面向?qū)ο蟮木幊陶Z言
什么是面向?qū)ο?#xff1f;面向?qū)ο?Object Oriented)是一種軟件開發(fā)思想。它是對現(xiàn)實世界的一種抽象,面向?qū)ο髸严嚓P(guān)的數(shù)據(jù)和方法組織為一個整體來看待。
相對的另外一種開發(fā)思想就是面向過程的開發(fā)思想,什么面向過程?面向過程(Procedure Oriented)是一種以過程為中心的編程思想。舉個例子︰比如你是個學(xué)生,你每天去上學(xué)需要做幾件事情?
起床、穿衣服、洗臉?biāo)⒀?#xff0c;吃飯,去學(xué)校。一般是順序性的完成一系列動作。
而面向?qū)ο罂梢园褜W(xué)生進行抽象,所以這個例子就會變?yōu)?/p> class student(){void wakeUp(){...}void cloth(){...}void wash(){...}void eating({...}void gotoschool(){...} }
- 可以不用嚴格按照順序來執(zhí)行每個動作。這是特點一。
- Java摒棄了C++中難以理解的多繼承、指針、內(nèi)存管理等概念﹔不用手動管理對象的生命周期,這是特征二。
- Java 語言具有功能強大和簡單易用兩個特征,現(xiàn)在企業(yè)級開發(fā),快速敏捷開發(fā),尤其是各種框架的出現(xiàn),使Java成為越來越火的一門語言。這是特點三。
Java是一門靜態(tài)語言,靜態(tài)語言指的就是在編譯期間就能夠知道數(shù)據(jù)類型的語言,在運行前就能夠檢查類型的正確性,一旦類型確定后就不能再更改,比如下面這個例子。
靜態(tài)語言主要有Pascal,Perl,C/C++,JAVA,C#, Scala等。
相對應(yīng)的,動態(tài)語言沒有任何特定的情況需要指定變量的類型,在運行時確定的數(shù)據(jù)類型。比如有Lisp,Perl,Python、Ruby、JavaScript等。
從設(shè)計的角度上來說,所有的語言都是設(shè)計用來把人類可讀的代碼轉(zhuǎn)換為機器指令。動態(tài)語言是為了能夠讓程序員提高編碼效率,因此你可以使用更少的代碼來實現(xiàn)功能。靜態(tài)語言設(shè)計是用來讓硬件執(zhí)行的更高效,因此需要程序員編寫準確無誤的代碼,以此來讓你的代碼盡快的執(zhí)行。從這個角度來說,靜態(tài)語言的執(zhí)行效率要比動態(tài)語言高,速度更快。這是特點四。
Java具有平臺獨立性和可移植性
Java有一句非常著名的口號: Write once,run anywhere ,也就是一次編寫、到處運行。為什么Java 能夠吹出這種牛批的口號來?核心就是JVM。我們知道,計算機應(yīng)用程序和硬件之間會屏蔽很多細節(jié),它們之間依靠操作系統(tǒng)完成調(diào)度和協(xié)調(diào),大致的體系結(jié)構(gòu)如下:
那么加上Java應(yīng)用、JVM的體系結(jié)構(gòu)會變?yōu)槿缦?br />
Java是跨平臺的,已編譯的Java程序可以在任何帶有JVM的平臺上運行。你可以在Windows 平臺下編寫代碼,然后拿到Linux平臺下運行,該如何實現(xiàn)呢?
首先你需要在應(yīng)用中編寫Java 代碼;
用 Eclipse 或者 javac 把Java代碼編譯為.class文件;
然后把你的.class文件打成.jar文件;
然后你的.jar文件就能夠在Windows 、Mac OS X、Linux系統(tǒng)下運行了。不同的操作系統(tǒng)有不同的JVM實現(xiàn),切換平臺時,不需要再次編譯你的Java 代碼了。這是特點五。
Java能夠容易實現(xiàn)多線程
Java是一門高級語言,高級語言會對用戶屏蔽很多底層實現(xiàn)細節(jié)。比如Java是如何實現(xiàn)多線程的。從操作系統(tǒng)的角度來說,實現(xiàn)多線程的方式主要有下面這幾種:
- 在用戶空間中實現(xiàn)多線程
- 在內(nèi)核空間中實現(xiàn)多線程
- 在用戶和內(nèi)核空間中混合實現(xiàn)線程
而我認為Java應(yīng)該是在用戶空間實現(xiàn)的多線程,內(nèi)核是感知不到 Java存在多線程機制的。這是特點六。
Java具有高性能
我們編寫的代碼,經(jīng)過javac 編譯器編譯稱為字節(jié)碼(bytecode),經(jīng)過JVM內(nèi)嵌的解釋器將字節(jié)碼轉(zhuǎn)換為機器代碼,這是解釋執(zhí)行,這種轉(zhuǎn)換過程效率較低。但是部分JVM的實現(xiàn)比如Hotspot JVM都提供了**JIT(Just-In-Time)**編譯器,也就是通常所說的動態(tài)編譯器,JIT能夠在運行時將熱點代碼編譯機器碼,這種方式運行效率比較高,這是編譯執(zhí)行。所以Java不僅僅只是一種解釋執(zhí)行的語言。這是特點七。
Java語言具有健壯性
Java的強類型機制、異常處理、垃圾的自動收集等是Java程序健壯性的重要保證。這也是Java與C語言的重要區(qū)別。這是特點八。
Java 很容易開發(fā)分布式項目
Java語言支持 Internet應(yīng)用的開發(fā),Java中有 net api,它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的 **RMI(遠程方法激活)**機制也是開發(fā)分布式應(yīng)用的重要手段。這是特點九。
Java開發(fā)環(huán)境
JDK
JDK(Java Development Kit)稱為Java開發(fā)包或Java開發(fā)工具,是一個編寫Java的Applet小程序和應(yīng)用程序的程序開發(fā)環(huán)境。JDK是整個Java的核心,包括了Java運行環(huán)境(Java RuntimeEnvironment),一些Java工具和Java 的核心類庫(Java API)。
我們可以認真研究一下這張圖,它幾乎包括了Java中所有的概念,我使用的是 jdk1.8,可以點進去Description of Java Conceptual Diagram ,可以發(fā)現(xiàn)這里面包括了所有關(guān)于Java 的描述。
Oracle 提供了兩種 Java平臺的實現(xiàn),一種是我們上面說的JDK,Java開發(fā)標(biāo)準工具包,一種是JRE,叫做Java Runtime Environment,Java運行時環(huán)境。JDK的功能要比JRE全很多。
JRE
JRE是個運行環(huán)境,JDK是個開發(fā)環(huán)境。因此寫Java程序的時候需要JDK,而運行Java程序的時候就需要JRE。而JDK里面已經(jīng)包含了JRE,因此只要安裝了JDK,就可以編輯Java程序,也可以正常運行Java程序。但由于JDK包含了許多與運行無關(guān)的內(nèi)容,占用的空間較大,因此運行普通的Java程序無須安裝JDK,而只需要安裝JRE即可。
Java開發(fā)環(huán)境配置
相關(guān)教程
總結(jié)
以上是生活随笔為你收集整理的Java期末复习速成(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php-ftm,关于KEA128中FTM
- 下一篇: [论文笔记] Sigcomm 2018