effective java 读后感
think in java , effective java 这两本书一直都在java的生态圈中经久不衰。本来想着先翻过 think in java 这本大山,但是读到一半就放弃了。过长的篇幅,让人难以忍受,再大的兴趣,也被过多繁琐的文字所磨灭了,但是不可否认里面涵盖了许许多多经典的java知识,可能要等我再成熟一点,多一点耐心,再回来翻这本书吧。
在两三年前我买了 这本 effective java 来自google首席架构师 joshua bloch 的经典之作,当时我接触java时间不是很长,自以为会写几个 hello world,就想向着原始森林进行探险,结果可想而知,有去无回。
拿到书的那一天,我兴奋地回到宿舍,翻开书读了读引言,大多跟平常的书没啥区别,吹一吹作者的平生,找几个业界的大牛再吹一下这本著作,最后做一下总结,谁谁谁可以读这本书,差不多就是这样了。读完引言,我发觉这本书可以说我已经读完了。别误会,这不是我在吹牛,而是我再也看不懂其余的部分了,说实话,还是有点失落的,我TM连第一章都似懂非懂的,我还能看什么。第一段与这本书的缘分基本就这样告一段落。
接下来的两年时间里,参与了一些实际的项目,学习了诸如设计模式,jvm,阅读了部分jdk的源码实现,更深层次理解了集合,框架原理。我再回过头来去看这本我两年前望尘莫及的经典之作。俗话说的好,哪里跌倒,哪里爬起来是不是。全书78条原则,大致包含了并发,设计模式,多态,类库,异常,序列化等相关知识,从安全,高效,性能,扩展,可读性,这几个方面讲述了
How to use Java efficiently ?
这本书有许许多多,你实际生产碰到过,或者即将碰到,又或者未来会碰到的一些设计思路,能帮你塑造编程思想。看不懂这本书之前,这本书是你努力的目标,看懂看完这本书之后,这本书塑造了你编程思想。看完之后,可能这本书的价值真正体现出来,你不可能在实际开发中碰到过所有的问题,这本书可以成为你未来开发中的指南针。帮你从繁杂的编码设计中,选出最优的方案。
我在这几天已经把书翻了一遍了,但是还有许多不理解的地方,有些可能是积累不够,有些由于翻译的原因,已经难以阅读。英语不错的同学,可以读原著,相对吃力一点,收获自然也是成正比的。让我印象最深的是泛型那部分的知识,由于篇幅原因,我就提一点。
Map<String,Map<String,Object>> map = new HashMap<String,Map<String,Object>>();
感觉挺常见的代码,但是看上去不咋地,后面的一段泛型声明感觉有点冗余亢长,熟悉guava的同学们可能知道我要说什么。
public class TypeInference {
public static <K,V> HashMap<K,V> newInstance(){
return new HashMap<K,V>();
}
public static void main(String[] args) {
Map<String,Map<String,Object>> map = TypeInference.newInstance();
}
}
你可能可以利用 类型推导 让它看着顺眼一点,但是很可惜,jdk集合工具类上并没有上述的静态方法,只能由自己去写一个了。
该书中还有许多看似不起眼,但是写起来很顺眼的东西。除此之外还有一些比较深层次的探索,对javaer帮助还是挺大的,欢迎看过该书的同学一起学习交流。
effective java 读后感的更多相关文章
- Effective Java 3 读后感
Effective Java 3 读后感 最近学习了一下Effectvie Java,这是一本非常适合有一定经验的Java后端人员阅读的书.书中总结许多编码经验对开发很有帮助,比如其中总结的对于流和L ...
- Effective java笔记(二),所有对象的通用方法
Object类的所有非final方法(equals.hashCode.toString.clone.finalize)都要遵守通用约定(general contract),否则其它依赖于这些约定的类( ...
- 《Effective java》-----读书笔记
2015年进步很小,看的书也不是很多,感觉自己都要废了,2016是沉淀的一年,在这一年中要不断学习.看书,努力提升自己!预计在2016年要看12本书,主要涉及java基础.Spring研究.java并 ...
- 《Effective Java》学习笔记——积累和激励
从一个实际案例说起 国庆长假前一个礼拜,老大给我分配了这么一个bug,就是打印出来的报表数量为整数的,有的带小数位,有的不带,毫无规律. 根据短短的两个多月的工作经验以及猜测,最终把范围缩小到以下这段 ...
- Effective Java笔记一 创建和销毁对象
Effective Java笔记一 创建和销毁对象 第1条 考虑用静态工厂方法代替构造器 第2条 遇到多个构造器参数时要考虑用构建器 第3条 用私有构造器或者枚举类型强化Singleton属性 第4条 ...
- Effective java读书笔记
2015年进步很小,看的书也不是很多,感觉自己都要废了,2016是沉淀的一年,在这一年中要不断学习.看书,努力提升自己 计在16年要看12本书,主要涉及java基础.Spring研究.java并发.J ...
- effective java —— 终结方法守卫者
目录: effective java —— 终结方法守卫者 effective java 第2章:创建和销毁对象.第7条 : 避免使用终结方法.最后的“终结方法守卫者 (finalizer guard ...
- Effective Java 创建和销毁对象
<Effective Java>阅读笔记,用适合自己理解的方式提炼该书内容.<Effective Java>是一本很实用的书,阅读方法应该是快速的领会,总结,然后应用.而非,一 ...
- Effective Java
Effective Java 创建和销毁对象---考虑用静态工厂方法代替构造器 构造器是创建一个对象实例最基本也最通用的方法,大部分开发者在使用某个class的时候,首先需要考虑的就是如何构造和初始化 ...
随机推荐
- Third Day:正式编程第三天,学习实践内容TextView跑马灯、AutoCompleteTextView、multiAutoCompleteTextView以及ToggleButton、checkedBox、RadioButton等相关实践
2.针对Focused的TextView跑马灯(文字较多一行无法显示)效果 针对单个TextView的跑马灯效果,可直接在TextView控件参数中添加三个属性: android:singleLine ...
- .NET单元测试的艺术-2.核心技术
开篇:上一篇我们学习基本的单元测试基础知识和入门实例.但是,如果我们要测试的方法依赖于一个外部资源,如文件系统.数据库.Web服务或者其他难以控制的东西,那又该如何编写测试呢?为了解决这些问题,我们需 ...
- Linux下的.NET之旅:第一站,CentOS+Mono+Xsp构建最简单的ASP.NET服务器
一.Mono产生的背景 由于Linux/Unix等有更强的安全性.运行效率高.拥有大量优秀的开源组件,而.Net则有着其他语言无与伦比的开发效率,因此在非微软平台下运行.Net程序的需求很强烈.Mon ...
- 简单一招实现json数据可视化
开发一个内部功能时碰到的需求,要把json数据在页面上展示出来,平时浏览器会安装jsonView这样的扩展来看json数据,但是程序要用到的话该怎么办呢?今天在网上搜索的时候,发现了这个小技巧,分享一 ...
- 利用gulp搭建本地服务器,并能模拟ajax
工作中可能会用到的小工具,在此记录一下.可以实现的功能有: 本地http服务器 页面实时刷新 可以模拟ajax请求 第一步,新建package.json文件.用到了gulp.gulp-webserve ...
- nginx小记
上一次折腾nginx还是两年前的事情了.好多配置都忘记了. 捣腾了下阿里云,部署了一下,遇到几个小问题,温故并记录一下吧 :) 重新设置 nginx遇到问题:nginx: [error] invali ...
- php性能优化
序 很长时间没有写博文了,最近换了工作,长时间加班,根本没有时间做其他事情!今天闲下来了,想一想php性能方面的事情.这也是我2014年的第一篇博文! 推荐阅读:初学者到中级者应该掌握的! p ...
- 翻译-使用Ratpack和Spring Boot打造高性能的JVM微服务应用
这是我为InfoQ翻译的文章,原文地址:Build High Performance JVM Microservices with Ratpack & Spring Boot,InfoQ上的中 ...
- Step by Step 创建一个WCF Service
原创地址:http://www.cnblogs.com/jfzhu/p/4025448.html 转载请注明出处 (一)创建WCF Service (1)创建WCF Service类库 创建一个Cla ...
- WCF:传输EntityFramework 实体类的POCO 代理
WCF传输EntityFramework 实体类的POCO 代理 Windows Communication Foundation (WCF) 不能对代理进行直接序列化或反序列化,因为 DataCon ...