搜尋
首頁Javajava教程詳解Java程式設計發展歷史(動力節點整理)

Java的歷史可以追溯到1991年4月,Sun公司的James Gosling領導的綠色計畫(Green Project)開始著力發展一種分散式系統結構,使其能夠在各種在消費性電子產品上運行,他們使用了C/C++/Oak語言。由於多種原因,綠色計畫逐漸陷入停滯狀態

Java的由來

Java語言的誕生具有一定的戲劇性,它並不是經過精心策劃、製作、最後殘生的劃時代產品,從某個角度來說,Java語言的誕生完全是一種誤會,美麗的誤會。

           1990年年末,Sun公司預科嵌入式系統將在未來家用電器領域大顯身手,於是Sun公司成立了一個由James Gosling(後來被稱為Java之父)領導的“Creen計劃”,準備為下一代智慧家電(如電視機,微波爐,電話)編寫一個通用控制系統。

           團隊最初考慮使用C++語言,但許多成員包括Sun的首席科學家Bill Joy,發現C++和可用的API在某些方面存在很大問題,而且工作小組使用的是嵌入式平台,可用在系統資源極為有限,而且許多成員都發現C++太複雜,以至許多開發者經常錯誤使用,而且C++缺少垃圾回收系統,可移植性,分散式和多執行緒等功能。

           根據可用的資金,Bill Joy決定發展一種新語言,他提議在C++的基礎上,發展一種物件導向的環境,於是,Gosling檢視透過修改和擴展C++的功能來滿足這個要求,但後來他放棄了,他決定創造一種全新的語言:oak, 這個就是Java的前身。

           到了1992年的夏天,Green計畫完成了新的平台的部分功能,包括Green作業系統,Oak的程式設計語言,類別庫等,同年11月,Green計劃轉化成“FirstPerson有限公司”,一個Sun公司的全資子公司。
         FirstPerson團隊致力於創建一個高度互動的設備,而當時代華納公司發布了一個關於電視機上盒的徵求提議書時, FirstPerson改變了他們的目標,作為對徵求提議書的響應,提出了一個機上盒平台的提議。但有限電視業界覺得FirstPerson的平台給予用戶過多的控制權,因此FirstPerson的投標敗給了SGI,同時,在3DO公司的另外一筆關於機上盒的交易也沒有成功,因此,可憐的Green項目幾乎接近夭折,甚至Green專案組的一半成員也被調到其他專案組。

oak正式更名為Java

         1994年夏天,網路與導覽器的出現不僅為廣大網路的使用者帶來了福音,也為Oak語言帶來了新的生機,James Gosling立刻意識到,這是一個機會,於是對Oak進行小規模的改造,到了1994年秋,小組中的Naughton和Jonathan Payne 完成了第一個Java語言的網頁遊覽器:WebRunner。 Sun公司實驗室主任Bert Sutherland和技術總監Eric Sc​​hmidt觀看了該遊覽器的演示,對該遊覽器的效果給予了高度的評價,當時Oak這個商標已經被別人註冊,於是隻的將Oak更名為Java。

 Sun公司在1995年初發布了Java語言,Sun公司直接把Java放到網路上,免費給大家使用,甚至連原始碼也不保密,也放在網路上向所有人公開。

         幾個月後,讓所有人都大吃一驚的事情發生了,Java成了互聯網上最熱門的寶貝,竟然後10萬多人次訪問了Sun公司的網頁,下載了Java語言,然後,網路上立即就有了數不清的Java小程式(也就是Applet),示範各種小動畫,小遊戲等。

        Java語言終於揚起眉頭吐氣成為了一種廣為人知的程式語言。 

Java的正式推出

