mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-16 18:10:13 +08:00
修改错别字(拼写错误)
1. StringBuilder 2. first 3. 序列化
This commit is contained in:
parent
b8ce442aa8
commit
1afa07a05f
@ -45,7 +45,7 @@
|
||||
- [Java异常类层次结构图](#java异常类层次结构图)
|
||||
- [Trowable类常用方法](#trowable类常用方法)
|
||||
- [异常处理总结](#异常处理总结)
|
||||
- [33 Java序列话中如果有些字段不想进行序列化 怎么办](#33-java序列话中如果有些字段不想进行序列化-怎么办)
|
||||
- [33 Java序列化中如果有些字段不想进行序列化 怎么办](#33-java序列化中如果有些字段不想进行序列化-怎么办)
|
||||
|
||||
|
||||
<!-- /MarkdownTOC -->
|
||||
@ -198,7 +198,7 @@ String 中的对象是不可变的,也就可以理解为常量,线程安全
|
||||
|
||||
**性能**
|
||||
|
||||
每次对 String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对象。StringBuffer 每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象并改变对象引用。相同情况下使用 StirngBuilder 相比使用 StringBuffer 仅能获得 10%~15% 左右的性能提升,但却要冒多线程不安全的风险。
|
||||
每次对 String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对象。StringBuffer 每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象并改变对象引用。相同情况下使用 StringBuilder 相比使用 StringBuffer 仅能获得 10%~15% 左右的性能提升,但却要冒多线程不安全的风险。
|
||||
|
||||
**对于三者使用的总结:**
|
||||
1. 操作少量的数据 = String
|
||||
@ -321,7 +321,7 @@ hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返
|
||||
|
||||
**我们以“HashSet 如何检查重复”为例子来说明为什么要有 hashCode:**
|
||||
|
||||
当你把对象加入 HashSet 时,HashSet 会先计算对象的 hashcode 值来判断对象加入的位置,同时也会与其他已经加入的对象的 hashcode 值作比较,如果没有相符的hashcode,HashSet会假设对象没有重复出现。但是如果发现有相同 hashcode 值的对象,这时会调用 equals()方法来检查 hashcode 相等的对象是否真的相同。如果两者相同,HashSet 就不会让其加入操作成功。如果不同的话,就会重新散列到其他位置。(摘自我的Java启蒙书《Head fist java》第二版)。这样我们就大大减少了 equals 的次数,相应就大大提高了执行速度。
|
||||
当你把对象加入 HashSet 时,HashSet 会先计算对象的 hashcode 值来判断对象加入的位置,同时也会与其他已经加入的对象的 hashcode 值作比较,如果没有相符的hashcode,HashSet会假设对象没有重复出现。但是如果发现有相同 hashcode 值的对象,这时会调用 equals()方法来检查 hashcode 相等的对象是否真的相同。如果两者相同,HashSet 就不会让其加入操作成功。如果不同的话,就会重新散列到其他位置。(摘自我的Java启蒙书《Head first java》第二版)。这样我们就大大减少了 equals 的次数,相应就大大提高了执行速度。
|
||||
|
||||
|
||||
|
||||
@ -420,7 +420,7 @@ final关键字主要用在三个地方:变量、方法、类。
|
||||
3. 程序所在的线程死亡。
|
||||
4. 关闭CPU。
|
||||
|
||||
## 33 Java序列话中如果有些字段不想进行序列化 怎么办
|
||||
## 33 Java序列化中如果有些字段不想进行序列化 怎么办
|
||||
|
||||
对于不想进行序列化的变量,使用transient关键字修饰。
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user