Java编程思想阅读收获
15年8月份买了一本Java编程思想第四版中文版。之所以买中文版是因为我试读了同事的英文版发现自己英语水平还是有限,单词虽然认识,但对很多句子把握不准,这样看书太慢了,要理解英文还要理解技术有些hold不住。买了之后断断续续的看到现在,看了400多页了,看到了泛型一章。从15年8月份到元旦,中间还看了本周志明著的《深入理解java虚拟机-JVM高级特性与最佳实践》对JVM有了初步的了解。对于内存布局、垃圾回收、类加载、字节码等概念不再那么模糊。
Java编程思想一书已经读了正好一半了,很有感触。想在这里写下来分享给那些像我这样想看这本书却迟迟不敢开始的人们。
1)Java编程思想这本书给我的最大印象是介绍技术比较详细而深入,不仅告诉你怎么做,而且会说为什么Java是这样做的。作者Bruce Eckel也是C++编程思想的作者,对C++和Java的认识都是大师级的,所以他经常会对比Java和C++,告诉你Java都替程序员避免了C++的哪些坑,某些实现Java比C++好在哪里,又差在什么地方。这样的讲述其实就像在跟大师对话一样,不但能学到Java的知识,还能学习大师的思维。
2)看这本书时,一定要把书中的例子源码下载下来,自己真正的跑例子,有什么疑问直接可以通过修改例子验证自己的想法。这比单纯的看书学习效果是要好非常多的。
3)虽然网上很多人说这本书是入门级的,初学者必读。但我不推荐没有Java基础,想学习Java的人通过这本书入门Java。因为这本书讲得太详细,太厚了,很多的内容不只是基础,拿这本书入门可能会令人感到沮丧。找一本两三百页的书,或者从网上看一些Java入门的视频是比较好的选择。
4)上面也说到了,这本书里一些内容不是入门知识,需要对Java有一定的认识以及足够多的研究之后才能弄懂书中的一些内容。对我而言,本书的泛型一章中的一些内容我看得晕晕乎乎的,只能理解泛型的大概,没能再深入。所以,看这本书时,我的建议是:如果觉得书中一些地方挺难懂,也要硬着头皮读下去,书中例子认真研究,至少都看懂,跑一遍。实在不懂的,查资料也搞不懂的,先跳过去,等读第二遍、第三遍的时候说不定会有恍然大悟的感觉。
5)看这本的中间我还看了一本书《深入理解Java虚拟机-JVM高级特性与最佳实践》,收获非常大。而且我通过读《深入》这本书养成了一个好习惯:有些内容读一遍很多不大懂;但第二天读第二遍的时候轻松了不少,理解了不少;过几天再读第三遍的时候发现都能懂了!所以在读《Java编程思想》的时候我也用了这种读书方法,一遍读不懂的,读两遍,过几天再读一遍。这样读下来,发现虽然书读的比较慢,但理解的比较好,收获很大。
6)还有一点是,读书的时候要相互对照,比如阅读《Java编程思想》的持有对象一章的时候,我会对照《深入理解Java虚拟机》一书中的类加载一章以及JVM内存布局与对象创建的章节。这样理解起来,Java语言层面的东西理解了,JVM层面的知识也知道了。效果非常好。
另外,很多人说技术更新太快,读书都是比较过时的东西,最好是去官网看文档。我同意这个观点,我也会去看文档。但是读书还是很有必要的,为什么呢?在我看来,读书不仅能学到想要的技术,更重要的是书里的文字都是作者精心完成的,是作者思想的精华,读好书就像在跟大师交流,你能学习到大师们的思考方式,获得大师们才有的眼界。这是看文档得不到的。当然,不能买太过时的书。尽量买大师写的、最新版的。吐槽一下:坐落于五道口的国内某一流大学里的一个出版社经常出一些技术书,大家要擦亮眼睛,他们很会抄袭,那种书就是为了挣钱。买书尽量买NB的个人的,那是作者的心血,都是精华。一大堆人写的,算了吧,那是书吗?知识的堆积而已,根本没有思想在里面。当然,我不否认那里有NB的人写了NB的书,我只是吐槽一下鸟大了什么林子都有,买书要擦亮双眼。
Java编程思想阅读收获的更多相关文章
- 【Java编程思想阅读笔记】Java数据存储位置
Java数据存储位置 P46页有感 一.前置知识 栈是由系统自动分配的,Java程序员对栈没有直接的操作权限, 堆是所有线程共享的内存区域,栈 是每个线程独享的. 堆是由程序员自己申请的,在使用new ...
- List接口方法使用(PS:Java 编程思想阅读小结)
1.用代码说话 package JavaProject; import java.util.*; public class A{ public static void main(String[]arg ...
- java编程思想阅读记录
第五章:初始化与清理 1.构造器确保初始化 构造器采用与类名相同的方法. 创建对象时,将会为对象分配存储空间,并调用相应的构造器.这就确保了在你能操作对象之前,它就已经恰当的被初始化了. 垃圾回收器负 ...
- 《Java编程思想》阅读笔记二
Java编程思想 这是一个通过对<Java编程思想>(Think in java)进行阅读同时对java内容查漏补缺的系列.一些基础的知识不会被罗列出来,这里只会列出一些程序员经常会忽略或 ...
- 《Java编程思想》阅读笔记一
Java编程思想 这是一个通过对<Java编程思想>(Think in java)第四版进行阅读同时对java内容查漏补缺的系列.一些基础的知识不会被罗列出来,这里只会列出一些程序员经常会 ...
- JAVA编程思想——分析阅读
需要源码.JDK1.6 .编码风格参考阿里java规约 7/12开始 有点意识到自己喜欢理论大而泛的模糊知识的学习,而不喜欢实践和细节的打磨,是因为粗心浮躁导致的么? cron表达式使用 设计能力.领 ...
- [Java编程思想-学习笔记]第3章 操作符
3.1 更简单的打印语句 学习编程语言的通许遇到的第一个程序无非打印"Hello, world"了,然而在Java中要写成 System.out.println("He ...
- 《java编程思想》读书笔记(一)开篇&第五章(1)
2017 ---新篇章 今天终于找到阅读<java编程思想>这本书方法了,表示打开了一个新世界. 第一章:对象导论 内容不多但也有20页,主要是对整本书的一个概括.因为已经有过完整JAV ...
- MyEclipse导入ant项目——Java编程思想
北门煎饼东门串儿: <JAVA编程思想(Think in Java)>一书中提供了大量源代码,可是项目是用ant构建的.对于用惯了eclipse,netbeans等IDE的同学们可能有些手 ...
随机推荐
- CLR-2-2-引用类型和值类型
引用类型和值类型,是一个老生常谈的问题了.装箱拆箱相信也是猿猿都知,但是还是跟着CLR via C#加深下印象,看有没有什么更加根本和以前被忽略的知识点. 引用类型: 引用类型有哪些这里不过多赘述,来 ...
- 推送本地项目至Github遇到的问题以及解决办法记录
在把本地新项目推送至GitHub仓库时的大致流程和步骤,首先现在GitHub上面新建一个项目,复制该项目的 带.git 后缀的地址,比如 git@github.com:XXX/XXX.git 然后在本 ...
- [FJOI 2014]最短路径树问题
Description 给一个包含n个点,m条边的无向连通图.从顶点1出发,往其余所有点分别走一次并返回. 往某一个点走时,选择总长度最短的路径走.若有多条长度最短的路径,则选择经过的顶点序列字典序最 ...
- [NOIp 2014]飞扬的小鸟
Description Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一不小心撞到了水管或者掉 ...
- 【HNOI2017】影魔
题目描述 影魔,奈文摩尔,据说有着一个诗人的灵魂.事实上,他吞噬的诗人灵魂早已成千上万.千百年来,他收集了各式各样的灵魂,包括诗人.牧师.帝王.乞丐.奴隶.罪人,当然,还有英雄. 每一个灵魂,都有着自 ...
- 51nod 1981 如何愉快地与STL玩耍
Description 驴蛋蛋在愉快地与STL玩耍 突然间小A跳了出来对驴蛋蛋说,看你与STL玩的很开心啊,那我给你一个大小为N的vector,这个vector上每个位置上是一个set, 每次我会在闭 ...
- hdu 5893 (树链剖分+合并)
List wants to travel Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/O ...
- 【BZOJ2241】【Sdoi2011R1D1】打地鼠
原题传送门 Description 打地鼠是这样的一个游戏:地面上有一些地鼠洞,地鼠们会不时从洞里探出头来很短时间后又缩回洞中.玩家的目标是在地鼠伸出头时,用锤子砸其头部,砸到的地鼠越多分数也就越高. ...
- bzoj 2594: [Wc2006]水管局长数据加强版
Description SC省MY市有着庞大的地下水管网络,嘟嘟是MY市的水管局长(就是管水管的啦),嘟嘟作为水管局长的工作就是:每天供水公司可能要将一定量的水从x处送往y处,嘟嘟需要为供水公司找到一 ...
- Python的数据类型——字符串
一.字符串的误解 计算机系统的每个内存单元都是唯一并且连续的物理地址,字符串在内存中一旦创建就被 操作系统分配一块唯一并且连续的地址.计算机系统不允许我们修改字符串中的内容,一旦我想 试图进行修改,系 ...