溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java的特性和開發(fā)工具的介紹

發(fā)布時(shí)間:2020-05-26 17:56:47 來(lái)源:億速云 閱讀:237 作者:鴿子 欄目:編程語(yǔ)言

1.概述

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)版
  • JavaEE(J2EE): Java 2 Platform,Enterprise Edition,Java平臺(tái)企業(yè)版
  • JavaME(J2ME): Java 2 Platform Micro Edition,Java平臺(tái)微型版

2005年6月,JavaOne 大會(huì)召開,Sun 公司公開 Java SE 6。此時(shí),Java 的各種版本已經(jīng)更名以取消其中的數(shù)字"2":J2EE更名為Java EE, J2SE更名為Java SE,J2ME更名為Java ME。

2.主要特性

簡(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)憂。

面向?qū)ο?/h4>

Java 語(yǔ)言提供類、接口和繼承等面向?qū)ο蟮奶匦?,為了?jiǎn)單起見(jiàn),只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為 implements )。Java 語(yǔ)言全面支持動(dòng)態(tài)綁定,而 C++ 語(yǔ)言只對(duì)虛函數(shù)使用動(dòng)態(tài)綁定??傊琂ava 語(yǔ)言是一個(gè)純的面向?qū)ο蟪绦蛟O(shè)計(jì)語(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 的強(qiáng)類型機(jī)制、異常處理、垃圾的自動(dòng)收集等是 Java 程序健壯性的重要保證。對(duì)指針的丟棄是 Java 的明智選擇。Java的安全檢查機(jī)制使得 Java 更具健壯性。

安全

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è)置安全哨兵。

體系結(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ā)。

可移植

這種可移植性來(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 程序在 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)境中。

高性能

與那些解釋型的高級(jí)腳本語(yǔ)言相比,Java 的確是高性能的。事實(shí)上,Java 的運(yùn)行速度隨著 JIT(Just-In-Time) 編譯器技術(shù)的發(fā)展越來(lái)越接近于 C++。

多線程

在 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)。

動(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í)刻的類型檢查。

3.發(fā)展歷史

  • 1995年5月23日,Java語(yǔ)言誕生
  • 1996年1月,第一個(gè)JDK-JDK1.0誕
  • 1996年4月,10個(gè)最主要的操作系統(tǒng)供應(yīng)商申明將在其產(chǎn)品中嵌入JAVA技術(shù)
  • 1996年9月,約8.3萬(wàn)個(gè)網(wǎng)頁(yè)應(yīng)用了JAVA技術(shù)來(lái)制作
  • 1997年2月18日,JDK1.1發(fā)布
  • 1997年4月2日,JavaOne會(huì)議召開,參與者逾一萬(wàn)人,創(chuàng)當(dāng)時(shí)全球同類會(huì)議規(guī)模之紀(jì)錄
  • 1997年9月,JavaDeveloperConnection社區(qū)成員超過(guò)十萬(wàn)
  • 1998年2月,JDK1.1被下載超過(guò)2,000,000次
  • 1998年12月8日,JAVA2企業(yè)平臺(tái)J2EE發(fā)布
  • 1999年6月,SUN公司發(fā)布Java的三個(gè)版本:標(biāo)準(zhǔn)版(JavaSE,以前是J2SE)、企業(yè)版(JavaEE以前是J2EE)和微型版(JavaME,以前是J2ME)
  • 2000年5月8日,JDK1.3發(fā)布
  • 2000年5月29日,JDK1.4發(fā)布
  • 2001年6月5日,NOKIA宣布,到2003年將出售1億部支持Java的手機(jī)
  • 2001年9月24日,J2EE1.3發(fā)布
  • 2002年2月26日,J2SE1.4發(fā)布,自此Java的計(jì)算能力有了大幅提升
  • 2004年9月30日18:00PM,J2SE1.5發(fā)布,成為Java語(yǔ)言發(fā)展史上的又一里程碑。為了表示該版本的重要性,J2SE1.5更名為Java SE 5.0
  • 2005年6月,JavaOne大會(huì)召開,SUN公司公開Java SE 6。此時(shí),Java的各種版本已經(jīng)更名,以取消其中的數(shù)字"2":J2EE更名為Java EE,J2SE更名為Java SE,J2ME更名為Java ME
  • 2006年12月,SUN公司發(fā)布JRE6.0
  • 2009年04月20日,甲骨文74億美元收購(gòu)Sun。取得java的版權(quán)。
  • 2010年11月,由于甲骨文對(duì)于Java社區(qū)的不友善,因此Apache揚(yáng)言將退出JCP。
  • 2011年7月28日,甲骨文發(fā)布 Java7.0 的正式版。
  • 2014年3月18日,Oracle公司發(fā)表 Java SE 8。
  • 2017年9月21日,Oracle公司發(fā)表 Java SE 9
  • 2018年3月21日,Oracle公司發(fā)表 Java SE 10
  • 2018年9月25日,Java SE 11 發(fā)布
  • 2019年3月20日,Java SE 12 發(fā)布

4.開發(fā)工具

作為一名 Java 程序開發(fā)人員,可以的選擇集成開發(fā)環(huán)境 IDE(Integrated Development Environment) 非常多,這得益于 Java 是一門開源語(yǔ)言。

  • 有開源免費(fèi)的
  • 有商用收費(fèi)的

如何選擇一款適合自己的集成開發(fā)環(huán)境,亦或說(shuō)選擇一款符合自己項(xiàng)目開發(fā)需要的集成開發(fā)環(huán)境,如果選擇得當(dāng),那么就能夠使得開發(fā)工作事半功倍;否則事倍功半。

免費(fèi)開源Eclipse

Eclipse 最初是由 IBM 公司開發(fā)的替代商業(yè)軟件 Visual Age for Java的下一代 IDE 開發(fā)環(huán)境,2001年11月貢獻(xiàn)給開源社區(qū),現(xiàn)在它由非營(yíng)利軟件供應(yīng)商聯(lián)盟 Eclipse 基金會(huì)(Eclipse Foundation)管理。Eclipse 是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是 Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具(Java Development Tools,JDT)。

Eclipse 是著名的跨平臺(tái)的自由集成開發(fā)環(huán)境(IDE)。最初主要用來(lái) Java 語(yǔ)言開發(fā),但是目前亦有人通過(guò)插件使其作為其他計(jì)算機(jī)語(yǔ)言比如 C++、PHPPython 等語(yǔ)言的開發(fā)工具。Eclipse 的本身只是一個(gè)框架平臺(tái),但是眾多插件的支持使得 Eclipse 擁有其他功能相對(duì)固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以 Eclipse 為框架開發(fā)自己的 IDE

商用收費(fèi)MyEclipse

MyEclipseEclipse 的插件,也是一款功能強(qiáng)大的 J2EE 集成開發(fā)環(huán)境,由 Genuitec 公司發(fā)布,它是商用收費(fèi)的。

MyEclipse 是對(duì) Eclipse IDE 的擴(kuò)展,利用它可以在數(shù)據(jù)庫(kù)和 JavaEE 的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的 JavaEE 集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML、StrutsJSP、CSSJavascript、SQL,HibernateSpring。

Oracle公司免費(fèi)的NetBeans

NetBeans 是Sun公司(2009年被甲骨文收購(gòu))在2000年創(chuàng)立的開放源代碼的面向開發(fā)人員和客戶社區(qū)的集成開發(fā)環(huán)境,旨在構(gòu)建世界級(jí)的 Java IDE。

NetBeans 當(dāng)前可以在Solaris、WindowsLinuxMacintosh OS X平臺(tái)上進(jìn)行開發(fā),并在SPL(Sun公用許可)范圍內(nèi)使用,是一個(gè)屢獲殊榮的集成開發(fā)環(huán)境。NetBeans 包括開源的開發(fā)環(huán)境和應(yīng)用平臺(tái),NetBeans IDE 可以使開發(fā)人員利用 Java 平臺(tái)能夠快速創(chuàng)建Web、企業(yè)、桌面以及移動(dòng)應(yīng)用程序NetBeans IDE 目前支持PHP、RubyJavaScript、AjaxGroovy、GrailsC /C++等開發(fā)語(yǔ)言。

NetBeans 項(xiàng)目由一個(gè)活躍的開發(fā)社區(qū)提供支持, NetBean 開發(fā)環(huán)境提供了豐富的產(chǎn)品文檔和培訓(xùn)資源以及大量的第三方插件。

IntelliJ IDEA

IntelliJ IDEA 是一款綜合的 Java 編程環(huán)境,被許多開發(fā)人員和行業(yè)專家譽(yù)為市場(chǎng)上最好的 IDE。

它提供了一系列最實(shí)用的的工具組合:

  • 智能編碼輔助和自動(dòng)控制
  • 支持 J2EE,Ant,JUnit,SVNGit 集成
  • 非平行的編碼檢查和創(chuàng)新的 GUI 設(shè)計(jì)器

IDEA 把 Java 開發(fā)人員從一些耗時(shí)的常規(guī)工作中解放出來(lái),顯著地提高了開發(fā)效率。具有運(yùn)行更快速,生成更好的代碼;持續(xù)的重新設(shè)計(jì)和日常編碼變得更加簡(jiǎn)易,與其它工具的完美集成;很高的性價(jià)比等特點(diǎn)。

IntelliJ IDEA 是收費(fèi)軟件,在2009年推出了免費(fèi)的社區(qū)開源版本,不過(guò)商用還是需要收費(fèi)的。

作為一個(gè)資深的 Java 開發(fā)工程師,我負(fù)責(zé)任的向大家推薦 IntelliJ IDEA 作為開發(fā)工具,理由不必細(xì)說(shuō),誰(shuí)用誰(shuí)知道!


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI