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 4545 - [ Java异常类层次结构图] ( #java异常类层次结构图 )
4646 - [ Trowable类常用方法] ( #trowable类常用方法 )
4747 - [ 异常处理总结] ( #异常处理总结 )
48- - [ 33 Java序列话中如果有些字段不想进行序列化 怎么办] ( #33-java序列话中如果有些字段不想进行序列化 -怎么办 )
48+ - [ 33 Java序列化中如果有些字段不想进行序列化 怎么办] ( #33-java序列化中如果有些字段不想进行序列化 -怎么办 )
4949
5050
5151<!-- /MarkdownTOC -->
@@ -198,7 +198,7 @@ String 中的对象是不可变的,也就可以理解为常量,线程安全
198198
199199** 性能**
200200
201- 每次对 String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对象。StringBuffer 每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象并改变对象引用。相同情况下使用 StirngBuilder 相比使用 StringBuffer 仅能获得 10 % ~ 15 % 左右的性能提升,但却要冒多线程不安全的风险。
201+ 每次对 String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对象。StringBuffer 每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象并改变对象引用。相同情况下使用 StringBuilder 相比使用 StringBuffer 仅能获得 10 % ~ 15 % 左右的性能提升,但却要冒多线程不安全的风险。
202202
203203** 对于三者使用的总结:**
2042041. 操作少量的数据 = String
@@ -321,7 +321,7 @@ hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返
321321
322322**我们以“HashSet 如何检查重复”为例子来说明为什么要有 hashCode:**
323323
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 的次数,相应就大大提高了执行速度。
325325
326326
327327
@@ -420,7 +420,7 @@ final关键字主要用在三个地方:变量、方法、类。
4204203. 程序所在的线程死亡。
4214214. 关闭CPU。
422422
423- ## 33 Java序列话中如果有些字段不想进行序列化 怎么办
423+ ## 33 Java序列化中如果有些字段不想进行序列化 怎么办
424424
425425对于不想进行序列化的变量,使用transient 关键字修饰。
426426
You can’t perform that action at this time.
0 commit comments