File tree Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change 45
45
- [ Java异常类层次结构图] ( #java异常类层次结构图 )
46
46
- [ Trowable类常用方法] ( #trowable类常用方法 )
47
47
- [ 异常处理总结] ( #异常处理总结 )
48
- - [ 33 Java序列话中如果有些字段不想进行序列化 怎么办] ( #33-java序列话中如果有些字段不想进行序列化 -怎么办 )
48
+ - [ 33 Java序列化中如果有些字段不想进行序列化 怎么办] ( #33-java序列化中如果有些字段不想进行序列化 -怎么办 )
49
49
50
50
51
51
<!-- /MarkdownTOC -->
@@ -198,7 +198,7 @@ String 中的对象是不可变的,也就可以理解为常量,线程安全
198
198
199
199
** 性能**
200
200
201
- 每次对 String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对象。StringBuffer 每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象并改变对象引用。相同情况下使用 StirngBuilder 相比使用 StringBuffer 仅能获得 10 % ~ 15 % 左右的性能提升,但却要冒多线程不安全的风险。
201
+ 每次对 String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对象。StringBuffer 每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象并改变对象引用。相同情况下使用 StringBuilder 相比使用 StringBuffer 仅能获得 10 % ~ 15 % 左右的性能提升,但却要冒多线程不安全的风险。
202
202
203
203
** 对于三者使用的总结:**
204
204
1. 操作少量的数据 = String
@@ -321,7 +321,7 @@ hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返
321
321
322
322
**我们以“HashSet 如何检查重复”为例子来说明为什么要有 hashCode:**
323
323
324
- 当你把对象加入 HashSet 时,HashSet 会先计算对象的 hashcode 值来判断对象加入的位置,同时也会与其他已经加入的对象的 hashcode 值作比较,如果没有相符的hashcode,HashSet会假设对象没有重复出现。但是如果发现有相同 hashcode 值的对象,这时会调用 equals()方法来检查 hashcode 相等的对象是否真的相同。如果两者相同,HashSet 就不会让其加入操作成功。如果不同的话,就会重新散列到其他位置。(摘自我的Java启蒙书《Head fist java》第二版)。这样我们就大大减少了 equals 的次数,相应就大大提高了执行速度。
324
+ 当你把对象加入 HashSet 时,HashSet 会先计算对象的 hashcode 值来判断对象加入的位置,同时也会与其他已经加入的对象的 hashcode 值作比较,如果没有相符的hashcode,HashSet会假设对象没有重复出现。但是如果发现有相同 hashcode 值的对象,这时会调用 equals()方法来检查 hashcode 相等的对象是否真的相同。如果两者相同,HashSet 就不会让其加入操作成功。如果不同的话,就会重新散列到其他位置。(摘自我的Java启蒙书《Head first java》第二版)。这样我们就大大减少了 equals 的次数,相应就大大提高了执行速度。
325
325
326
326
327
327
@@ -420,7 +420,7 @@ final关键字主要用在三个地方:变量、方法、类。
420
420
3. 程序所在的线程死亡。
421
421
4. 关闭CPU。
422
422
423
- ## 33 Java序列话中如果有些字段不想进行序列化 怎么办
423
+ ## 33 Java序列化中如果有些字段不想进行序列化 怎么办
424
424
425
425
对于不想进行序列化的变量,使用transient 关键字修饰。
426
426
You can’t perform that action at this time.
0 commit comments