- 浏览: 58830 次
- 性别:
- 来自: 杭州
最新评论
-
di1984HIT:
写的很好,学习了。
equals和hashCode解析
文章列表
JSON(javascript Object Notation) 是一个轻量级的数据交换格式,对于人们来说比较容易读写,对于机器来说比较容易解析和生成,它是基于javascript编程语言的一个子集,标准的ECMA-262 第三版 十二月 1999. Json 是一个完全独立的文本格式语言,但是它使用了熟悉C家族语言程序员的使用习惯,包含C,C++,C#,java,JavaScript,perl,python和其他的语言,这些属性使得JSON成为一个理想化的数据转换语言。
JSON建立在两个架构上
1. 名/值对的集合,在各种语言中,作为一个记录,结构,字典,哈 ...
Annotation在spring中的使用:
1. 首先需要修改 xml 文件,参考文档 <context:annotation-config />
2. @Autowired (spring标准)
a) 默认按类型 by type。
b) 如果想用 by name,使用 @Qulifier。
c) 写在 private field (第三种注释形式)(不建议,破坏封装性)
d) 如果写在 set 方法上,@Qualifier 需要写在参数上。
3. @Resource (重要,java标准)
a) 加入 ...
Java提供了两个用于高精度计算的类BigInteger和BigDecimal。虽然它们大体上属于“包装器类”的范畴,但是二者都没有对应的基本类型。
不过,这两个类包含的方法,与基本类型所能执行的操作相似。也就是说,能作用于int或float的操作,也同样能作用于BigInteger或BigDecimal。只不过必须以方法调用方式取代运算符方式来实现。由于这么做复杂了许多,所以运算速度会比较慢。在这里,我们以速度换取了精度。
BigInteger支持任意精度的整数(Integer)。也就是说,在运算中,你可以准确表示任何大小的整数值,而不会丢失任何信息。
...
equals和hashCode解析
- 博客分类:
- IT
覆盖equals时需要遵守的通用约定:
覆盖equals方法看起来似乎很简单,但是如果覆盖不当会导致错误,并且后果相当严重。《Effective Java》一书中提到“最容易避免这类问题的办法就是不覆盖equals方法”,这句话貌似很搞笑,其实想想也不无道理,其实在这种情况下,类的每个实例都只与它自身相等。如果满足了以下任何一个条件,这就正是所期望的结果:
类的每个实例本质上都是唯一的。对于代表活动实体而不是值的类来说却是如此,例如Thread。Object提供的equals实现对于这些类来说正是正确的行为。
不关心类是否提供了“逻辑相等”的测试功能。假如Random覆盖了equals,以 ...
反射、Proxy和元数据是Java最强的三个特征,再加上CGLib (Code Generation Library)和ASM,使得Java虽然没有Ruby,Python般后生可畏,一样能做出强悍的框架。
Proxy可以看作是微型的AOP,明白提供了在继承和委托之外的第三个代码封装途径,Spring的源码里用Proxy就用得很随意。但是Proxy必须基于接口。因此Spring的做法,基于接口的用proxy,否则就用cglib。AOP么,一般非compoent级的就不必用AspectJ。
它的原理就是用Enhancer生成一个原有类的子类,并且设置好callback到prox ...