Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Coudy Hou
JavaGuide
提交
1afa07a0
J
JavaGuide
项目概览
Coudy Hou
/
JavaGuide
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
JavaGuide
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
1afa07a0
编写于
1月 05, 2019
作者:
靳
靳阳
提交者:
GitHub
1月 05, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改错别字(拼写错误)
1. StringBuilder 2. first 3. 序列化
上级
b8ce442a
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
4 addition
and
4 deletion
+4
-4
Java相关/Java基础知识.md
Java相关/Java基础知识.md
+4
-4
未找到文件。
Java相关/Java基础知识.md
浏览文件 @
1afa07a0
...
...
@@ -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 对象本身进行操作,而不是生成新的对象并改变对象引用。相同情况下使用 St
ir
ngBuilder 相比使用 StringBuffer 仅能获得 10%~15% 左右的性能提升,但却要冒多线程不安全的风险。
每次对 String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对象。StringBuffer 每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象并改变对象引用。相同情况下使用 St
ri
ngBuilder 相比使用 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 fi
r
st java》第二版)。这样我们就大大减少了 equals 的次数,相应就大大提高了执行速度。
...
...
@@ -420,7 +420,7 @@ final关键字主要用在三个地方:变量、方法、类。
3.
程序所在的线程死亡。
4.
关闭CPU。
## 33 Java序列
话
中如果有些字段不想进行序列化 怎么办
## 33 Java序列
化
中如果有些字段不想进行序列化 怎么办
对于不想进行序列化的变量,使用transient关键字修饰。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录