0.Java漫談及課外資源推薦

0.Java漫談及課外資源推薦

??Java誕生于20世紀90年代,相較于更早期的編程語言,吸收了他們的優(yōu)點,摒棄了他們的一些難以理解的概念,限制了一些過于靈活的寫法導(dǎo)致的錯誤。Java的語法和別的語言相比也許有些“啰嗦”,但是

Java常見的應(yīng)用領(lǐng)域:

  • Applet,曾經(jīng)流行于瀏覽器上可以實現(xiàn)網(wǎng)頁動畫、視頻等絢爛效果,現(xiàn)已沒落,被JavaScript取代

  • 客戶端程序開發(fā),就是那些擁有圖形界面的能拖放的程序,比如Java開發(fā)兩大工具EclipseIntellij IDEA就是用Java寫的

  • Android,Android開發(fā)的官方指定語言

  • Java Web,網(wǎng)站后端(服務(wù)器端)開發(fā)(這是我們的重點)

Java能做什么?

??anything!作為實現(xiàn)了圖靈完備性的語言,Java可以解決一切可計算的問題。這里有一份不太長的 圖靈完備性 解釋。

Web開發(fā)的幾種主流技術(shù)

??剛才提到Java Web是我們未來的重點發(fā)展方向,這不妨提一下幾個主流的網(wǎng)站開發(fā)技術(shù)(不要杠精還有別的,我只想提這幾個)

  • php,早年php做網(wǎng)站幾乎是默認的選項,開發(fā)成本低,周期短,前期維護簡單,各大虛擬主機、網(wǎng)絡(luò)空間都優(yōu)先支持php
  • ASP.NET,微軟推出的旨在面向現(xiàn)代化網(wǎng)站開發(fā)的技術(shù)。好是好,但是學習了ASP.NET就意味著被綁定在了微軟技術(shù)圈里,需要用Windows Server系統(tǒng),IIS Web服務(wù)器,開發(fā)工具Visual Studio,這都是要收費的(請不要拿盜版杠精),不過2016年推出的開源的Asp.net Core有待觀察
  • Node.js,2009年 Ryan Dahl 創(chuàng)造性地利用Google的js引擎V8,將原本只能在瀏覽器里運行的JavaScript帶入到后端服務(wù)器開發(fā)的領(lǐng)域。一個合格的Web前端工程師在不學習新的編程語言下,可以以極小的成本順利得轉(zhuǎn)入后臺開發(fā),這導(dǎo)致目前Node.js非常火熱
  • Java Web,有的地方稱Java EE,現(xiàn)在都模糊之間的差別了,就是指應(yīng)用Java技術(shù)來做Web開發(fā)。曾經(jīng)的Java EE十分的臃腫,開發(fā)繁雜,但以2004年問世的Spring為代表的輕量級框架(吐槽??,雖然現(xiàn)在也開始變得復(fù)雜了)極大的提升了Java Web領(lǐng)域的開發(fā)效率,改變了以往效率較低,臃腫繁瑣的情況。至今Java在Web領(lǐng)域可謂如日中天。這段歷史可參看 Spring框架的由來與發(fā)展 ,該文章會有很多看不懂的新名詞,沒關(guān)系,就看完它,了解里面提到的東西即可

常見的名詞解釋

JDK各版本發(fā)布日期(只列大版本)
版本 發(fā)布日期
JDK 1.1.4 1997/9/12
J2SE 1.2 1998/12/4
J2SE 1.3 2000/5/8
J2SE 1.4 2002/2/13
J2SE 5.0 2004/9/29
Java SE 6 2006/12/11
Java SE 7 2011/7/28
Java SE 8 2014/3/18
Java SE 9 2017/9/21
Java SE 10 2018/3/21
Java SE 11 2018/9/25
所謂的SE/EE/ME是指啥
  • Java SE指的是Java standard Edition即Java 標準版
  • Java EE指的是Java Enterprise Edition即Java 企業(yè)版,現(xiàn)如今更多的就是用來web開發(fā)了
  • Java ME指的是Java Micro Edition,為手機(不是Android)、PDA等小型、嵌入式設(shè)備準備的版本,一般不再探討
有的地方稱JDK1.5、JDK1.6……JDK1.8,有的地方稱JDK5、JDK6……JDK8,這是什么鬼

