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 读后感的更多相关文章

  1. Effective Java 3 读后感

    Effective Java 3 读后感 最近学习了一下Effectvie Java,这是一本非常适合有一定经验的Java后端人员阅读的书.书中总结许多编码经验对开发很有帮助,比如其中总结的对于流和L ...

  2. Effective java笔记(二),所有对象的通用方法

    Object类的所有非final方法(equals.hashCode.toString.clone.finalize)都要遵守通用约定(general contract),否则其它依赖于这些约定的类( ...

  3. 《Effective java》-----读书笔记

    2015年进步很小,看的书也不是很多,感觉自己都要废了,2016是沉淀的一年,在这一年中要不断学习.看书,努力提升自己!预计在2016年要看12本书,主要涉及java基础.Spring研究.java并 ...

  4. 《Effective Java》学习笔记——积累和激励

    从一个实际案例说起 国庆长假前一个礼拜,老大给我分配了这么一个bug,就是打印出来的报表数量为整数的,有的带小数位,有的不带,毫无规律. 根据短短的两个多月的工作经验以及猜测,最终把范围缩小到以下这段 ...

  5. Effective Java笔记一 创建和销毁对象

    Effective Java笔记一 创建和销毁对象 第1条 考虑用静态工厂方法代替构造器 第2条 遇到多个构造器参数时要考虑用构建器 第3条 用私有构造器或者枚举类型强化Singleton属性 第4条 ...

  6. Effective java读书笔记

    2015年进步很小,看的书也不是很多,感觉自己都要废了,2016是沉淀的一年,在这一年中要不断学习.看书,努力提升自己 计在16年要看12本书,主要涉及java基础.Spring研究.java并发.J ...

  7. effective java —— 终结方法守卫者

    目录: effective java —— 终结方法守卫者 effective java 第2章:创建和销毁对象.第7条 : 避免使用终结方法.最后的“终结方法守卫者 (finalizer guard ...

  8. Effective Java 创建和销毁对象

    <Effective Java>阅读笔记,用适合自己理解的方式提炼该书内容.<Effective Java>是一本很实用的书,阅读方法应该是快速的领会,总结,然后应用.而非,一 ...

  9. Effective Java

    Effective Java 创建和销毁对象---考虑用静态工厂方法代替构造器 构造器是创建一个对象实例最基本也最通用的方法,大部分开发者在使用某个class的时候,首先需要考虑的就是如何构造和初始化 ...

随机推荐

  1. Default Parameter Values in Python

    Python’s handling of default parameter values is one of a few things that tends to trip up most new ...

  2. Second Day: 关于Button监听事件的三种方法(匿名类、外部类、继承接口)

    第一种:通过匿名类实现对Button事件的监听 首先在XML文件中拖入一个Button按钮,并设好ID,其次在主文件.java中进行控件初始化(Private声明),随后通过SetOnClickLis ...

  3. Linux+Mono+WebService:CS1703: An assembly with the same identity--mscorlib

    最近把一些东西开始往Linux迁移了,因为老系统大部分都是.NET,所以直接使用Mono,代码一般都使用MonoDevelop把代码重新编译,把一些WMI和windows DLL调用改Linux的os ...

  4. 嵌入式的重要平台 .NET Micro Framework

    曾经辉煌的巨人PC界渐渐走向下坡路,而智能手机圈则没完没了般地争个你死我活.随着智能手机的广泛普及,不少商家为了不坐以待毙而纷纷开始涉足与穿戴式设备--智能手表(具体参见智能手表时代还有多远). 我们 ...

  5. HTML和CSS经典布局2

    如下图: 需求: 1. 如图 2. 可以从body标签开始. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xht ...

  6. 使用Guava EventBus构建publish/subscribe系统

    Google的Guava类库提供了EventBus,用于提供一套组件内publish/subscribe的解决方案.事件总线EventBus,用于管理事件的注册和分发.在系统中,Subscribers ...

  7. 剑指Offer面试题:15.反转链表

    一.题目:反转链表 题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点. 链表结点定义如下,这里使用的是C#描述: public class Node { public in ...

  8. 再看Ajax

    再回顾Ajax相关的内容,再次梳理学习还是很有必要的,尤其是实际的开发中,ajax更是必不可少,仔细学习以便避免不必要的错误. 文章导读: --1.使用XMLHttpRequest---------- ...

  9. 关于新加坡IT薪酬

    很多朋友发邮件或留言问我关于新加坡IT薪酬的问题,由于前段时间比较忙,所以没有及时一一回复,在此表示抱歉. 新加坡IT薪酬范围大概如下(月薪,新加坡币对人民币为1:5): Junior Develop ...

  10. 触摸java常量池

    java常量池是一个经久不衰的话题,也是面试官的最爱,题目花样百出,小菜早就对常量池有所耳闻,这次好好总结一下. 理论 小菜先拙劣的表达一下jvm虚拟内存分布:      程序计数器是jvm执行程序的 ...