Java 第一篇

奪命JAVA|第一章:從零開始

Java 簡介

Java 是由 Sun 微系統(tǒng)公司于 1995 年 5 月推出的 Java 面向?qū)ο蟪绦蛟O(shè)計(jì)語言和 Java 平臺的總稱

Java分為三個體系

JavaSE ( J2SE ),Java2 Platform Standard Edition烈炭,java 平臺標(biāo)準(zhǔn)版

JavaEE ( J2EE )溶锭,Java 2 Platform,Enterprise Edition,java 平臺企業(yè)版

JavaME ( J2ME )符隙,Java 2 Platform Micro Edition趴捅,java 平臺微型版

2005 年 6 月,JavaOne 大會召開霹疫,SUN 公司公開 Java SE 6

同時 Java 的各種版本已經(jīng)更名以取消其中的數(shù)字 "2"

J2EE 更名為 Java EE

J2SE 更名為 Java SE

J2ME 更名為 Java ME

Java 的主要特性

Java 語言是簡單的:

Java 語言的語法與 C 語言和 C++ 語言很接近拱绑,使得大多數(shù)程序員很容易學(xué)習(xí)和使用。另一方面丽蝎,Java 丟棄了 C++ 中很少使用的猎拨、很難理解的、令人迷惑的那些特性,如操作符重載红省、多繼承额各、自動的強(qiáng)制類型轉(zhuǎn)換

特別地,Java 語言不使用指針类腮,而是引用

Java 語言提供了自動的垃圾回收機(jī)制臊泰,使得程序員不必為內(nèi)存管理而擔(dān)憂

Java 語言是面向?qū)ο蟮模?/b>

Java 語言提供類、接口和繼承等面向?qū)ο蟮奶匦匝潦啵瑸榱撕唵纹鹨姼滋樱恢С诸愔g的單繼承,但支持接口之間的多繼承厂抽,并支持類與接口之間的實(shí)現(xiàn)機(jī)制 ( 關(guān)鍵字為 implements )

Java 語言全面支持動態(tài)綁定需频,而 C++ 語言只對虛函數(shù)使用動態(tài)綁定

總之,Java 語言是一個純的面向?qū)ο蟪绦蛟O(shè)計(jì)語言

Java 語言是分布式的:

Java 語言支持 Internet 應(yīng)用的開發(fā)筷凤,在基本的 Java 應(yīng)用編程接口中有一個網(wǎng)絡(luò)應(yīng)用編程接口 ( java net ) 昭殉,它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括 URL藐守、URLConnection挪丢、Socket、ServerSocket等

Java 的 RMI ( 遠(yuǎn)程過程調(diào)用 ) 機(jī)制也是開發(fā)分布式應(yīng)用的重要手段

Java 語言是健壯的:

Java 的強(qiáng)類型機(jī)制卢厂、異常處理乾蓬、垃圾的自動收集等是 Java 程序健壯性的重要保證

放棄指針是 Java 的明智選擇

Java的安全檢查機(jī)制使得 Java 更具健壯性

Java 語言是安全的:

Java 通常被用在網(wǎng)絡(luò)環(huán)境中,為此慎恒,Java 提供了一個安全機(jī)制以防惡意代碼的攻擊

除了 Java 語言具有的許多安全特性以外任内,Java 對通過網(wǎng)絡(luò)下載的類具有一個安全防范機(jī)制 ( 類 ClassLoader ) ,如分配不同的名字空間以防替代本地的同名類融柬、字節(jié)代碼檢查死嗦,并提供安全管理機(jī)制( 類 SecurityManager ) 讓 Java 應(yīng)用設(shè)置安全哨兵

Java 語言是體系結(jié)構(gòu)中立的:

Java 程序 ( 后綴為 java 的文件 ) 在 Java 平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式 ( 后綴為 class 的文件 ) ,然后可以在實(shí)現(xiàn)這個 Java 平臺的任何系統(tǒng)中運(yùn)行

這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)

Java 語言是可移植的:

這種可移植性來源于體系結(jié)構(gòu)中立性粒氧,另外越除,Java 還嚴(yán)格規(guī)定了各個基本數(shù)據(jù)類型的長度

Java 系統(tǒng)本身也具有很強(qiáng)的可移植性,Java 編譯器是用 Java 實(shí)現(xiàn)的外盯,Java 的運(yùn)行環(huán)境是用 ANSI C 實(shí)現(xiàn)的

Java 語言是解釋型的:

Java 程序在 Java 平臺上被編譯為字節(jié)碼格式摘盆, 然后可以在實(shí)現(xiàn)這個 Java 平臺的任何系統(tǒng)中運(yùn)行

在運(yùn)行時,Java 平臺中的 Java 解釋器對這些字節(jié)碼進(jìn)行解釋執(zhí)行门怪,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中

Java 是高性能的:

與那些解釋型的高級腳本語言相比,Java 的確是高性能的

事實(shí)上锅纺,Java 的運(yùn)行速度隨著 JIT ( Just-In-Time ) 編譯器技術(shù)的發(fā)展越來越接近于 C++

Java 語言是多線程的:

Java 語言中掷空,線程是一種特殊的對象,它必須由 Thread 類或其子 ( 孫 ) 類來創(chuàng)建

通常有兩種方法來創(chuàng)建線程

使用型構(gòu)為 Thread ( Runnable ) 的構(gòu)造子將一個實(shí)現(xiàn)了 Runnable 接口的對象包裝成一個線程

從 Thread 類派生出子類并重寫 run 方法,使用該子類創(chuàng)建的對象即為線程

Thread 類實(shí)現(xiàn)了 Runnable 接口坦弟,因此护锤,任何一個線程均有它的 run 方法,而 run 方法中包含了線程所要運(yùn)行的代碼

