豆瓣 9.5,这本新书直接封神!
大家好,我是公子龙,相信绝大多数同学都曾经或正在思考:
到底学 C++ 还是 Java?
我建议是都学下,因为 Java 是源于 C++ 的一门更加纯正的面向对象语言,很多语法其实和 C++ 也挺像的。
最主要差别是引入了 虚拟机 和 垃圾回收机制 ,由引用代替指针(C++ 也有引用了),去除多继承、操作符重载等特性,让 Java 语言更容易编写可靠的程序。
虽说 Java 更容易学习,但是要深入掌握还是离不开系统的学习。
我们学校大一下开的《面向对象编程》课程用的就是 Java 语言,配套的教材也是 Bruce Eckel 那本非常经典的《Java编程思想》(原版书Thinking in Java)。
不过说实话,当时大一尝试去看了《Java编程思想》,不仅太厚,而且对于初学者来说不易抓住重点,也就不了了之。
后来还是在 B 站看完了尚学堂高琪老师的 Java 300集。看完视频,基本掌握了Java 核心知识点并且做了几个小项目之后, 再去看《Java编程思想》就明显能把握得住了。
后来才愈发觉得这本书的香,开发中遇到的问题,在书里基本都能找到答案。
对于整个 Java 后台的学习,我建议的学习路线是:
Java语言基础-> Java语言进阶-> JVM、并发、网络编程 (同时 Java Web)-> 深入理解计算机 -> 分布式 、 微服务、 存储等
所以,对于有 C++ 基础的同学来说,要想扎实 Java 基础同时实现进阶,我一直推荐的是《Java编程思想》,不过这本书在现在看来,内容确实有些过时了,基于 Java5 不说,书中还充斥着如图形界面 Swing 之类的老古董。
年底Spring Boot 3发布之后,也将Java基线定在了17,如果想系统的了解 Java8 之后的内容,建议大家最好选择 Bruce Eckel 大佬的新作《On Java》,重讲Java编程思想,基于 Java8 的特性进行教学,同时也有 Java11、17 等版本的新特性,在豆瓣评分更是到了 9.5 的高分。
最关键的是,这套书分为基础和进阶两卷,比较适合各个层次的 Javaer 阅读,如果你是初学者那么可以先看基础卷,如果已经有多年开发经验则可以重点看进阶卷。
给大家看下目录:
内容包含对象、操作符、控制流、初始化和清理、复用、多态、接口、内部类、集合、函数式编程、流、异常、代码校验、文件、字符串、泛型等 Java 核心主干知识。
另外,这套书还请 4 位比较知名作译者录制了针对初学者的精读视频(40讲) + 配合书是 Java 入门首选组合。
这本书我拿到之后也看了几章(跳着看的),我觉得翻译得挺好的,读起来没有太多拗口的感觉。
由于 Bruce 本身 C++ 标准委员会关键成员,也写过 《Thinking in C++》,所以这本书里不少的地方,作者会提到 C++,将其与 Java 做对比,这对于有 C++ 基础的同学会比较亲切:
另外,这本书还从语言设计演进角度讲解“设计模式”选用方法,不仅在每章的示例里渗透了设计模式的概念,还单独增设了“设计模式”一章:
作者在书中也指出了 Java 语言中存在的一些“设计缺陷”,这些都是 Javaer 应该了解的语言设计缺陷,可以说是编码必学~
最后,这两本书都挺厚的,基础卷 800多页,进阶卷 500 多页,内容很丰富,排版也很不错。对于看这种厚书,还是坚持一贯的原则,先看目录,可以跳着看自己还不熟悉/感兴趣的内容。
如果是准备校招的话,建议抽 1-2 周时间将进阶卷过一下,包含了并发、IO、设计模式、注解等 Java 核心内容,看完 Java 语言基础这块面试问题不大。
你好,我是公子龙,毕业于中科院,前大型计算机竞赛冠军,现大厂工程师,拿过九家大厂的 offer 。
北漂七年,从小白到计算机竞赛冠军,读研时通过实习和比赛收入 50 万,点击蓝字查看我的编程之路。