《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高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
随机推荐
- 转-CSS padding margin border属性详解
原文链接:http://www.cnblogs.com/linjiqin/p/3556497.html 图解CSS padding.margin.border属性W3C组织建议把所有网页上的对像都放在 ...
- DispatcherServlet介绍
<property name="features"> <list> <value>WriteMapNullValue</value> ...
- 08_jquery基础应用第一天
视频来源:麦子学院 讲师:李景山
- docker入门(二)容器与镜像的关系
[编者的话]本文用图文并茂的方式介绍了容器.镜像的区别和Docker每个命令后面的技术细节,能够很好的帮助读者深入理解Docker. 这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(co ...
- python学习day3------列表、元组、字符串操作
一.列表 变量名后加中括号[],接下来介绍对列表进行查操作 #!/usr/bin/env python #-*- Coding:utf-8 -*- # Author:Eric.Shen test = ...
- iOS项目——自定义UITabBar与布局
在上一篇文章iOS项目——基本框架搭建中,我们详细说明了如何对TabBarItem的图片属性以及文字属性进行一些自定义配置.但是,很多时候,我们需要修改TabBarItem的图片和文字属性之外,还需要 ...
- ajax实现异步校验
1.ajax介绍 见过百度的搜索框吗?当你输入一个关键词,下面立马会出现一些相关的热词,这就是用ajax做到的. 2.环境设想: 有一个注册页面.jsp <span id="mess& ...
- C# Ioc 接口注册实例以及注入MVC Controller
当弄一个小程序时,就忽略了使用Ioc这种手段,作为一个帅气程序员,代码规范,你懂的~,废话不多说,快速搭建一个Ioc接口实例以及直接注入到 MVC Controller 构造函数中如下: MVC in ...
- Storm 对 0.10.x 版 Kafka之commit offsets
由于 0.10.x 版 Kafka 与 0.8.x 版有很大的变化,这种变化对下游 Storm 有非常大的影响,0.10.x 版的 Kafka 不但增加了权限管理的功能,而且还将 simple 和 h ...
- 在CentOS7上实现NFS共享
一.介绍 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,功能是让客户端通过网络访问不同主机上磁盘里的数据,主要用在类Unix系统上实现文件共享 ...