看着隔壁在问培训班的事情,我想推荐一本书。以及推荐给那些做 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 之间是如何继承如何构造的,是很好的学习榜样。最后关于多线程,关于锁和条件变量的使用。
这本书很权威,基本上它说的就一定是真理。
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 之间是如何继承如何构造的,是很好的学习榜样。最后关于多线程,关于锁和条件变量的使用。
这本书很权威,基本上它说的就一定是真理。