Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言和Java平臺(tái)的總稱耙蔑。由James Gosling和同事們共同研發(fā),并在1995年正式推出臀栈。
Java分為三個(gè)體系:
JavaSE(J2SE)(Java2 Platform Standard Edition穴亏,java平臺(tái)標(biāo)準(zhǔn)版)</br>
JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平臺(tái)企業(yè)版)</br>
JavaME(J2ME)(Java 2 Platform Micro Edition滓走,java平臺(tái)微型版)垦江。</br>
2005年6月,JavaOne大會(huì)召開搅方,SUN公司公開Java SE 6比吭。此時(shí),Java的各種版本已經(jīng)更名以取消其中的數(shù)字"2":J2EE更名為Java EE, J2SE更名為Java SE腰懂,J2ME更名為Java ME梗逮。</br>
主要特性
Java語(yǔ)言是簡(jiǎn)單的:
Java語(yǔ)言的語(yǔ)法與C語(yǔ)言和C++語(yǔ)言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用绣溜。另一方面慷彤,Java丟棄了C++中很少使用的、很難理解的怖喻、令人迷惑的那些特性底哗,如操作符重載、多繼承锚沸、自動(dòng)的強(qiáng)制類型轉(zhuǎn)換跋选。特別地,Java語(yǔ)言不使用指針哗蜈,而是引用前标。并提供了自動(dòng)的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂距潘。
Java語(yǔ)言是面向?qū)ο蟮模?/h3>
Java語(yǔ)言提供類炼列、接口和繼承等原語(yǔ),為了簡(jiǎn)單起見音比,只支持類之間的單繼承俭尖,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements)洞翩。Java語(yǔ)言全面支持動(dòng)態(tài)綁定稽犁,而C++語(yǔ)言只對(duì)虛函數(shù)使用動(dòng)態(tài)綁定∩б冢總之已亥,Java語(yǔ)言是一個(gè)純的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言。
Java語(yǔ)言是分布式的:
Java語(yǔ)言支持Internet應(yīng)用的開發(fā)来屠,在基本的Java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口(java net)陷猫,它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫(kù)秫舌,包括URL、URLConnection绣檬、Socket足陨、ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開發(fā)分布式應(yīng)用的重要手段娇未。
Java語(yǔ)言是健壯的:
Java的強(qiáng)類型機(jī)制墨缘、異常處理、垃圾的自動(dòng)收集等是Java程序健壯性的重要保證零抬。對(duì)指針的丟棄是Java的明智選擇镊讼。Java的安全檢查機(jī)制使得Java更具健壯性。
Java語(yǔ)言是安全的:
Java通常被用在網(wǎng)絡(luò)環(huán)境中平夜,為此蝶棋,Java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊。除了Java語(yǔ)言具有的許多安全特性以外忽妒,Java對(duì)通過(guò)網(wǎng)絡(luò)下載的類具有一個(gè)安全防范機(jī)制(類ClassLoader)玩裙,如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查段直,并提供安全管理機(jī)制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵吃溅。
Java語(yǔ)言是體系結(jié)構(gòu)中立的:
Java程序(后綴為java的文件)在Java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件),然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行鸯檬。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)决侈。
Java語(yǔ)言是可移植的:
這種可移植性來(lái)源于體系結(jié)構(gòu)中立性,另外喧务,Java還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類型的長(zhǎng)度赖歌。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實(shí)現(xiàn)的功茴,Java的運(yùn)行環(huán)境是用ANSI C實(shí)現(xiàn)的(Java字節(jié)碼是運(yùn)行在JVM中)庐冯。
Java語(yǔ)言是解釋型的:
如前所述,Java程序在Java平臺(tái)上被編譯為字節(jié)碼格式痊土,然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行肄扎。在運(yùn)行時(shí)墨林,Java平臺(tái)中的Java解釋器對(duì)這些字節(jié)碼進(jìn)行解釋執(zhí)行赁酝,執(zhí)行過(guò)程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。
Java是高性能的:
與那些解釋型的高級(jí)腳本語(yǔ)言相比旭等,Java的確是高性能的酌呆。事實(shí)上,Java的運(yùn)行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來(lái)越接近于C++搔耕。
Java語(yǔ)言是多線程的:
在Java語(yǔ)言中隙袁,線程是一種特殊的對(duì)象痰娱,它必須由Thread類或其子(孫)類來(lái)創(chuàng)建。通常有兩種方法來(lái)創(chuàng)建線程:其一菩收,使用型構(gòu)為Thread(Runnable)的構(gòu)造子將一個(gè)實(shí)現(xiàn)了Runnable接口的對(duì)象包裝成一個(gè)線程梨睁,其二,從Thread類派生出子類并重寫run方法娜饵,使用該子類創(chuàng)建的對(duì)象即為線程坡贺。值得注意的是Thread類已經(jīng)實(shí)現(xiàn)了Runnable接口,因此箱舞,任何一個(gè)線程均有它的run方法遍坟,而run方法中包含了線程所要運(yùn)行的代碼。線程的活動(dòng)由一組方法來(lái)控制晴股。Java語(yǔ)言支持多個(gè)線程的同時(shí)執(zhí)行愿伴,并提供多線程之間的同步機(jī)制(關(guān)鍵字為synchronized)。
Java語(yǔ)言是動(dòng)態(tài)的:
Java語(yǔ)言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動(dòng)態(tài)變化的環(huán)境电湘。Java程序需要的類能夠動(dòng)態(tài)地被載入到運(yùn)行環(huán)境隔节,也可以通過(guò)網(wǎng)絡(luò)來(lái)載入所需要的類。這也有利于軟件的升級(jí)胡桨。另外官帘,Java中的類有一個(gè)運(yùn)行時(shí)刻的表示,能進(jìn)行運(yùn)行時(shí)刻的類型檢查昧谊。
Java開發(fā)工具
Java語(yǔ)言盡量保證系統(tǒng)內(nèi)存在1G以上刽虹,其他工具如下所示:
Linux 系統(tǒng)、Mac OS 系統(tǒng)呢诬、Windows 95/98/2000/XP涌哲,WIN 7/8系統(tǒng)。
Java JDK 7尚镰、8……
Notepad 編輯器或者其他編輯器阀圾。
IDE:IntelliJ IDEA、Android Studio狗唉、Eclipse
配置環(huán)境
Java的環(huán)境包含開發(fā)環(huán)境(JDK)初烘、運(yùn)行環(huán)境(JRE)。
JRE: Java Runtime EnvironmentJDK:Java Development Kit JRE顧名思義是java運(yùn)行時(shí)環(huán)境分俯,包含了java虛擬機(jī)肾筐,java基礎(chǔ)類庫(kù)。是使用java語(yǔ)言編寫的程序運(yùn)行所需要的軟件環(huán)境缸剪,是提供給想運(yùn)行java程序的用戶使用的吗铐。</br>
JDK顧名思義是java開發(fā)工具包,是程序員使用java語(yǔ)言編寫java程序所需的開發(fā)工具包杏节,是提供給程序員使用的唬渗。JDK包含了JRE典阵,同時(shí)還包含了編譯java源碼的編譯器javac,還包含了很多java程序調(diào)試和分析的工具:jconsole镊逝,jvisualvm等工具軟件壮啊,還包含了java程序編寫所需的文檔和demo例子程序巡扇。如果你需要運(yùn)行java程序灭衷,只需安裝JRE就可以了。如果你需要編寫java程序蒂秘,需要安裝JDK减江。JRE根據(jù)不同操作系統(tǒng)(如:windows染突,linux等)和不同JRE提供商(IBM,ORACLE等)有很多版本,最常用的是Oracle公司收購(gòu)SUN公司的JRE版本辈灼。</br>
JDK和JRE結(jié)構(gòu)圖(資源來(lái)源于:http://docs.oracle.com/javase/7/docs/):
如何配置環(huán)境份企?
一、安裝JDK
1巡莹、JDK的安裝包可以到Oracle官網(wǎng)上下載或者第三方網(wǎng)站下載司志,以下提供官方下載地址:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
(版本很多,自行選擇適用版本降宅,省略安裝過(guò)程骂远,安裝時(shí)候下一步下一步即可)
二、配置環(huán)境變量
JAVA_HOME 配置JDK安裝路徑</br>
PATH 配置JDK命令文件的位置</br>
CLASSPATH 配置類庫(kù)文件的位置</br>
-
我的電腦(右鍵)-->屬性
-
高級(jí)系統(tǒng)設(shè)置-->環(huán)境變量
-
系統(tǒng)變量自帶是沒(méi)有JAVA_HOME這個(gè)變量腰根,需要自己編輯如下:
(變量值就是JDK安裝的路徑)
-
PATH在系統(tǒng)變量中本來(lái)就是存在的激才,選中PATH-->編輯
-->在最前面輸入Bin的路徑(用分號(hào)隔開其他路徑)
-
系統(tǒng)自帶的變量是沒(méi)有CLASSPATH的,需要添加
-->用”.”代表當(dāng)前路徑
-->用”;”隔開
-->輸入Bil的路徑(如我的路徑是:C:\Program Files\Java\jdk1.8.0_60\lib)
配置到這里就結(jié)束了额嘿,記得要按確定瘸恼,沒(méi)確定是不會(huì)自己保存的。
三册养、驗(yàn)證配置環(huán)境變量
打開運(yùn)行cmd輸入java/javac進(jìn)行驗(yàn)證(驗(yàn)證成功的效果如下)
如果你看到這樣的效果东帅,恭喜你配置成功了。
四球拦、Hello Word
環(huán)境配好了靠闭,下面讓我們運(yùn)行我們第一個(gè)程序——Hello Word坎炼。</br>
1愧膀、 在桌面上新建一個(gè)文件点弯,命名為HelloWorld.java</br>
2.矿咕、打開文件抢肛,輸入以下代碼:</br>
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello World!");
}
}
3狼钮、保存代碼</br>
4捡絮、運(yùn)行CMD命令,進(jìn)入Desktop目錄下福稳,運(yùn)行javac HelloWorld.java</br>
</br>
5涎拉、執(zhí)行java HelloWorld命令</br>
此時(shí)看到了輸出了的結(jié)果了“Hello World!”
好了,我們就從這篇Java簡(jiǎn)介開始我們的Java之旅吧的圆。