推荐一本 Java 的经典书

2017-01-19 22:55:53 +08:00
 snnn
看着隔壁在问培训班的事情,我想推荐一本书。以及推荐给那些做 Android APP 但是想转后端的人。
The Java Programming Language (4th Edition) 。 James Gosling 是作者之一。
https://www.amazon.cn/dp/0321349806/
现在可能断货了,我 10 年前买的。你可以找电子版然后打印出来。

想学好 Java ,这一本书足够了。我只有这一本 Java 的书,而且实话说,我也没全看完,只看了前 2/3 。
这书很厚,但是就像内功心法,学了这个再去搞 web 开发那简直就是闭着眼睛随便玩。

我觉得核心点还是围绕着 java 的语法来学习面向对象。比如什么该把你的代码抽成一个接口,从 Runnable 这样的 interface 学习 callback 的设计和使用。如何组织类之间的相互关系,比如什么时候用 nested inner class ,什么要在 class 前加 static 什么时候不加。如何减少暴露。如何让你的代码更容易重构。如何管理对象的生命周期,如何管理系统资源(如文件句柄)。再者,如何操作文件。那些 stream 和 reader 之间是如何继承如何构造的,是很好的学习榜样。最后关于多线程,关于锁和条件变量的使用。

这本书很权威,基本上它说的就一定是真理。
4653 次点击
所在节点    Java
20 条回复
echo1937
2017-01-19 23:23:48 +08:00
Java 四大名著:
The Java Programming Language
Thinking in Java
Effective Java
Core Java
HFX3389
2017-01-20 00:12:01 +08:00
@echo1937 四大名著中的 Thinking in Java,Effective Java,Core Java 卷一我都有了,然而还是不会 Java 。。。
ihuotui
2017-01-20 00:12:17 +08:00
我喜欢看马丁福勒的书。
valkyrja
2017-01-20 00:44:59 +08:00
@echo1937 四大名著我都有,然而还是不会 java 。。。
echo1937
2017-01-20 01:16:30 +08:00
@HFX3389 @valkyrja

你们俩那是都不看的吧?就和我买算法导论辟邪是一样的。
lzhCoooder
2017-01-20 01:30:14 +08:00
似乎从"K&R C"开始每个语言的爹都会写一个
The XXX Programming Language
a0000
2017-01-20 01:49:10 +08:00
@valkyrja 楼主推荐的书在哪买啊,没找到
pollow
2017-01-20 06:16:55 +08:00
@echo1937 还有一套 TAOCP , Unix Network Programming , TCP/IP 用来垫显示器是吗 233
Cbdy
2017-01-20 09:10:13 +08:00
@pollow TCP/IP 三 卷里看过第一本, 看的中文翻译的,觉得 很不好(对比之前过网络另外两本名著),后面两卷貌似是讲具体实现的,不是专门研究网络协议的完全没有必要看。这本书名气很大,但书不符合它的名气。就像编译里的鼎鼎有名的龙书,里面好多东西现在看都显得不合时宜。

曾经看书看到过一个 讲法,一个人读书学习花的时间有三个部分:找书、读书、读垃圾书。所以学到同样地知识,一本好书可以节约大把时间。
AltairT
2017-01-20 09:12:58 +08:00
四大名著只买了 Java 编程思想和 Core Java 卷一,感觉四大名著除了 Core Java 都很难啃,所以入门时只看了 Core Java 卷 1,打算看完手头的 Android 书再抽空补补 Java 基础
padeoe
2017-01-20 09:37:48 +08:00
斗胆以为此书太浅显了,着重于类库的使用,不如看 Oracle 的 Java 语言文档( https://docs.oracle.com/javase/specs/)和 api 文档( https://docs.oracle.com/javase/7/docs/api/)。
学 Java 一本书肯定不够,若非要选一本,大概还属《 Thinking in Java 》。
楼主说的这书好像很难买到了,发个电子资源 https://padeoe.com/file/《 Java 程序设计语言》.pdf
parthenon2007
2017-01-20 09:50:55 +08:00
如果没有超强的自制力,根本看不完《 Thinking in Java 》吧
domty
2017-01-20 11:19:19 +08:00
@parthenon2007
我看 thinking in java 的自制力全都放到控制自己不去喷中文译者上面了。。。
这翻译的是个什么啊
parthenon2007
2017-01-20 11:40:14 +08:00
@domty 是啊,书前面的「专家指导委员会」更像是用来搞笑的。
VincentWang
2017-01-20 13:38:02 +08:00
@domty 哈哈哈哈哈哈,当年一直吐槽这特么什么玩意,机翻感觉都比这个好读。
acoder2013
2017-01-20 14:06:19 +08:00
官方文档吧
xiparos
2017-01-20 21:34:38 +08:00
@padeoe 《 Java 程序设计语言》.pdf 523M ,确定是 pdf ?
padeoe
2017-01-20 22:29:28 +08:00
@xiparos 确实是 pdf ,高清扫描版, pdf 我自己压制的,没有问题的
qinxi
2017-01-21 10:16:39 +08:00
@padeoe 吓得我手机都不敢点。。。
noobcode
2017-02-09 17:02:05 +08:00
《写给大忙人看的 Java 核心技术》足矣

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/335726

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX