https://github.com/CyC2018/CS-Notes PDF版本离线阅读
用于提供 https://github.com/CyC2018/CS-Notes 项目的离线阅读
pdf 使用 cmd-markdown 的付费工具手工进行 pdf 的转换。
原作者已经制作好 gitbook 地址:https://legacy.gitbook.com/book/cyc2018/interview-notebook/details
那么为什么还需要本仓库?
我个人认为cmd-markdown 工具所转化的 pdf相比 gitbook 直接生成的 pdf 拥有更好的阅读体验!
项目不更新了。原有 repo 已经开始提供自制 pdf 功能了。 而且现在原有 repo 把很多文件都拆开了(也打上了自己公众号的信息),对我更新仓库来说太麻烦了。
分割线
以下就可耻的抄袭原有仓库的内容介绍吧
Ⅰ | Ⅱ | Ⅲ | Ⅳ | Ⅴ | Ⅵ | Ⅶ | Ⅷ | Ⅸ | Ⅹ |
---|---|---|---|---|---|---|---|---|---|
算法:pencil2: | 操作系统:computer: | 网络:cloud: | 面向对象:couple: | 数据库:floppy_disk: | Java :coffee: | 系统设计:bulb: | 工具:hammer: | 编码实践:speak_no_evil: | 后记:memo: |
在 Java 中除了最为基础的东西之外,你只要看三样东西就可以了:
Java 中有三大支柱,在 java.util.concurrent、java.security、javax.cropty、javax.security 四个包中就占了两个(多线程、安全)
还有一个网络在 java.net、javax.net 中,呵呵
掌握了上面 6 个包及其子包中内容的话,那 Java 水平可以说达到了另一种境界。
PS:三大支柱是我之前给 Java 中多线程、网络和安全取的代号,嘿嘿
这三样中的东西非常多,基本上就是 Java 的核心所在。
多线程(multi-threading and concurrent)
涉及多线程及并发的 API 在 java.lang 中及 java.util.concurrent.* 中。
网络(network communication)
涉及网络通信的 API 都在 java.net 和 java.nio.channels 包中。这里的网络已经将 RMI 相关包 java.rmi, javax.rmi 都排除了。
安全(security, cryptography and AAA)
涉及安全的东西都在:
<!-- GFM-TOC -->
***
<!-- GFM-TOC -->
对于所有的图片地址进行替换
例如:
src="../pics//f5757d09-88e7-4bbd-8cfb-cecf55604854.png"
替换为
src="https://github.com/CyC2018/Interview-Notebook/raw/master/pics/f5757d09-88e7-4bbd-8cfb-cecf55604854.png"
所有的width=""
都需要删除
使用正则表达式 width="[0-9]*"
进行替换
所有公式需要替换为遵守 MathJax
语法,代码为
public static void main(String[] args) {
// 使用最小匹配
String templete = "<img src=\"https://latex.codecogs.com/gif.latex?.*?\"/>";
Pattern pattern = Pattern.compile(templete);
String testStr = "为每个用户分配 m bit 的码片,并且所有的码片正交,对于任意两个码片 <img src=\"https://latex.codecogs.com/gif.latex?\\vec{S}\"/> 和 <img src=\"https://latex.codecogs.com/gif.latex?\\vec{T}\"/> 有";
Matcher matcher = pattern.matcher(testStr);
while (matcher.find()) {
String str = matcher.group(0);
System.out.println(str);
String newStr = str.substring(str.indexOf("?") + 1, str.length() - 3);
System.out.println("$" + newStr + "$");
testStr = testStr.replace(str, "$" + newStr + "$");
}
System.out.println(testStr);
}