大綱
Java語(yǔ)言發(fā)展
Java語(yǔ)言的誕生
1990 年末,Sun 公司成立了一個(gè)有 James Gosling 領(lǐng)導(dǎo)的 “Green計(jì)劃”婉徘,準(zhǔn)備為下一代智能家電編寫一個(gè)控制系統(tǒng)纬霞。
團(tuán)隊(duì)很多成員發(fā)現(xiàn) C++ 在嵌入式平臺(tái)方面有很大的局限性溉知,例如:太復(fù)雜圣蝎、系統(tǒng)資源有限、缺少垃圾回收機(jī)制痕届、可移植性韧献、分布式、多線程等研叫。Sun 團(tuán)隊(duì)決定開發(fā)一種新的語(yǔ)言锤窑,取名 Oak。1992年蓝撇,Green 團(tuán)隊(duì)完成了新平臺(tái)的部分功能,同年 11 月陈莽,Green 計(jì)劃被轉(zhuǎn)化成 “ FirstPerson 有限公司”
FirstPerson 團(tuán)隊(duì)在華納公司發(fā)布電視機(jī)頂盒發(fā)布會(huì)被有限電視界認(rèn)為給用戶太多權(quán)利而爭(zhēng)標(biāo)失敗渤昌,與 3DO 公司另一筆機(jī)頂盒交易也沒有成功虽抄。Green 項(xiàng)目夭折,F(xiàn)irstPerson 團(tuán)隊(duì)一半成員被調(diào)独柑。
1994 年夏天迈窟,互聯(lián)網(wǎng)和瀏覽器出現(xiàn),Gosling 意識(shí)到這是個(gè)機(jī)會(huì)忌栅,將 Oka 進(jìn)行小規(guī)模改造车酣,94 年秋,團(tuán)隊(duì)中 Naughton 與 Jonathan 完成了第一個(gè) Java 語(yǔ)言網(wǎng)頁(yè)瀏覽器索绪,因 Oka 被注冊(cè)湖员,改名為 Java。
java 名字由來:java 是爪哇島咖啡名字瑞驱,據(jù)說是程序員在苦思冥想該起什么名字比較好的時(shí)候娘摔,下樓點(diǎn)了一杯咖啡,感覺味道很不錯(cuò)唤反,就命名為 java凳寺。
1995 年初,Sun 公司發(fā)布 Java 語(yǔ)言彤侍,想互聯(lián)網(wǎng)所有用戶公開肠缨,包括源代碼。幾個(gè)月后盏阶,Java 大火晒奕。
Java語(yǔ)言的發(fā)展歷程
- 1995 年發(fā)布第一版 java。
- 1996 年 1 月般哼,Sun 公司發(fā)布 JDK1.0吴汪。
- 1997 年 2 月,JDK 1.1 面試蒸眠。
- 1998 年 12 月 8 日漾橙。發(fā)布 JDK1.2。將 Java 分成:J2EE 企業(yè)級(jí) 楞卡、J2SE 桌面級(jí)霜运、 J2ME 移動(dòng)端三個(gè)版本,將 API 分成核心 API 可選 API 特殊 API蒋腮。
- 1999 年 4 月 27 日淘捡。HotSpot 虛擬機(jī)發(fā)布。HotSpot 虛擬機(jī)發(fā)布是作為 JDK 1.2 的附加程序提供的池摧,后來它成為了 JDK 1.3 及之后所有版本的 Sun JDK 的默認(rèn)虛擬機(jī)焦除。
- 2002 年 2 月發(fā)布 JDK1.4 涌現(xiàn)眾多基于Java語(yǔ)言開發(fā)框架大量企業(yè)級(jí)應(yīng)用服務(wù)器。
- 2004 年 10 月發(fā)布 JDK1.5作彤,改名為 JavaSE5.0膘魄。 Java EE乌逐,Java ME 推出了自己的MVC框架規(guī)范。
- 2005 年 6 月创葡,Sun 公司發(fā)布了 Java SE 6浙踢。此時(shí) Java 的各種版本已經(jīng)更名,已取消其中的數(shù)字 2灿渴,如 J2EE 更名為 JavaEE洛波,J2SE 更名為 JavaSE,J2ME 更名為 JavaME骚露。
- 2009 年 4 月 20 日蹬挤, Oracle 公司每股 7.5 美元收購(gòu) Sun 總價(jià)值 74 億美元。
- 2017 年 9 月 22 日荸百,Oracle 公司發(fā)布了 Java SE 9闻伶。
- 2018 年 3 月,Java SE 10够话。
- 2018 年 9 月蓝翰,Java SE 11。
- 2019 年 3 月女嘲,Java SE 12畜份。
- 2019 年 9 月,Java SE 13欣尼。
從 JDK9 之后爆雹,Oracle 采用了新的發(fā)布周期:每 6 個(gè)月發(fā)布一個(gè)版本,每 3 年發(fā)布一個(gè) LTS(Long Term Support 長(zhǎng)期支持) 版本愕鼓。JDK14 是繼 JDK9 之后發(fā)布的第四個(gè)版本钙态, 該版本為非 LTS 版本,最新的 LTS 版本為 JDK11菇晃。
Java語(yǔ)言特點(diǎn)
Java語(yǔ)言特點(diǎn)教程
簡(jiǎn)單性
Java 看起來的設(shè)計(jì)很像 c++ 册倒,但是為了使語(yǔ)言小和容易熟悉,設(shè)計(jì)者們把 c++ 語(yǔ)言中的需要可用的特征都去掉了磺送。Java 中沒有指針驻子。Java 能夠自動(dòng)處理對(duì)象的引用和間接引用,實(shí)現(xiàn)自動(dòng)的無用單元收集估灿,用戶不管關(guān)心存儲(chǔ)管理問題崇呵,能夠更多的時(shí)間和精力都花在研發(fā)上面。
面向?qū)ο?/h3>
Java 是一個(gè)面向?qū)ο蟮恼Z(yǔ)言馅袁。使得代碼調(diào)用更加清晰域慷,不需要用過程來思考編程。
分布性
Java 語(yǔ)言支持網(wǎng)絡(luò)通信,它可以讓多個(gè)應(yīng)用單獨(dú)部署犹褒,互相之間進(jìn)行調(diào)用兄纺。
編譯和解釋性
Java 編譯程序生產(chǎn)字節(jié)碼 (byte-code),而不是通常的機(jī)器碼化漆。Java 代碼編譯后不能直接運(yùn)行,它是解釋運(yùn)行在 JVM 的钦奋。
穩(wěn)健性
Java 是一個(gè)強(qiáng)類型語(yǔ)言座云,它允許擴(kuò)展編譯時(shí)檢查潛在的類型不匹配問題的功能。它不支持指針付材,消除重寫存儲(chǔ)數(shù)據(jù)的可能性朦拖。異常處理也是它穩(wěn)健性的另一個(gè)特征。
安全性
Java 的存儲(chǔ)分配模型是它防御惡意代碼的主要方法之一厌衔。Java 沒有指針璧帝,所以程序員無法對(duì)存儲(chǔ)器里面的數(shù)據(jù)進(jìn)行直接操作。
可移植性
只要是安裝了 jre 的環(huán)境富寿,都可以運(yùn)行相應(yīng)的 Java 程序睬隶。
高性能
Java 是一種先編譯后解釋的語(yǔ)言,所以它不如全編譯性語(yǔ)言快页徐。但是有些情況下性能是很要緊的苏潜,為了支持這些情況,Java 設(shè)計(jì)者制作了“及時(shí)”編譯程序变勇,它能在運(yùn)行時(shí)把 Java 字節(jié)碼翻譯成特定 CPU(中央處理器)的機(jī)器代碼恤左,也就是實(shí)現(xiàn)全編譯了。
多線程性
Java 是支持多線程的搀绣,在某些場(chǎng)景下合理使用多線程的方法會(huì)讓程序處理效果變快飞袋。
動(dòng)態(tài)性
Java 語(yǔ)言是一個(gè)動(dòng)態(tài)的語(yǔ)言,它的類加載只要格式正確链患,可以通過網(wǎng)絡(luò)獲取也可以在文件中獲取巧鸭。
Java語(yǔ)言特點(diǎn)總結(jié)
正是由于 Java 有以上的特點(diǎn),才使 Java 在編程語(yǔ)言市場(chǎng)中占有重要的地位锣险。在大型的網(wǎng)站建設(shè)中蹄皱,Java 充當(dāng)了重要的角色。
Java名詞解釋
Java名詞解釋
JDK
Java Development Kit芯肤。Java 開發(fā)工具包巷折,是程序員使用 Java 語(yǔ)言編寫 Java 程序所需的開發(fā)工具包,是提供給程序員使用的崖咨。
JRE
Java Runtim Environment锻拘。Java 運(yùn)行時(shí)環(huán)境,包含了 Java 虛擬機(jī),Java 基礎(chǔ)類庫(kù)署拟。是使用 Java 語(yǔ)言編寫的程序運(yùn)行所需要的軟件環(huán)境婉宰,是提供給想運(yùn)行 Java 程序的用戶使用的。
包
包就是我們平時(shí)可以認(rèn)為的那種文件夾推穷,在文件夾里面可以將自己歸置的文件存放在里面心包,而在 Java里面就不叫文件夾,而叫包馒铃,里面存放類信息蟹腾。
類
存放在包下面,以 .Java
結(jié)尾的文件区宇。里面包含了一系列共性的屬性和行為娃殖。比如貓類,里面可以有屬性议谷,顏色炉爆,品種,也可以有方法比如吃飯卧晓。Java 中類可以分為普通類芬首,抽象類,接口逼裆,嵌套類衩辟。
普通類
它的語(yǔ)法是 [訪問修飾符] class 類名 [implements/extends 類名] {},其中有一個(gè)特殊的類 Object 類波附,它是所有類的父類艺晴。
抽象類
當(dāng)一個(gè)類沒有足夠的信息描述一個(gè)具體的事物的時(shí)候,就需要一個(gè)抽象類掸屡。它的語(yǔ)法是 [訪問修飾符] abstract class 類名 {}封寞。它是不能夠被實(shí)例化對(duì)象的。
接口
接口中提供了一系列方法的定義仅财,沒有實(shí)現(xiàn)狈究,所有實(shí)現(xiàn)了接口的類都需要自己實(shí)現(xiàn)里面的方法。它的語(yǔ)法是 public interface InterfaceName{}
方法
實(shí)現(xiàn)某個(gè)功能的代碼塊盏求。
變量
可以用來存儲(chǔ)數(shù)據(jù)的元素抖锥,但是這個(gè)元素是可以變化的,所以稱為變量碎罚。
常量
一單值已經(jīng)確認(rèn)就不能夠變化磅废。
訪問修飾符
訪問修飾符用來控制類里面的屬性和方法的訪問權(quán)限。Java 中有 public
荆烈、private
拯勉、protected
修飾符竟趾。
參數(shù)
在方法中傳遞的值,比如計(jì)算兩個(gè)數(shù)相加宫峦,需要有兩個(gè)數(shù)字岔帽,則,這個(gè)時(shí)候傳遞的兩個(gè)數(shù)字就叫參數(shù)导绷。
Java名詞解釋總結(jié)
這些名詞是在學(xué)習(xí) Java 的時(shí)候高頻出現(xiàn)的名詞犀勒。