未绪

个人博客 http://weixublog.xyz ,欢迎访问~

排序:
默认
按更新时间
按访问量

Effective Java —— 始终要覆盖toString方法

提供好的toString实现可以使类用起来更加舒适 如下有一个用户信息类: package com.blog.effective.note10; /** * 〈用户信息〉 * * @author 未绪 * @time 2018/1/12 14:30 */ public clas...

2018-01-12 14:42:26

阅读数:90

评论数:0

探究常用类的hashCode生成规则

在Java的Object 类中提供了hashCode() 方法,这样会将拥有相同hashCode 的对象放在同一个桶中,这样的话就会很好的我们查询的速度。 更多参考:http://blog.csdn.net/zhangyuan19880606/article/details/51240372这里...

2018-01-02 19:50:40

阅读数:561

评论数:0

Effective Java -- 重写equals方法时总要重写hashCode方法

在Java的Object 的规范中,有一点说的是—— 相等的对象必须有相等的散列码(hashCode)通俗的说就是如果两个对象通过equals() 方法比较得到的结果是相等的,那么这两个对象的hashCode 就一定是相等的。如果我们重写了一个对象的equals() 方法的时候没有重写其相应的h...

2018-01-02 16:49:26

阅读数:92

评论数:0

Effective Java -- 重写equals方法的通用约定(二)

这篇博客承接上一篇博客,我们来讲讲重写equals() 方法时候要满足的性质——传递性用通俗的话来解释传递性就是说:如果A等于B,然后B等于C,那么我们就可以说A等于C以下我们来举出一个反面例子来帮助理解一下传递性的体现首先我们有一个Point 类该类有横纵坐标的属性(x和y),并且重写了equa...

2018-01-02 09:47:11

阅读数:368

评论数:0

Effective Java -- 重写equals方法的通用约定(一)

equals() 方法是Object 类的一个非final 方法,在重写改类的时候我们应该遵循一下五种通用约定: 自反性:对于任何的非null 的引用值 x ,那么 x.equals(x) 的返回值一定为true。 对称性:对于任何的非空的引用值 x 和y ,则x.equals(y) 和 y.eq...

2017-12-17 09:51:49

阅读数:174

评论数:0

Effective Java -- 避免使用终结方法

本文是 《Effective Java Second Edition》第7条的读书笔记,文中如有错误或表述不当,非常欢迎能批评指正,本人不胜感激! 一下使用的JVM参数为-Xmx5m -Xmn5m。 首先我们要弄清楚什么是终结方法(finalizer)? 终结方法是我们Object 类中...

2017-11-24 11:13:54

阅读数:183

评论数:0

Java的弱引用—WeakHashMap

在《Effective Java》中的p23页有涉及到WeakHashMap的相关知识,在这篇文章中做一个总结以及介绍一下相关知识。在这里我们分成三个部分来说明一下,这只是我自己参看JDK源码和上网搜索资料得到的结果,如有错误,欢迎指出,我不胜荣幸。WeakHashMap和HashMap有什么不同...

2017-11-18 15:25:07

阅读数:193

评论数:0

Effective Java -- 消除过期的对象引用

本文是 《Effective Java Second Edition》第6条的读书笔记,文中如有错误或表述不当,非常欢迎能批评指正,本人不胜感激!我们来用一段通俗易懂的话来描述什么是过期的对象引用 在我们的程序中,有一些对象我们程序员已经非常明确的知道其不会再被使用,由于还存在被引用(我们知道如...

2017-11-12 09:54:46

阅读数:361

评论数:0

谈谈Java中的自动装箱和拆箱

自动装箱:基本类型转化为复杂数据类型。反之,自动拆箱就是编译器自动将我们的复杂数据类型转化为基本数据类型。这篇博客中我们使用基本数据类型int和复杂数据类型Integer。首先我们来看下面的例子: Integer a=10; //自动装箱 int b=a;...

2017-11-07 22:23:40

阅读数:211

评论数:0

Effective Java -- 避免创建不必要的对象

本文是 《Effective Java Second Edition》第5条的读书笔记,文中如有错误或表述不当,非常欢迎能批评指正,本人不胜感激!首先我们来看一下一个极端的方面例子String str=new String("string");这句话每次运行的时候都会创建一个S...

2017-11-02 09:51:37

阅读数:648

评论数:0

Effective Java -- 通过私有构造器强化不可实例化的能力

本文是 《Effective Java Second Edition》第4条的读书笔记,文中如有错误或表述不当,非常欢迎能批评指正,本人不胜感激!在绝大多数的项目中,我们都会用到一些工具类来供我们调用。如果获取六位数的验证码,或者进行对字符串的一些加密等等。对于上面的这些工具类(Utils)我们不...

2017-11-01 20:42:20

阅读数:519

评论数:0

Java中对象的序列化与反序列化

Java中对象的序列化与反序列化 序列化:将一个Java对象转化为字节序列的过程 反序列化:建字节序列恢复成一个Java对象的过程 序列化的好处有:我们可以将序列化后的对象进行持久化,也可以将序列化后的字节序列在网络上进行传输。 在进行序列化和反序列的过程中,我们需要直接操作对象的流,在Jav...

2017-11-01 13:27:29

阅读数:253

评论数:0

Effective Java -- 用私有构造器或者枚举类型强化Singleton属性

用私有构造器或者枚举类型强化Singleton属性 常见的实现`Singleton`的方法 第一种方法中,公有静态成员是该类的实例(并且是final的) 第二种方法中,公有的成员是静态工厂方法,该方法返回该类的静态的final的实例 实现`Singleton`的第三种方法 其表现形式更加的简洁,无...

2017-10-30 22:01:17

阅读数:276

评论数:0

Effective Java -- 遇到多个构造器参数时要考虑用构建器(Builder)

Effective Java -- 遇到多个构造器参数时要考虑用构建器(Builder) 什么是构建器(Builder)呢,参加过面试的同学可能会有被问到`String`和`StringBuffer`和`StringBuilder`的区别,这里就有`StringBuilder`这个字符串构建器。 ...

2017-10-30 13:06:59

阅读数:412

评论数:0

设计模式--适配器模式(Adapter Pattern)

设计模式--适配器模式(Adapter Pattern) 适配器模式(Adapter Pattern)的主要作用是用于新旧接口之间的适配,这个与我们生活中的电源插头适配器是非常类似的。比如你家里墙壁上只有一个三孔的插座,但是现在有一个两相的插头需要插进去,现在的你总不能拆了墙壁上三孔的插. 配器模...

2017-10-28 16:44:10

阅读数:306

评论数:0

Effective Java -- 用静态工厂方法来代替构造器

本文是 《Effective Java》的读书笔记,由于是Java进阶书,难免会有理解的偏差,发现有错误,非常欢迎能提出来,本人不胜感激!为什么要考虑使用静态工厂方法代替构造器呢?本书中说明了以下的优点:(1)静态工厂方法能提供一个可读性很高的名称来帮助你理解你要返回的对象是什么利用书上的例子,在...

2017-10-28 10:36:32

阅读数:547

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