0.Java漫谈及课外资源推荐
Java诞生于20世纪90年代,相较于更早期的编程语言,吸收了他们的优点,摒弃了他们的一些难以理解的概念,限制了一些过于灵活的写法导致的错误。Java的语法和别的语言相比也许有些“啰嗦”,但是
“Java超越了所有咒骂它的'动态语言'”
“Java的'继承人'没能超越它”
“Java没有特别讨厌的地方”
Java常见的应用领域:
-
Applet,曾经流行于浏览器上可以实现网页动画、视频等绚烂效果,现已没落,被JavaScript取代 -
客户端程序开发,就是那些拥有图形界面的能拖放的程序,比如Java开发两大工具
Eclipse
和Intellij IDEA
就是用Java写的 -
Android,Android开发的官方指定语言
-
Java Web,网站后端(服务器端)开发(这是我们的重点)
Java能做什么?
anything!作为实现了图灵完备性
的语言,Java可以解决一切可计算
的问题。这里有一份不太长的 图灵完备性 解释。
Web开发的几种主流技术
刚才提到Java Web是我们未来的重点发展方向,这不妨提一下几个主流的网站开发技术(不要杠精还有别的,我只想提这几个)
-
php
,早年php做网站几乎是默认的选项,开发成本低,周期短,前期维护简单,各大虚拟主机、网络空间都优先支持php -
ASP.NET
,微软推出的旨在面向现代化网站开发的技术。好是好,但是学习了ASP.NET就意味着被绑定在了微软技术圈里,需要用Windows Server系统,IIS Web服务器,开发工具Visual Studio,这都是要收费的(请不要拿盗版杠精),不过2016年推出的开源的Asp.net Core有待观察 -
Node.js
,2009年 Ryan Dahl 创造性地利用Google的js引擎V8,将原本只能在浏览器里运行的JavaScript带入到后端服务器开发的领域。一个合格的Web前端工程师在不学习新的编程语言下,可以以极小的成本顺利得转入后台开发,这导致目前Node.js非常火热 -
Java Web
,有的地方称Java EE,现在都模糊之间的差别了,就是指应用Java技术来做Web开发。曾经的Java EE十分的臃肿,开发繁杂,但以2004年问世的Spring为代表的轻量级框架(吐槽😝,虽然现在也开始变得复杂了)极大的提升了Java Web领域的开发效率,改变了以往效率较低,臃肿繁琐的情况。至今Java在Web领域可谓如日中天。这段历史可参看 Spring框架的由来与发展 ,该文章会有很多看不懂的新名词,没关系,就看完它,了解里面提到的东西即可
常见的名词解释
JDK各版本发布日期(只列大版本)
版本 | 发布日期 |
---|---|
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 企业版,现如今更多的就是用来web开发了
-
Java ME指的是Java Micro Edition,为手机(不是Android)、PDA等小型、嵌入式设备准备的版本,一般不再探讨
有的地方称JDK1.5、JDK1.6……JDK1.8,有的地方称JDK5、JDK6……JDK8,这是什么鬼
额,因为2004年10月Sun公司(当时是Java的开发者,现已变为Oracle)发布JDK第5个版本时宣布,改变以往的命名方式,将原本按1.3、1.4这样的命名方式把本该顺位的1.5改名为JDK5.0,以后就是JDK6.0、JDK7.0……简单地说就是改名了😎
有的地方称J2EE,有的地方称Java EE,这又是什么鬼
还是改名。从JDK6开始,Sun公司除了改标准版SE的名字外(J2SE->Java SE),还把企业版原本的J2EE改名Java EE。除此之外,事实上在 2018年3月5日,Eclipse基金会宣布Java EE又改名为Jakarta EE。为什么又变成Eclipse基金会宣布了,因为2017年夏天,Oracle决定将Java EE移交给Eclipse基金会,但又不愿意放弃Java EE的商标名,最后为了避免可能的法律风险,Eclipse基金会只好被迫改名,这段被迫改名的往事可参见这里:Java EE:更名实属无奈,未来路在何方?
Java一词是如何来的,有何意义
许多书籍博客都提到最初命名Java这门语言的人们受到手头产自印度尼西亚爪哇岛的咖啡豆的咖啡启发,所以起名,爪哇岛的英文就是Java,这是真实世界的一个地名,这也是Java LOGO的来源,一杯热腾腾的咖啡
Java LOGO同样是上面提到的Jakarta一词的缘由,也是选择了印度尼西亚的一个城市——首都雅加达的英文
推荐课外用书
- 《疯狂java讲义》(第3版)
- 《java jdk8学习笔记》
不推荐的书
-
《Java编程思想》 -
《Java核心技术》
不推荐的理由:我当然没有资格去批评这两本Java世界的经典著作,他们久负盛名,影响了一代又一代的Java工程师,确实好!但是它们不适合新手
,里面谈到了太多的细节,太多的边边角角,新手要的是快速对Java有个掌握,对编程有初步的认识。如果日后熟练再看这两本书当然更好。
主流的开发工具
目前来看就2个了:
-
Eclipse
-
Intellij IDEA
都说Intellij IDEA更好,但是初学者学的是Java,学的不是工具,Eclipse作为久经考验的Java开发工具,至今仍有不可替代的作用。更何况Eclipse开源免费,不用求爷爷告奶奶去找破解👌(请不要杠精Intellij IDEA的免费社区版,我知道有这个)。我推荐Eclipse👍作为新手的工具。
JDK的下载安装配置环境
略,网上相关教程文章一大堆,不缺我这里写。另外推荐的两本书也都有详细的图文教程。
Eclipse的下载安装和使用
略,Eclipse的使用请参考网上资源,本系列不做介绍。
补充
额外补充两篇高质量博客,受限于该博客版权声明,不能全文转载,只能发摘要和链接。
-
这篇博客仅用约1万字就把“计算机科学的精华”给说完了(作者如此自认为),套用原博客的话就是
其实你可以安心。如果你掌握了上一节的“计算要素”,那么你就掌握了几乎所有类型的计算系统所需要的东西。你在后面所需要做的只是加深这种理解,并且把它“对应”到现实世界遇到的各种计算机器里面。
对初学者了解抽象的计算是什么,编程到底都有那些东西,做初步的了解是再好不过了。
-
还是同一个作者,这篇博客看题目就牛X了。对于初学者,这篇博客会出现大量的新名词,新术语,评价了相当多的编程语言,对于整个编程体系有个脉络式的感觉。
注意
,这篇看看就好,该文有作者大量的自我理解和观念,不要当成金科玉言。事实上这个作者在网络上有着两极分化严重的评价。重点看文中透露出的观念,并不推崇那门语言而贬低别的语言,而是抓住不同语言共有的结构和不一样的特征。
网友评论