Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wushizhenking
CS-Notes
提交
6998eb74
C
CS-Notes
项目概览
wushizhenking
/
CS-Notes
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
CS-Notes
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
6998eb74
编写于
7月 11, 2018
作者:
C
cxq1992
提交者:
GitHub
7月 11, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1 from CyC2018/master
updating
上级
54f6f6e3
7787d90c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
39 addition
and
9 deletion
+39
-9
BOOKLIST.md
BOOKLIST.md
+1
-1
README.md
README.md
+15
-7
notes/设计模式.md
notes/设计模式.md
+23
-1
未找到文件。
BOOKLIST.md
浏览文件 @
6998eb74
...
...
@@ -64,7 +64,7 @@
# 开发工具
-
[
Pro Git
](
https://
book.douban.com/subject/3420144/
)
-
[
Pro Git
](
https://
git-scm.com/book/zh/v2
)
-
[
正则表达式必知必会
](
https://book.douban.com/subject/2269648/
)
# 编码实践
...
...
README.md
浏览文件 @
6998eb74
...
...
@@ -133,31 +133,39 @@ Google 开源项目的代码风格规范。
**关于仓库**
[
BOOKLIST
](
https://github.com/CyC2018/Interview-Notebook/blob/master/BOOKLIST.md
)
,这个书单是笔者至今看的一些比较好的技术书籍,虽然没有全都翻完,但是每本书多多少少都看过一部分
。
这个仓库是笔者的一个学习笔记,主要总结一些比较重要的知识点,希望对大家有所帮助
。
这个仓库是笔者的一个学习笔记,主要记录一些比较重要的知识点,希望对大家有所帮助
。
笔记不是从网上到处复制粘贴拼凑而来,虽然有少部分内容会直接引入书上原文或者官方技术文档的原文,但是没有直接摘抄其他人的博客文章,只做了参考,参考的文章会在最后给出链接
。
笔记并不是从网上到处复制粘贴拼凑而来,虽然少部分内容会直接引入书上原文或者官方技术文档的原文,但是没有直接摘抄其他人的博客文章,只做了一点参考,参考的文章会在最后给出链接
。
[
BOOKLIST
](
https://github.com/CyC2018/Interview-Notebook/blob/master/BOOKLIST.md
)
,这个书单是笔者至今看的一些比较好的技术书籍,虽然没有全都看完,但每本书多多少少都看了一部分
。
**如何贡献**
笔记内容是笔者一个字一个字打上去的,难免会有一些笔误,如果发现笔误可直接在相应文档进行编辑修改。
欢迎提交对本仓库的改进建议~
**授权相关**
虽然没有加开源协议,但是默认允许非商业使用。转载使用请注明出处,谢谢。
虽然没有加开源协议,但是默认允许非商业使用。
转载使用请注明出处,谢谢!
**上传方案**
笔者在本地使用为知笔记软件进行书写,为了方便将本地笔记内容上传到 Github 上,实现了一整套自动化上传方案,包括文本文件的导出、提取图片、Markdown 文档转换、Git 同步。
进行 Markdown 文档转换是因为 Github 使用的 GFM 不支持 MathJax 公式和 TOC 标记,所以需要替换 MathJax 公式为 CodeCogs 的云服务和重新生成 TOC 目录。这里提供了笔者实现的 GFM 文档转换工具的下载:
[
GFM-Converter
](
https://github.com/CyC2018/GFM-Converter
)
。
进行 Markdown 文档转换是因为 Github 使用的 GFM 不支持 MathJax 公式和 TOC 标记,所以需要替换 MathJax 公式为 CodeCogs 的云服务和重新生成 TOC 目录。
这里提供了笔者实现的 GFM 文档转换工具的下载:
[
GFM-Converter
](
https://github.com/CyC2018/GFM-Converter
)
。
**排版指南**
笔记内容按照
[
中文文案排版指北
](
http://mazhuang.org/wiki/chinese-copywriting-guidelines/
)
进行排版,以保证内容的可读性。这里提供了笔者实现的中英混排文档在线排版工具:
[
Text-Typesetting
](
https://github.com/CyC2018/Markdown-Typesetting
)
,目前实现了加空格的功能,之后打算实现对英文专有名词提示首字母大写的功能。
笔记内容按照
[
中文文案排版指北
](
http://mazhuang.org/wiki/chinese-copywriting-guidelines/
)
进行排版,以保证内容的可读性。
笔记不使用
`![]()`
这种方式来引用图片,而是用
`<img>`
标签。一方面是为了能够控制图片以合适的大小显示,另一方面是因为 GFM 不支持
`<center> ![]() </center>`
让图片居中显示,只能使用
`<div align="center"> <img src=""/> </div>`
达到居中的效果。
不使用
`![]()`
这种方式来引用图片是为了能够控制图片以合适的大小显示。而且 GFM 不支持
`<center> ![]() </center>`
让图片居中显示,只能使用
`<div align="center"> <img src=""/> </div>`
,所以只能使用 img 标签来引用图片
。
这里提供了笔者实现的中英混排文档在线排版工具:
[
Text-Typesetting
](
https://github.com/CyC2018/Markdown-Typesetting
)
。
**声明**
...
...
notes/设计模式.md
浏览文件 @
6998eb74
...
...
@@ -151,7 +151,29 @@ uniqueInstance 采用 volatile 关键字修饰也是很有必要的。`uniqueIns
使用 volatile 可以禁止 JVM 的指令重排,保证在多线程环境下也能正常运行。
(五)枚举实现
(五)静态内部类实现
这种实现方式的原理:当静态类加载时,静态内部类没有加载进内存。只有当外部调用
`getInstance()`
方法,静态内部类才会被加载并实例化一个单例的对象,之后每次
调用
`getInstance()`
都会获取相同的对象。此方法不需要同步。
```
java
public
class
Singleton
{
private
Singleton
()
{
}
private
static
class
SingletonHelper
{
private
static
final
Singleton
INSTANCE
=
new
Singleton
();
}
public
static
Singleton
getUniqueInstance
()
{
return
SingletonHelper
.
INSTANCE
;
}
}
```
(六)枚举实现
这是单例模式的最佳实践,它实现简单,并且在面对复杂的序列化或者反射攻击的时候,能够防止实例化多次。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录