線程的活動由一組方法來控制酿傍,Java 語言支持多個線程的同時執(zhí)行烙懦,并提供多線程之間的同步機(jī)制 ( 關(guān)鍵字為 synchronized )

Java 語言是動態(tài)的:

Java 語言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動態(tài)變化的環(huán)境

Java 程序需要的類能夠動態(tài)地被載入到運(yùn)行環(huán)境,也可以通過網(wǎng)絡(luò)來載入所需要的類

這也有利于軟件的升級赤炒。另外氯析,Java 中的類有一個運(yùn)行時刻的表示,能進(jìn)行運(yùn)行時刻的類型檢查

Java 發(fā)展歷史

1995年5月23日莺褒,Java語言誕生

1996年1月掩缓,第一個JDK-JDK1.0誕生

1996年4月,10個最主要的操作系統(tǒng)供應(yīng)商申明將在其產(chǎn)品中嵌入JAVA技術(shù)

1996年9月遵岩,約8.3萬個網(wǎng)頁應(yīng)用了JAVA技術(shù)來制作

1997年2月18日你辣,JDK1.1發(fā)布

1997年4月2日,JavaOne會議召開尘执,參與者逾一萬人舍哄,創(chuàng)當(dāng)時全球同類會議規(guī)模之紀(jì)錄

1997年9月,JavaDeveloperConnection社區(qū)成員超過十萬

1998年2月誊锭,JDK1.1被下載超過2,000,000次

1998年12月8日表悬,JAVA2企業(yè)平臺J2EE發(fā)布

1999年6月,SUN公司發(fā)布Java的三個版本:標(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語言發(fā)展史上的又一里程碑。為了表示該版本的重要性纬黎,J2SE1.5更名為Java SE 5.0

2005年6月幅骄,JavaOne大會召開,SUN公司公開Java SE 6本今。此時拆座,Java的各種版本已經(jīng)更名主巍,以取消其中的數(shù)字"2":J2EE更名為Java EE,J2SE更名為Java SE挪凑,J2ME更名為Java ME

2006年12月孕索,SUN公司發(fā)布JRE6.0

2009年04月20日,甲骨文74億美元收購Sun躏碳。取得 java 的版權(quán)

2010年11月搞旭,由于甲骨文對于Java社區(qū)的不友善,因此 Apache 揚(yáng)言將退出 JCP[4]

2011年7月28日菇绵,甲骨文發(fā)布java7.0的正式版

2014年3月18日肄渗,Oracle公司發(fā)表Java SE 8

Java 開發(fā)工具

Java 語言盡量保證系統(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

http://www.oracle.com/technetwork/cn/java/javase/downloads/index.html

IDEA

https://www.jetbrains.com/idea/)

Eclipse

http://www.eclipse.org/downloads/

安裝好上面的工具后钝的,我們就可以編譯運(yùn)行 "Hello World"

Java 基礎(chǔ)教程

Java 是當(dāng)下最流行的開發(fā)語言,長年盤踞在 TIOBE 語言排行榜榜首

Java 是 Web 和 Android 上的主流開發(fā)語言铆遭,是淘寶等大公司的主要開發(fā)語言

Java 世界的 Hello World

我們用一個簡單的示例來展示 Java 最簡單的代碼

首先新建一個文件 HelloWorld.java硝桩,文件名需與類名一致

public class HelloWorld {

?? public static void main(String[] args) {

? ? ?? System.out.println("Hello World");

?? }

}

$ javac HelloWorld.java

$ java HelloWorld

Hello World

javac 后面跟著的是 java 文件的文件名,例如 HelloWorld.java

這個命令用于將 java 源文件編譯為 class 字節(jié)碼文件枚荣,如: javac HelloWorld.java

運(yùn)行 javac 命令后碗脊,如果成功編譯沒有錯誤的話,會出現(xiàn)一個 HelloWorld.class 的文件

java 后面跟著的是 java 文件中的類名,例如 HelloWorld 就是類名橄妆,如: java HelloWorld

java 命令后面不要加 .class

要編譯運(yùn)行 Java 文件衙伶,需要用到 javacjava 兩個命令

編譯運(yùn)行以上 Java 代碼,輸出結(jié)果如下

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末害碾,一起剝皮案震驚了整個濱河市矢劲,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌慌随,老刑警劉巖芬沉,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異阁猜,居然都是意外死亡丸逸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門剃袍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來黄刚,“玉大人,你說我怎么就攤上這事民效°疚” “怎么了侍芝?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長埋同。 經(jīng)常有香客問我,道長棵红,這世上最難降的妖魔是什么凶赁? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮逆甜,結(jié)果婚禮上虱肄,老公的妹妹穿的比我還像新娘。我一直安慰自己交煞,他們只是感情好咏窿,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著素征,像睡著了一般集嵌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上御毅,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天根欧,我揣著相機(jī)與錄音,去河邊找鬼端蛆。 笑死凤粗,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的今豆。 我是一名探鬼主播嫌拣,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼呆躲!你這毒婦竟也來了异逐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤歼秽,失蹤者是張志新(化名)和其女友劉穎应役,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體燥筷,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡箩祥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了肆氓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袍祖。...
    茶點(diǎn)故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖谢揪,靈堂內(nèi)的尸體忽然破棺而出蕉陋,到底是詐尸還是另有隱情捐凭,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布凳鬓,位于F島的核電站茁肠,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏缩举。R本人自食惡果不足惜垦梆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望仅孩。 院中可真熱鬧托猩,春花似錦、人聲如沸辽慕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽溅蛉。三九已至公浪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間船侧,已是汗流浹背因悲。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留勺爱,地道東北人晃琳。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像琐鲁,于是被迫代替她去往敵國和親卫旱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評論 2 345