首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
拉勾
V2EX  ›  程序员

Java 书籍推荐

  •  
  •   tail2 · 66 天前 · 1730 次点击
    这是一个创建于 66 天前的主题,其中的信息可能已经有所发展或是发生改变。

    题主今年大四, 计算机专业,找了一份 java 后端开发的工作, 明年毕业入职, 想在入职前给自己充充电。

    题主小白一只, 跟着慕课网的 java 职业路径看了前三部分, 最后的框架部分还没看完。 但是觉得视频讲的不一定深入, 而且里面有的知识好像有点过时比如 jsp。

    在知乎上搜索有个大神推荐了下面的书单:

    java 核心技术

    java 编程思想

    算法 4

    敏捷软件开发原则模式与实践

    java 并发编程实战

    深入理解 java 虚拟机

    Head First 设计模式

    effective java

    J2EE development without EJB

    买之前想问问大家觉得这些书怎么样, 有哪些值得一看, 哪些不太好?

    大家如果有推荐的书 或是视频 或是其它渠道的学习方法与心得 还请与我分享一二, 感激不尽~~~

    第 1 条附言  ·  66 天前
    请帮我分辨以下书单中的书是否值得一读,
    并分享一下 Java 后端的学习书籍和学习方法与心得~ thanks~
    26 回复  |  直到 2019-01-16 15:11:19 +08:00
        1
    Mistwave   66 天前 via iPhone
    建议楼主优先看 Java 核心和算法第四版 这个算基础
    然后可以辅以 Spring Boot 实战 敲一点代码
    接下来才是进阶,这部分完全可以工作后再看:jvm/effective java/设计模式
        2
    bajie   66 天前
    当年我自学 js 的时候,被知乎大神推荐过 js 权威指南,看得我是头大如斗,一度怀疑自己的智商,后来还是看高程三才入门,所以一开始你千万别选那种可以当字典的书来看
        3
    tail2   66 天前 via Android
    @Mistwave 非常感谢
        4
    tail2   66 天前 via Android
    @bajie 是, 看着还有这么多没涉及的知识有些恐慌
        5
    xiaoidea   66 天前
    个人愚见,从初级 java 进阶第一本应该看的书应该是《 java 并发编程实战》
        6
    jeffersonpig   66 天前
    @bajie js 跟 java 不是同一个东西吧?
        7
    tail2   66 天前 via Android
    @xiaoidea 好哒, 谢谢😜
        8
    tail2   66 天前
    咋收藏的比回复的还多···
        9
    Narcissu5   66 天前
    不同意一楼,我认为对于新手来说核心技术并不重要,能出东西才是第一位的

    首先就是《 Effective Java 》,新人能写出规整的代码绝对会让人眼前一亮的,先把代码写好了写工整了,其它的才有的谈。
        10
    aaronysj   66 天前
    先看一遍,工作一年再看一遍,工作两年再看一遍。
        11
    bajie   66 天前
    @jeffersonpig 我只是举例而已,编程思想这本书不就和 js 的权威指南差不多,通篇各种概念,和字典差不多吗
        13
    shijingshijing   66 天前 via iPhone   ♥ 1
    @Narcissu5 可拉倒吧,我这个写了 N 年 c 和 c++的看 effective java 有些都整不明白,你一上来就推荐这个。这本书适合写了一段时间 java 想提高自己的编码和设计水平的 java 程序员看,里面的东西其实是最佳实践,绝不能一上来就看,看也看不懂。里面提到的工厂模式,订阅模式要有设计模式的基础才能知道为什么这种情况在 java 里面用这个模式最合适。

    我建议新手还是 head first java 看起来,然后 Think in Java (有点老了),然后开始实战积累经验,做了几个项目后,边做边看设计模式、jvm、并发,然后进一步深入 jvm 是怎么实现的,effctive java,concurrent practice 那本。

    算法其实不需要了解很深入,链表,哈希表,二叉树,字符处理等基础的就够了,最短路径,红黑树,动态规划根本不需要看。
        14
    shijingshijing   66 天前 via iPhone
    我个人认为 c 转 c++再转 java 每次都需要突破。

    从 c 到 c++主要是面向过程到面向对象的思想转换;
    从 c++到 java 主要是从面向特定机器编程模型到面向通用机器的编程模型,所以才需要了解 GC 和 jvm,其实学习 jvm 某种程度上相当于重新撸一遍 x86 和 ARM。
        15
    micean   66 天前
    个人觉得的顺序是
    1. 语法
    2. maven+spring+常用第三方 lib
    3. 常用的 map 和 collection+并发
    4. 字节码+jvm

    设计模式在自己写了几年代码之后自然就领悟了
        16
    Narcissu5   66 天前
    @shijingshijing 《 Effective Java 》在 google 是当作编码规范来用的,编码规范这种东西能有多难?

    我觉得可能你受 C++的影响太深了,C++的 OO 是残废的,实际上如果你真的用 OO 的方式来写代码你就会发现 EJ 里面写的都是些不言自明的东西。有或者我们看的不是一本 EJ。。。。
        17
    shijingshijing   66 天前 via iPhone
    @Narcissu5 拜托你先弄清楚 coding standard 和 best practice 的区别再说好么?二者有重叠但绝不是一回事好么?实现一个项目有多种方法,根据自身实际情况,针对某种场景,找出最适合的实现方法这个叫 best practice 好么?不是强制性的,但这样做是兼顾可扩展性,可维护性,系统性能等多方面的出的最佳方案。coding standard 很多都是强制性的,比如命名规则,注释方式。

    c++不是残废而是给你选择太多了,新手上来就像小孩子逛糖果店这个很好那个也不错,最后弄出来的东西就可能出现有的地方发育的非常完美,但有的地方烂的流脓(最典型的就是内存泄漏)。Java 把某些方面限制死了,然后针对一些场景进行了某种折衷处理,带来的好处是能在总体上保持某种程度健康( GC 和 jvm )。

    我始终认为真正会的人用 c++和 c 写出来的东西是优雅的,让他们去用 java 写反而难受。比如 linux 下的那些小工具,还有 Adobe 全家桶,Firefox 系列这种生产力工具。
        18
    tail2   66 天前
    @aaronysj 希望自己能做到💪
        19
    tumi9527   66 天前
    没有编程经验,head first java,有经验,核心一,先入门再说,然后看个框架,做个小网站啥的,之后在看设计模式之类
        20
    tail2   66 天前
    @micean 感谢🙇‍
        21
    tail2   66 天前
    @tumi9527 万分感谢~
        22
    PazuLee   65 天前
    一只加班狗尝试回答下:看全了太难,就算局限在 java,也分很多方向。CRM ?基础框架?还是所谓互联网公司的高并发系统?关注点都不太一样。建议描述更清晰些。
        23
    tail2   65 天前 via Android
    @PazuLee 都 1 点了你还在加班!?小白一只, 目前还没入职也不知道去了公司做哪块, 只知道是 java 后端,只想在入职前打好基础到时候别跟不上进度拖后腿_(:з」∠)_
        24
    lancelock   65 天前
    转行写 java 6 个月,到现在只看了一本 java 核心技术 卷 1,感觉自己是在太懒散了
        25
    PazuLee   65 天前
    @tail2 # 23 那我个人感觉,问下公司现有 java 框架 + 中间件然后熟悉,是现阶段比较重要的事儿。对自己来说能提高开发效率,节省时间;对同事来说能有一个不错印象
        26
    tail2   65 天前 via Android
    @Pazulee OK, 万分谢谢😜
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3900 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 08:51 · PVG 16:51 · LAX 01:51 · JFK 04:51
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1