《Java编程思想》读书笔记
前言
这个月一直没更新,就是一直在读这本《Java编程思想》,这本书可以在Java业界被传神的一本书,无论谁谈起这本书都说好,不管这个人是否真的读过这本书,都说啊,这本书很好。然后再看这边书的厚度,哇塞,厚的真的不止一点点,所以很多人看了没多久就放弃了,看不下去,但是基于它的厚度,就说,这是一本好书。也有人说,看了没什么用的一本书,甚至还去嘲笑那些正在看的人,说还不如看点实际的技术。那么在我的世界里,如果一本书没有读过,如果妄加评论的话,没有任何的意义。所以我真的仔仔细细读了下来,书上也写了很多的笔记,但是我不会把它们都写下来,因为太多了。
不过,确实要把这么厚的书读薄,是真的不容易。我想了很多种方式去记录我的读书笔记,但是最后都觉得不好,我觉得我的笔记应该有下面的几个作用。
1、作为一个线索,以后我自己能快速的回顾和查询。
2、已经知道的,不提及;不知道的,重点记录。
3、让即使没有看过的人也能知道里面到底有什么值得他们去看的。
所以最后我决定用一种提问的方式,或者是一种陈述的方式,来记录我的读书笔记,如果你能回答出下面的提问,或者能理解陈述的内容,那么证明书中的内容其实你已经了解。如果回答不出,或者答案不清晰不确定,那么你可以网上去查询这个问题的答案,或者翻阅书籍。
下面就是我记录的所有笔记。
笔记部分
1、什么是OOP?
2、public、private、protected的权限
3、什么是组合?什么是继承?
4、Java内存的分配方式
5、对象和对象的引用
6、java虚拟机垃圾回收的基本策略;停止-复制;标记-清扫;
7、控制对成员的访问权限是为了:让用户不要触碰他们不该触碰的部分,为了让类库的设计者可以更改类的内部工作方式
8、组合和继承如何选择?
9、final、static、和其对应方法和块加载和初始化的顺序
10、多态的作用是消除类型之间的耦合关系,多态是一项让程序员:“将改变的事物与未边的事物分离开来”的技术。
11、用继承表达行为间的差异,并用字段表达状态上的变化
12、接口和抽象类的对比
13、匿名内部类
14、泛型的作用是可以在编译期防止将错误类型的对象放置到容器中
15、容器之间的对比,如ArrayList和LInkedList等,再比如set、hashset、treeset等
16、优先队列PriorityQueue
17、异常处理的一个重要原则是“只有在你知道如何处理的情况下才捕获异常”
18、“报告”功能是异常的精髓所在
19、String的不可变性
20、StringBuffer和StringBuilder
21、所有的类都是在对于其第一次使用时,动态加载到JVM中的
22、加载-》链接-》初始化
23、instanceof是什么方法?
24、什么是动态代理?
25、利用泛型方法封装工具类
26、在泛型代码内部,无法获得任何有关泛型参数类型的信息。
27、数组区别于其他容器的三个方面:效率,类型,保存基本类型的能力
28、HashMap的内部是如何实现的?
29、使用I\O操作文件时要注意什么?
30、什么是对象序列化
31、enum和switch是一对冤家
32、注解为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后的某个时刻方便的使用这些数据。
33、注解能帮助我们避免编写累赘的部署描述文件。
34、进程和线程,进程是运行在它自己地址空间内的自包容的程序,一个线程是在进程中的一个单一的顺序控制流。
35、实现线程的两种方式
36、线程池的作用
37、加锁防止两个任务访问相同的资源,隐式,显式
38、volatile关键字是做什么用的
39、wait与notify和notifyAll
40、死锁的四个条件:至少有一个不能共享的资源、至少有一个任务它必须持有一个资源且正在等待获取一个当前被别的任务持有的资源、资源不能被任务抢占,必须有循环等待
41、防止死锁只要破坏四个条件中的任意一个
42、有很多免锁容器如ConcurrentHashMap等
43、确定多个线程不会同时读取和改变一个资源,这就是线程产生的最大难题
个人总结
作为现代快节奏的生活之下,能静下心来看书,着实不容易,所以我都觉得我看到的不够仔细,很多时候也漏下了很多重点。不过我相信你能找到它们的。
对于这本书来说,读完之后我发现有几个你需要注意的地方
1、这本书之所以大家都认为它好,是因为它涵盖了JAVA语言几乎所有的基础,它就如同一个博物馆,所有的藏品都已摆放整齐。
2、这本书的代码比文字更厉害,我可以准确的说,我在书上的笔记几乎很多都是在给代码写注释,同样是一页,代码比文字至少要花费两倍的时间去看,如果你直接跳过,那么你将错过很多精彩的部分。
3、设计模式在这本书里面灵活的穿插着,我真的庆幸我在看这本书之前看了设计模式,不然看书的过程中很多时候会不理解它说的设计模式是什么意思,从而看了之后,我也更加理解了一些设计模式的使用。
4、现在网络发达,很多问题网上都有现成的答案,所以很少会再翻开书去查找,而且这本书太重了,不适合携带,所以请你看书的时候保持一颗心,一遍理解,不懂就记。
5、尽信书不如无书,现在发展这么快,JAVA本身也不断的发展,1.9都要有了,所以很多书上的东西或许过时,很多已经在历史的长河中隐去了,所以看书的时候多看看外面的世界。
《Java编程思想》读书笔记的更多相关文章
- csapp读书笔记-并发编程
这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...
- CSAPP 读书笔记 - 2.31练习题
根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1) 属于第一种情况 sum = x ...
- CSAPP读书笔记--第八章 异常控制流
第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...
- CSAPP 并发编程读书笔记
CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
随机推荐
- jsp页面遍历List<Array>
不难的遍历,难住了“前辈”,因此决定分享一下希望帮助那些还迷糊的人. 数据结构下如图所示,之前的前辈遍历方法如下,厉害哦!当然,代码直接抛异常哈, <c:if test="${!emp ...
- Tomcat对Struts中的Action进行授权利
.应用的意义 在某些应用下,如果Action类执行的功能比较重要,可以对该Action类进行授权利以实现只有特定角色的用户能够访问,此时可以在struts-config.xml文件中进行配置 2. ...
- 关于 tomcat 配置时遇到的问题与警告及解决办法
首先,我们在日常配置 tomcat 时,总是会遇到这样的问题: 有时候我们会重新头来配置 tomcat,但是现在我们并不需要那么做,方法很简单,请继续往下看: 这个问题是告诉我们 tomcat 在 4 ...
- matlab文件读写处理实例(一)——不规则文件读取
数据: A) Title: Income Data B) Relevant Information: Marketing Database. Source: Impact Resources, Inc ...
- 6.Ray-消息订阅器编写
消息订阅器: Ray是基于Event Sourcing设计的ES/Actor框架,消息发布后需要订阅处理,订阅器主要有以下两类: CoreHandler消息订阅器=RabbitSub+SubHandl ...
- JAVA多线程之先行发生原则
一.引子 如果java内存模型中所有的有序性都仅仅依靠volatile和synchronized来完成,那么有一些操作会变得很繁琐,但我们在编写java并发代码时并未感觉到这一点,这是因为java语言 ...
- Designing Data-Intensive Applications
下面是这本书序言中的大部分内容,本人的英文水平有限,有理解不到位的地方还请大家指教,这算是自己对这本书的读书笔记和总结. 数据是当今系统设计中许多挑战的中心,一些难以解决的问题如系统的可扩展性,一致性 ...
- spring boot + vue + element-ui全栈开发入门——windows开发环境
一.node.js开发环境 windows系统,去网站https://nodejs.org/en/download/,下载对应的安装程序,并安装Windows Installer (.msi) 接下 ...
- web.xml 文件中一般包括 servlet, spring, filter, listenr的配置的加载顺序
首先可以肯定 加载顺序与他们在web.xml 文件中的先后顺序无关. web.xml 中 listener 和 serverlet 的加载顺序为 先 listener 后serverlet最终得出结果 ...
- xBIM 应用与学习 (二)
目录 xBIM 应用与学习 (一) xBIM 应用与学习 (二) xBIM 基本的模型操作 xBIM 日志操作 XBIM 3D 墙壁案例 xBIM 格式之间转换 xBIM 使用Linq 来优化查询 x ...