??額,因為2004年10月Sun公司(當時是Java的開發(fā)者,現(xiàn)已變?yōu)镺racle)發(fā)布JDK第5個版本時宣布,改變以往的命名方式,將原本按1.3、1.4這樣的命名方式把本該順位的1.5改名為JDK5.0,以后就是JDK6.0、JDK7.0……簡單地說就是改名了??

有的地方稱J2EE,有的地方稱Java EE,這又是什么鬼

??還是改名。從JDK6開始,Sun公司除了改標準版SE的名字外(J2SE->Java SE),還把企業(yè)版原本的J2EE改名Java EE。除此之外,事實上在 2018年3月5日,Eclipse基金會宣布Java EE又改名為Jakarta EE。為什么又變成Eclipse基金會宣布了,因為2017年夏天,Oracle決定將Java EE移交給Eclipse基金會,但又不愿意放棄Java EE的商標名,最后為了避免可能的法律風險,Eclipse基金會只好被迫改名,這段被迫改名的往事可參見這里:Java EE:更名實屬無奈,未來路在何方?

Java一詞是如何來的,有何意義

??許多書籍博客都提到最初命名Java這門語言的人們受到手頭產(chǎn)自印度尼西亞爪哇島的咖啡豆的咖啡啟發(fā),所以起名,爪哇島的英文就是Java,這是真實世界的一個地名,這也是Java LOGO的來源,一杯熱騰騰的咖啡

Java LOGO

同樣是上面提到的Jakarta一詞的緣由,也是選擇了印度尼西亞的一個城市——首都雅加達的英文

推薦課外用書

  • 《瘋狂java講義》(第3版)
  • 《java jdk8學習筆記》

不推薦的書

  • 《Java編程思想》

  • 《Java核心技術(shù)》

??不推薦的理由:我當然沒有資格去批評這兩本Java世界的經(jīng)典著作,他們久負盛名,影響了一代又一代的Java工程師,確實好!但是它們不適合新手,里面談到了太多的細節(jié),太多的邊邊角角,新手要的是快速對Java有個掌握,對編程有初步的認識。如果日后熟練再看這兩本書當然更好。

主流的開發(fā)工具

??目前來看就2個了:

  • Eclipse

  • Intellij IDEA

??都說Intellij IDEA更好,但是初學者學的是Java,學的不是工具,Eclipse作為久經(jīng)考驗的Java開發(fā)工具,至今仍有不可替代的作用。更何況Eclipse開源免費,不用求爺爺告奶奶去找破解??(請不要杠精Intellij IDEA的免費社區(qū)版,我知道有這個)。我推薦Eclipse??作為新手的工具。

JDK的下載安裝配置環(huán)境

??略,網(wǎng)上相關(guān)教程文章一大堆,不缺我這里寫。另外推薦的兩本書也都有詳細的圖文教程。

Eclipse的下載安裝和使用

??略,Eclipse的使用請參考網(wǎng)上資源,本系列不做介紹。

補充

??額外補充兩篇高質(zhì)量博客,受限于該博客版權(quán)聲明,不能全文轉(zhuǎn)載,只能發(fā)摘要和鏈接。

  • 解謎計算機科學

    這篇博客僅用約1萬字就把“計算機科學的精華”給說完了(作者如此自認為),套用原博客的話就是

    其實你可以安心。如果你掌握了上一節(jié)的“計算要素”,那么你就掌握了幾乎所有類型的計算系統(tǒng)所需要的東西。你在后面所需要做的只是加深這種理解,并且把它“對應(yīng)”到現(xiàn)實世界遇到的各種計算機器里面。

    對初學者了解抽象的計算是什么,編程到底都有那些東西,做初步的了解是再好不過了。

  • 如何掌握所有的程序語言

    還是同一個作者,這篇博客看題目就牛X了。對于初學者,這篇博客會出現(xiàn)大量的新名詞,新術(shù)語,評價了相當多的編程語言,對于整個編程體系有個脈絡(luò)式的感覺。

    注意,這篇看看就好,該文有作者大量的自我理解和觀念,不要當成金科玉言。事實上這個作者在網(wǎng)絡(luò)上有著兩極分化嚴重的評價。重點看文中透露出的觀念,并不推崇那門語言而貶低別的語言,而是抓住不同語言共有的結(jié)構(gòu)和不一樣的特征。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容