V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
snnn
V2EX  ›  Java

推荐一本 Java 的经典书

  •  
  •   snnn · 2017-01-19 22:55:53 +08:00 · 4837 次点击
    这是一个创建于 2867 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看着隔壁在问培训班的事情,我想推荐一本书。以及推荐给那些做 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 之间是如何继承如何构造的,是很好的学习榜样。最后关于多线程,关于锁和条件变量的使用。

    这本书很权威,基本上它说的就一定是真理。
    20 条回复    2017-02-09 17:02:05 +08:00
    echo1937
        1
    echo1937  
       2017-01-19 23:23:48 +08:00   ❤️ 1
    Java 四大名著:
    The Java Programming Language
    Thinking in Java
    Effective Java
    Core Java
    HFX3389
        2
    HFX3389  
       2017-01-20 00:12:01 +08:00
    @echo1937 四大名著中的 Thinking in Java,Effective Java,Core Java 卷一我都有了,然而还是不会 Java 。。。
    ihuotui
        3
    ihuotui  
       2017-01-20 00:12:17 +08:00
    我喜欢看马丁福勒的书。
    valkyrja
        4
    valkyrja  
       2017-01-20 00:44:59 +08:00 via Android
    @echo1937 四大名著我都有,然而还是不会 java 。。。
    echo1937
        5
    echo1937  
       2017-01-20 01:16:30 +08:00   ❤️ 2
    @HFX3389 @valkyrja

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

    曾经看书看到过一个 讲法,一个人读书学习花的时间有三个部分:找书、读书、读垃圾书。所以学到同样地知识,一本好书可以节约大把时间。
    AltairT
        10
    AltairT  
       2017-01-20 09:12:58 +08:00
    四大名著只买了 Java 编程思想和 Core Java 卷一,感觉四大名著除了 Core Java 都很难啃,所以入门时只看了 Core Java 卷 1,打算看完手头的 Android 书再抽空补补 Java 基础
    padeoe
        11
    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
        12
    parthenon2007  
       2017-01-20 09:50:55 +08:00
    如果没有超强的自制力,根本看不完《 Thinking in Java 》吧
    domty
        13
    domty  
       2017-01-20 11:19:19 +08:00
    @parthenon2007
    我看 thinking in java 的自制力全都放到控制自己不去喷中文译者上面了。。。
    这翻译的是个什么啊
    parthenon2007
        14
    parthenon2007  
       2017-01-20 11:40:14 +08:00
    @domty 是啊,书前面的「专家指导委员会」更像是用来搞笑的。
    VincentWang
        15
    VincentWang  
       2017-01-20 13:38:02 +08:00 via iPhone
    @domty 哈哈哈哈哈哈,当年一直吐槽这特么什么玩意,机翻感觉都比这个好读。
    acoder2013
        16
    acoder2013  
       2017-01-20 14:06:19 +08:00
    官方文档吧
    xiparos
        17
    xiparos  
       2017-01-20 21:34:38 +08:00
    @padeoe 《 Java 程序设计语言》.pdf 523M ,确定是 pdf ?
    padeoe
        18
    padeoe  
       2017-01-20 22:29:28 +08:00   ❤️ 1
    @xiparos 确实是 pdf ,高清扫描版, pdf 我自己压制的,没有问题的
    qinxi
        19
    qinxi  
       2017-01-21 10:16:39 +08:00 via Android
    @padeoe 吓得我手机都不敢点。。。
    noobcode
        20
    noobcode  
       2017-02-09 17:02:05 +08:00
    《写给大忙人看的 Java 核心技术》足矣
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5864 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 02:39 · PVG 10:39 · LAX 18:39 · JFK 21:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.