#

        1995年,雖然Sun推出了Java,但這只是一種語言,如果想開發複炸的應用程序,必須要有一個強大的開發類庫,因此,Sun在1996年年初發布了JDK1.0 ,這個版本包括兩個部分:運行環境(即JRE)和開發環境(JDK),運行環境包括核心API,整合API,使用者介面API,發布,Java虛擬機器(JVM)5個部分,開發環境包括編譯Java程式的編譯器(即javac指令)

         接著,Sun公司1997年2月18日發表JDK1.1,JDK1.1增加了JIT(即時編譯)編譯器,JIT和傳統的編譯器不同,傳統的編譯器是編譯一條,運行完後將其扔掉,而JIT會將經常的指令保存在內存中,下次調用時就不需要重新編譯了,通過這種方式讓JDK在效率上有了很大的提高。

  1. n1996年底,Flash面世了,這個更簡單的動畫設計軟體,吞噬了Java在網頁上的應用。

  2. n1998年12月,Sun公司發表Java史上最重要的JDK版本,JDK1.2,伴隨JDK1.2一同發表的還有JSP/ Servlet,ELB等規範,並將Java分成了J2EE,J2SE,j2ME三個版本:

  • J2ME:主要用於控制行動裝置和資訊家電等有限儲存的設備。

  • J2SE:整個Java技術核心與基礎,它是J2ME和J2EE程式設計的基礎。

  • J2EE:java技術中應用應用最廣泛的部分,

  1. #n2002年2月,Sun發布了Jdk1.4史上最成熟的版本,也出現了大量Java開源框架:Struts,WebWork,Hibernate,Spring。

  2. n2004年10月,Sun發布了JDK1.5,同時將JDK1.5更名為JDK5.0,並增加了新功能。

  3. n2006年12月,Sun公司發表了JDK1.6,也稱為JDK6.0。

  4. n2009年4月20日,Oracle宣布以每股9.5美元的價格收購Sun公司,該交易的總價值約為74億美元。

  5. n2011年7月28日,Oracle公司發表了JDK7。

  6. n2014年3月18日,Oracle公司發布了JDK8。

現在Java已經是長久雄踞程式語言排名第一的寶座了。

以上是詳解Java程式設計發展歷史(動力節點整理)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
JVM中的類加載程序子系統如何促進平台獨立性?JVM中的類加載程序子系統如何促進平台獨立性?Apr 23, 2025 am 12:14 AM

類加載器通過統一的類文件格式、動態加載、雙親委派模型和平台無關的字節碼,確保Java程序在不同平台上的一致性和兼容性,實現平台獨立性。

Java編譯器會產生特定於平台的代碼嗎?解釋。Java編譯器會產生特定於平台的代碼嗎?解釋。Apr 23, 2025 am 12:09 AM

Java編譯器生成的代碼是平台無關的,但最終執行的代碼是平台特定的。 1.Java源代碼編譯成平台無關的字節碼。 2.JVM將字節碼轉換為特定平台的機器碼,確保跨平台運行但性能可能不同。

JVM如何處理不同操作系統的多線程?JVM如何處理不同操作系統的多線程?Apr 23, 2025 am 12:07 AM

多線程在現代編程中重要,因為它能提高程序的響應性和資源利用率,並處理複雜的並發任務。 JVM通過線程映射、調度機制和同步鎖機制,在不同操作系統上確保多線程的一致性和高效性。

在Java的背景下,'平台獨立性”意味著什麼?在Java的背景下,'平台獨立性”意味著什麼?Apr 23, 2025 am 12:05 AM

Java的平台獨立性是指編寫的代碼可以在任何安裝了JVM的平台上運行,無需修改。 1)Java源代碼編譯成字節碼,2)字節碼由JVM解釋執行,3)JVM提供內存管理和垃圾回收功能,確保程序在不同操作系統上運行。

Java應用程序仍然可以遇到平台特定的錯誤或問題嗎?Java應用程序仍然可以遇到平台特定的錯誤或問題嗎?Apr 23, 2025 am 12:03 AM

Javaapplicationscanindeedencounterplatform-specificissuesdespitetheJVM'sabstraction.Reasonsinclude:1)Nativecodeandlibraries,2)Operatingsystemdifferences,3)JVMimplementationvariations,and4)Hardwaredependencies.Tomitigatethese,developersshould:1)Conduc

雲計算如何影響Java平台獨立性的重要性?雲計算如何影響Java平台獨立性的重要性?Apr 22, 2025 pm 07:05 PM

云计算显著提升了Java的平台独立性。1)Java代码编译为字节码,由JVM在不同操作系统上执行,确保跨平台运行。2)使用Docker和Kubernetes部署Java应用,提高可移植性和可扩展性。

Java的平台獨立性在廣泛採用中扮演著什麼角色?Java的平台獨立性在廣泛採用中扮演著什麼角色?Apr 22, 2025 pm 06:53 PM

Java'splatformindependenceallowsdeveloperstowritecodeonceandrunitonanydeviceorOSwithaJVM.Thisisachievedthroughcompilingtobytecode,whichtheJVMinterpretsorcompilesatruntime.ThisfeaturehassignificantlyboostedJava'sadoptionduetocross-platformdeployment,s

容器化技術(例如Docker)如何影響Java平台獨立性的重要性?容器化技術(例如Docker)如何影響Java平台獨立性的重要性?Apr 22, 2025 pm 06:49 PM

容器化技術如Docker增強而非替代Java的平台獨立性。 1)確保跨環境的一致性,2)管理依賴性,包括特定JVM版本,3)簡化部署過程,使Java應用更具適應性和易管理性。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中