diff --git a/README.md b/README.md index 33261f0..8597400 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ +## 为什么要创建这个仓库? +我在学习编程的时候,经常会搜索一些资料,但无论是Google还是百度,搜索出来的资料往往都不系统,资料的质量也参差不齐。直到现在,我都认为阅读书籍是最系统的学习方式。计算机科学的知识体系太庞大了,如果一些知识学过,却在之后一段时间不再触及,很容易就忘掉,但我们不可能时时刻刻都能随手拿到一本相应的书来作为参考,因此系统地整理一些自己看过的博文合集显得十分必要了。 +随着仓库维护时间越来越长,我发现仓库的内容不仅仅对自己有用,对别人也有一定的参考价值。在拿了一些star后,我渐渐加上了一些自己学习心得,主要是关于一些自己读过的书籍。希望对你们有参考价值。 - - +其实我觉得每个人都可以建一个这样的仓库,整理知识的过程也是一个学习的过程。通过反复阅读与复习,慢慢知识就成了自己的一部分。 ## 阅读需知: @@ -11,24 +13,39 @@ + **仓库维护时间越久,文章目录越来越长,为了优化阅读体验,拆分了大章节,增加了每个大章节的链接。** -| :strawberry: | :cherries: | :chestnut: | :peach: | :green_apple: | :apple: | :grapes: | :kiwi_fruit: | -| :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :--------: | :----------------------------------------------------------: | -| **计算机科学** | **Java** | **Web** | **架构** | **Web Server** | **分布式** | **未分类** | | -| [计算机网络](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md) | [Java基础](https://github.com/PansonPanson/Java-Notes/blob/master/md/Java%E5%9F%BA%E7%A1%80.md) | [框架](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E6%A1%86%E6%9E%B6.md) | [设计模式](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md) | [Web Server](https://github.com/PansonPanson/Java-Notes/blob/master/md/Web%20Server.md) | [分布式](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E5%88%86%E5%B8%83%E5%BC%8F.md) | | [其他](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E5%85%B6%E4%BB%96.md) | -| [操作系统](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md) | [Java并发](https://github.com/PansonPanson/Java-Notes/blob/master/md/Java%E5%B9%B6%E5%8F%91.md) | | | | [搜索引擎](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E.md) | | | -| [数据库](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E6%95%B0%E6%8D%AE%E5%BA%93.md) | [JVM](https://github.com/PansonPanson/Java-Notes/blob/master/md/JVM.md) | | | | | | | -| [算法](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E7%AE%97%E6%B3%95.md) | | | | | | | | +| :strawberry: | :cherries: | :chestnut: | :peach: | :green_apple: | :apple: | :grapes: | :lemon: | +| :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | +| **计算机科学** | **Java** | **Web** | **架构** | **中间件** | **分布式** | **工具** | **未分类** | +| [计算机网络](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md) | [Java基础](https://github.com/PansonPanson/Java-Notes/blob/master/md/Java%E5%9F%BA%E7%A1%80.md) | [框架](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E6%A1%86%E6%9E%B6.md) | [设计模式](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md) | [Zookeeper](https://github.com/PansonPanson/Java-Notes/blob/master/md/Zookeeper.md) | [分布式基础理论](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E5%88%86%E5%B8%83%E5%BC%8F.md) | [IDEA系列教程](https://github.com/judasn/IntelliJ-IDEA-Tutorial) | 视频 [ Git](https://ww.nowcoder.com/courses/2)书籍 [《Pro Git》](http://iissnan.com/progit/) | +| [操作系统](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md) | [Java并发](https://github.com/PansonPanson/Java-Notes/blob/master/md/Java%E5%B9%B6%E5%8F%91.md) | | [系统设计](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E7%B3%BB%E7%BB%9F%E8%AE%BE%E8%AE%A1.md) | [消息队列](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97.md) | | [Postman系列教程](https://www.jellythink.com/archives/category/tool-tutorials/postman) | [Docker — 从入门到实践](https://github.com/yeasy/docker_practice/blob/master/SUMMARY.md) | +| [数据库](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E6%95%B0%E6%8D%AE%E5%BA%93.md) | [JVM](https://github.com/PansonPanson/Java-Notes/blob/master/md/JVM.md) | | [代码规范](https://github.com/alibaba/p3c/blob/master/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C%EF%BC%88%E8%AF%A6%E5%B0%BD%E7%89%88%EF%BC%89.pdf) | [Web Server](https://github.com/PansonPanson/Java-Notes/blob/master/md/Web%20Server.md) | | | [其他](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E5%85%B6%E4%BB%96.md) | +| [算法](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E7%AE%97%E6%B3%95.md) | [科普系列](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E7%A7%91%E6%99%AE%E7%B3%BB%E5%88%97.md) | | | [搜索引擎](https://github.com/PansonPanson/Java-Notes/blob/master/md/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E.md) | | | | # 一.计算机网络(Computer Networking) -#### 推荐书籍(推荐按顺序阅读): +#### 推荐书籍 + [《图解HTTP》](https://book.douban.com/subject/25863515/) + + 图解系列感觉都还不错,对新手很友好。还有一本老厚老厚[《HTTP权威指南》](https://book.douban.com/subject/10746113/),暂时还没有时间看。 + + [《图解TCP/IP》](https://book.douban.com/subject/24737674/) + + 如果对网络零基础,可以作为阅读以下几本书的铺垫。 + + [《计算机网络:自顶向下方法》](https://book.douban.com/subject/26176870/) - + 豆瓣上有人提供了本书的相应公开课,不过我没有看,[国立清华大学公开课地址](http://ocw.nthu.edu.tw/ocw/index.php?page=course&cid=13&),[原贴地址](https://book.douban.com/review/7443456/) + + 豆瓣上有人提供了本书的相应公开课,不过只看了书,公开课没看,[国立清华大学公开课地址](http://ocw.nthu.edu.tw/ocw/index.php?page=course&cid=13&),[原贴地址](https://book.douban.com/review/7443456/) + ++ [《TCP/IP详解 卷1:协议》](https://book.douban.com/subject/1088054/) + + 计算机网络的权威书籍。了解到作者生平故事的时候,总觉得英年早逝,真的很可惜。 + ++ [《计算机网络》](https://book.douban.com/subject/26960678/) + + 这本书其实是我最早看的关于计算机网络的书籍,是国内一些大学的教材,尽管自己也被国内很多教材荼毒过,但这本书还是不错的。 #### 计算机网络总览 @@ -100,13 +117,14 @@ + [串口通讯的单工、半双工和全双工的定义、区别及应用](https://blog.csdn.net/hai673580326/article/details/37819611) -#### CDN ==>> 推荐阅读《深入分析Java Web技术内幕 修订版》相应章节 +#### CDN + [知乎:CDN是什么?使用CDN有什么优势?](https://www.zhihu.com/question/36514327?rf=37353035) -#### Cookie与Session ==>> 推荐阅读《深入分析Java Web技术内幕》相应章节 +#### Cookie、Session、Token + [知乎:Cookie和Session有什么区别?](https://www.zhihu.com/question/19786827) ++ [Cookie、Session、Token](https://www.jianshu.com/p/8ef0c5a551d3) #### 加解密算法 @@ -148,7 +166,10 @@ ## Linux -#### Linux基础 ==>> 推荐阅读《鸟哥的Linux私房菜》 +#### Linux基础 + ++ [《The Linux Command Line》](https://book.douban.com/subject/6806862/) + + [对应的中文在线版](http://billie66.github.io/TLCL/book/) + [实验楼:Linux基础](https://www.shiyanlou.com/courses/1) + [Linux命令实例练习](https://www.shiyanlou.com/courses/68) @@ -203,6 +224,7 @@ + [MySQL 对于千万级的大表要怎么优化?](https://www.zhihu.com/question/19719997) + [MYSQL性能优化的最佳20+条经验](https://coolshell.cn/articles/1846.html) ===> [英文原文:Top 20+ MySQL Best Practices](https://code.tutsplus.com/tutorials/top-20-mysql-best-practices--net-7855) + [MySQL 性能优化神器 Explain 使用分析](https://segmentfault.com/a/1190000008131735) ++ [视频:性能优化之MySQL优化](https://www.imooc.com/learn/194) #### MySQL的锁 @@ -214,10 +236,48 @@ ## Redis -[合集](http://wiki.jikexueyuan.com/project/redis/) +关于Redis的学习,命令与基础知识部分,Redis官网其实蛮详细了。 + ++ [英文官网](https://redis.io/) + ++ [Redis中文网](http://www.redis.cn/) + +#### 书籍推荐: + ++ [《Redis开发与运维》](https://book.douban.com/subject/26971561/) + + 这本书主要是关于基础知识的讲解,比较全面,其实还有一本[《Redis实战》](https://book.douban.com/subject/26612779/),我翻了翻,没怎么细看。 + ++ [《Redis设计与实现》](https://book.douban.com/subject/25900156/) + + Redis底层是用C语言写的,这本书剖析了Redis的内部源码实现,配图也很多,有很多经典巧妙的数据结构,我觉得是对算法学习很好的补充。 + ++ [《Redis 深度历险:核心原理与应用实践》](https://book.douban.com/subject/30386804/) + + 这本书有对应的小册,在掘金官网上可以购买,我只看了小册,不过书和小册应该基本一致。 + +#### 基础知识 + ++ [字符串(strings)](http://www.redis.cn/topics/data-types-intro.html#strings) ++ [散列(hashes)](http://www.redis.cn/topics/data-types-intro.html#hashes) ++ [列表(lists)](http://www.redis.cn/topics/data-types-intro.html#lists) ++ [集合(sets)](http://www.redis.cn/topics/data-types-intro.html#sets) ++ [有序集合(sorted sets)](http://www.redis.cn/topics/data-types-intro.html#sorted-sets) ++ [bitmaps](http://www.redis.cn/topics/data-types-intro.html#bitmaps) ++ [hyperloglogs](http://www.redis.cn/topics/data-types-intro.html#hyperloglogs) ++ [地理空间(geospatial)](http://www.redis.cn/commands/geoadd.html) ++ [复制(replication)](http://www.redis.cn/topics/replication.html) ++ [LUA脚本(Lua scripting)](http://www.redis.cn/commands/eval.html) ++ [LRU驱动事件(LRU eviction)](http://www.redis.cn/topics/lru-cache.html) ++ [事务(transactions)](http://www.redis.cn/topics/transactions.html) ++ [磁盘持久化(persistence)](http://www.redis.cn/topics/persistence.html) ++ [Redis哨兵(Sentinel)](http://www.redis.cn/topics/sentinel.html) ++ [分区(Cluster)](http://www.redis.cn/topics/cluster-tutorial.html) #### 底层源码解析 ++ [合集](http://wiki.jikexueyuan.com/project/redis/) + + [Redis源码解析](https://redissrc.readthedocs.io/en/latest/index.html) #### 分布式锁 @@ -356,18 +416,28 @@ #### Java容器 ==>> 推荐阅读[《分布式Java应用 基础与实践》](https://book.douban.com/subject/4848587/)第四章 + [Java集合学习指南](http://wiki.jikexueyuan.com/project/java-collection/) + + [java 集合类知识汇总](https://mp.weixin.qq.com/s/2P-wEvmig-M2Ehde1REGjQ) + + [Java 容器](https://github.com/CyC2018/Interview-Notebook/blob/master/notes/Java%20%E5%AE%B9%E5%99%A8.md#arraylist) + + [ArrayList vs. LinkedList vs. Vector](http://www.importnew.com/8782.html) + + [ArrayList、LinkedList、Vector、HashSet、Treeset、HashMap、TreeMap的区别和适用场景](http://bs-yg.iteye.com/blog/2253605) + + [Java Collections Framework - ArrayList](https://www.jianshu.com/p/4b7aa8a022ba) + + **HashMap与ConcurrentHashMap** + + + [Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析](https://javadoop.com/post/hashmap) + + [占小狼:深入浅出ConcurrentHashMap1.8](https://www.jianshu.com/p/c0642afe03e0) + [占小狼:谈谈ConcurrentHashMap1.7和1.8的不同实现](https://www.jianshu.com/p/e694f1e868ec) + [占小狼:ConcurrentHashMap的红黑树实现分析](https://www.jianshu.com/p/23b84ba9a498) + [占小狼:老生常谈,HashMap的死循环](https://www.jianshu.com/p/1e9cf0ac07f4) + [HashMap与ConcurrentHashMap在JDK1.7和JDK1.8中的实现](https://crossoverjie.top/2018/07/23/java-senior/ConcurrentHashMap/) + [美团技术团队:Java 8系列之重新认识HashMap](https://tech.meituan.com/java_hashmap.html) + + **优先级队列** + [PriorityQueue](https://github.com/CarpenterLee/JCFInternals/blob/master/markdown/8-PriorityQueue.md) + [优先级队列是一种什么样的数据结构](http://www.importnew.com/6510.html) @@ -392,8 +462,17 @@ #### 推荐书籍: + [《Java并发编程的艺术》](https://book.douban.com/subject/26591326/) + + z这本书比《Java并发编程实战》更适合入门一些。作者还创办了并发编程网,里面有很多值得读的文章。 + + [《Java并发编程实战》](https://book.douban.com/subject/10484692/) + jdk并发包作者写的书,书很好,但翻译为人诟病很久。 + ++ [《实战Java高并发程序设计》](https://book.douban.com/subject/26663605/) + + 在图书馆瞎逛的时候看到的一本书,翻了翻,出乎意料地不错,涉及到一些Java8函数式编程的知识。 + #### 并发合集 + [深入理解java内存模型系列文章](http://ifeve.com/java-memory-model-0/) @@ -458,9 +537,20 @@ - # 七.Java虚拟机(JVM) +#### 推荐书籍 + ++ [《深入理解Java虚拟机》](https://book.douban.com/subject/24722612/) + + 学过JVM的应该都看过这本书,比较详细,但这本书第二版是2013年出的,HotSpot在具体实现上有了一些变化,比如说内存结构Perm区的继任者Metaspace,以及一些新的垃圾收集器也出现了,这部分内容需要再自己选择性地去补充学习。 + ++ [《实战Java虚拟机》](https://book.douban.com/subject/26354292/) + + 相比较上一本,这一本书感觉更基础,两者可以相互补充。 + +#### 合集 + + [JVM一览](https://github.com/CyC2018/Interview-Notebook/blob/master/notes/Java%20%E8%99%9A%E6%8B%9F%E6%9C%BA.md) + [Jvm知识汇总篇](https://zhuanlan.zhihu.com/p/34426768) @@ -499,11 +589,43 @@ -# 八.设计模式(Design Patterns) - -+ [六大设计原则](http://wiki.jikexueyuan.com/project/java-design-pattern-principle/) - - +# 八.架构与设计 + +## 设计模式 + ++ [设计模式合集](http://wiki.jikexueyuan.com/project/java-design-pattern-principle/) + +## 系统设计 + ++ [系统设计面试之前需要知道的八件事](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd1.html) ++ 设计Twitter + + [如何设计 Twitter(第一部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd2.html) + + [如何设计 Twitter(第二部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd3.html) ++ [创建照片分享应用](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd4.html) ++ [创建短网址系统](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd5.html) ++ [如何设计 Google Docs](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd6.html) ++ 设计新闻推送系统 + + [设计新闻推送系统(第一部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd7.html) + + [设计新闻推送系统(第二部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd8.html) ++ [设计 Facebook 聊天功能](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd9.html) ++ [如何为 Twitter 设计趋势算法](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd10.html) ++ [设计缓存系统](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd11.html) ++ [设计推荐系统](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd12.html) ++ [随机 ID 生成器](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd13.html) ++ 设计键值存储 + + [设计键值存储(第一部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd14.html) + + [设计键值存储(第二部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd15.html) ++ [构建网页爬虫](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd16.html) ++ 设计垃圾回收系统 + + [设计垃圾回收系统(第一部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd17.html) + + [设计垃圾回收系统(第二部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd18.html) ++ 设计电商网站 + + [设计电商网站(第一部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd19.html) + + [设计电商网站(第二部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd20.html) ++ [设计点击计数器](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd21.html) ++ 设计 Youtube + + [设计 Youtube(第一部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd22.html) + + [设计 Youtube(第二部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd23.html) # 九.框架(Framework) @@ -601,18 +723,44 @@ + **参考文档以及开源作品索引** + [Spring Cloud 中文索引](http://springcloud.fun/) -# 十 Web Server +# 十.中间件 + +## 1.Web Server + +### Tomcat + +### Nginx -## Nginx +## 2.消息队列 +### RabbitMQ +### RocketMQ + +### kafka + +### ActiveMQ # 十一.分布式 +## 1.分布式基础理论 + + [美团技术团队:分布式系统互斥性与幂等性问题的分析与解决](https://tech.meituan.com/distributed_system_mutually_exclusive_idempotence_cerberus_gtis.html) ++ [分布式基础理论](https://github.com/CyC2018/CS-Notes/blob/master/notes/%E5%88%86%E5%B8%83%E5%BC%8F.md) + **CAP理论:** + 论文:[Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web](https://users.ece.cmu.edu/~adrian/731-sp04/readings/GL-cap.pdf) + [CAP 定理的含义](http://www.ruanyifeng.com/blog/2018/07/cap.html) + + [分布式理论(一) - CAP定理](https://juejin.im/post/5b26634b6fb9a00e765e75d1) ++ **BASE理论:** + + [分布式理论(二) - BASE理论](https://link.juejin.im/?target=https%3A%2F%2Fjuejin.im%2Fpost%2F5b2663fcf265da59a401e6f8) ++ **2PC协议:** + + [分布式理论(三) - 2PC协议](https://link.juejin.im/?target=https%3A%2F%2Fjuejin.im%2Fpost%2F5b2664446fb9a00e4a53136e) ++ **3PC协议:** + + [分布式理论(四) - 3PC协议](https://link.juejin.im/?target=https%3A%2F%2Fjuejin.im%2Fpost%2F5b26648e5188257494641b9f) ++ **一致性算法Paxos:** + + [分布式理论(五) - 一致性算法Paxos](https://link.juejin.im/?target=https%3A%2F%2Fjuejin.im%2Fpost%2F5b2664bd51882574874d8a76) ++ **一致性协议Raft:** + + [分布式理论(六) - 一致性协议Raft](https://link.juejin.im/?target=https%3A%2F%2Fjuejin.im%2Fpost%2F5b2664e2f265da59584d8c90) + **分布式事务** + [事务相关基础知识](http://www.hollischuang.com/archives/tag/%E4%BA%8B%E5%8A%A1) + [分布式事务](http://tech.dianwoda.com/2018/09/27/fen-bu-shi-shi-wu/) @@ -639,7 +787,7 @@ + [Postman系列教程](https://www.jellythink.com/archives/category/tool-tutorials/postman) -#### 压力测试 +## 压力测试 + Apache bench + JMeter @@ -673,40 +821,3 @@ + [美团技术团队:性能优化模式](http://tech.meituan.com/performance_tuning_pattern.html) - -# 参考资料(Reference): - -[《图解HTTP》](https://book.douban.com/subject/25863515/) - -[《图解TCP/IP》](https://book.douban.com/subject/24737674/) - -[《计算机网络》](https://book.douban.com/subject/26960678/) - -[《MySQL必知必会》](https://book.douban.com/subject/3354490/) - -[《高性能MySQL》](https://book.douban.com/subject/23008813/) - -[ Git教程](https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000) - -[《程序员代码面试指南:IT名企算法与数据结构题目最优解》](https://book.douban.com/subject/26638586/) - -[《Java核心技术 卷I》](https://book.douban.com/subject/26880667/) - -[《Java编程思想》](https://book.douban.com/subject/2130190/) - -[《Java 8函数式编程》](https://book.douban.com/subject/26346017/) - -[《Java 8实战》](https://book.douban.com/subject/26772632/) - -[《阿里巴巴Java开发规范》](https://book.douban.com/subject/27605355/) - -[《鸟哥的Linux私房菜》](https://book.douban.com/subject/4889838/) - -[《大型网站技术架构 核心原理与案例分析》](https://book.douban.com/subject/25723064/) - -[《Maven实战》](https://book.douban.com/subject/5345682/) - -[《Java并发编程的艺术》](https://book.douban.com/subject/26591326/) - -[《Java并发编程实战》](https://book.douban.com/subject/10484692/) - diff --git a/md/JVM.md b/md/JVM.md index 8ab7bf7..d46d107 100644 --- a/md/JVM.md +++ b/md/JVM.md @@ -1,5 +1,17 @@ # 七.Java虚拟机(JVM) +#### 推荐书籍 + ++ [《深入理解Java虚拟机》](https://book.douban.com/subject/24722612/) + + 学过JVM的应该都看过这本书,比较详细,但这本书第二版是2013年出的,HotSpot在具体实现上有了一些变化,比如说内存结构Perm区的继任者Metaspace,以及一些新的垃圾收集器也出现了,这部分内容需要再自己选择性地去补充学习。 + ++ [《实战Java虚拟机》](https://book.douban.com/subject/26354292/) + + 相比较上一本,这一本书感觉更基础,两者可以相互补充。 + +#### 合集 + + [JVM一览](https://github.com/CyC2018/Interview-Notebook/blob/master/notes/Java%20%E8%99%9A%E6%8B%9F%E6%9C%BA.md) + [Jvm知识汇总篇](https://zhuanlan.zhihu.com/p/34426768) @@ -34,4 +46,7 @@ #### 性能调优 + [并发编程网:JVM实用参数系列 ](http://ifeve.com/useful-jvm-flags/) -+ [美团技术团队:从实际案例聊聊Java应用的GC优化](https://tech.meituan.com/jvm_optimize.html) \ No newline at end of file ++ [美团技术团队:从实际案例聊聊Java应用的GC优化](https://tech.meituan.com/jvm_optimize.html) ++ [JVM发生OOM的 8 种原因、及解决办法](https://mp.weixin.qq.com/s/HwsU282ZuXUFjq4Oi7Br_A) ++ [JVM 调优(学习篇)](https://mp.weixin.qq.com/s/Po45tsGSuoftUgWbJGlZOQ) + diff --git "a/md/Java345円271円266円345円217円221円.md" "b/md/Java345円271円266円345円217円221円.md" index 851cf80..9c10fb5 100644 --- "a/md/Java345円271円266円345円217円221円.md" +++ "b/md/Java345円271円266円345円217円221円.md" @@ -1,5 +1,19 @@ # 六.Java并发(Concurrency) +#### 推荐书籍: + ++ [《Java并发编程的艺术》](https://book.douban.com/subject/26591326/) + + z这本书比《Java并发编程实战》更适合入门一些。作者还创办了并发编程网,里面有很多值得读的文章。 + ++ [《Java并发编程实战》](https://book.douban.com/subject/10484692/) + + jdk并发包作者写的书,书很好,但翻译为人诟病很久。 + ++ [《实战Java高并发程序设计》](https://book.douban.com/subject/26663605/) + + 在图书馆瞎逛的时候看到的一本书,翻了翻,出乎意料地不错,涉及到一些Java8函数式编程的知识。 + #### 并发合集 + [深入理解java内存模型系列文章](http://ifeve.com/java-memory-model-0/) diff --git a/md/Web Server.md b/md/Web Server.md index 1ac24dc..d78ecef 100644 --- a/md/Web Server.md +++ b/md/Web Server.md @@ -1,3 +1,6 @@ -# 十 Web Server +## Web Server + +### Tomcat + +### Nginx -## Nginx \ No newline at end of file diff --git a/md/Zookeeper.md b/md/Zookeeper.md new file mode 100644 index 0000000..6854051 --- /dev/null +++ b/md/Zookeeper.md @@ -0,0 +1,6 @@ ++ [Zookeeper教程](https://www.w3cschool.cn/zookeeper/) + ++ [gitbook:Zookeeper深入浅出](https://holynull.gitbooks.io/zookeeper/content/) + ++ [《从Paxos到Zookeeper》](https://book.douban.com/subject/26292004/) + diff --git "a/md/345円205円266円344円273円226円.md" "b/md/345円205円266円344円273円226円.md" index b437c9c..4112c1e 100644 --- "a/md/345円205円266円344円273円226円.md" +++ "b/md/345円205円266円344円273円226円.md" @@ -44,40 +44,3 @@ + [美团技术团队:性能优化模式](http://tech.meituan.com/performance_tuning_pattern.html) - - -# 参考资料(Reference): - -[《图解HTTP》](https://book.douban.com/subject/25863515/) - -[《图解TCP/IP》](https://book.douban.com/subject/24737674/) - -[《计算机网络》](https://book.douban.com/subject/26960678/) - -[《MySQL必知必会》](https://book.douban.com/subject/3354490/) - -[《高性能MySQL》](https://book.douban.com/subject/23008813/) - -[ Git教程](https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000) - -[《程序员代码面试指南:IT名企算法与数据结构题目最优解》](https://book.douban.com/subject/26638586/) - -[《Java核心技术 卷I》](https://book.douban.com/subject/26880667/) - -[《Java编程思想》](https://book.douban.com/subject/2130190/) - -[《Java 8函数式编程》](https://book.douban.com/subject/26346017/) - -[《Java 8实战》](https://book.douban.com/subject/26772632/) - -[《阿里巴巴Java开发规范》](https://book.douban.com/subject/27605355/) - -[《鸟哥的Linux私房菜》](https://book.douban.com/subject/4889838/) - -[《大型网站技术架构 核心原理与案例分析》](https://book.douban.com/subject/25723064/) - -[《Maven实战》](https://book.douban.com/subject/5345682/) - -[《Java并发编程的艺术》](https://book.douban.com/subject/26591326/) - -[《Java并发编程实战》](https://book.douban.com/subject/10484692/) \ No newline at end of file diff --git "a/md/345円210円206円345円270円203円345円274円217円.md" "b/md/345円210円206円345円270円203円345円274円217円.md" index 7634fa5..a8cad6e 100644 --- "a/md/345円210円206円345円270円203円345円274円217円.md" +++ "b/md/345円210円206円345円270円203円345円274円217円.md" @@ -1,12 +1,28 @@ # 十一.分布式 +## 1.分布式基础理论 + + [美团技术团队:分布式系统互斥性与幂等性问题的分析与解决](https://tech.meituan.com/distributed_system_mutually_exclusive_idempotence_cerberus_gtis.html) ++ [分布式基础理论](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/%E5%88%86%E5%B8%83%E5%BC%8F.md) + **CAP理论:** - + 论文:[Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web](https://users.ece.cmu.edu/~adrian/731-sp04/readings/GL-cap.pdf) - + [CAP 定理的含义](http://www.ruanyifeng.com/blog/2018/07/cap.html) + + 论文:[Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web](https://users.ece.cmu.edu/~adrian/731-sp04/readings/GL-cap.pdf) + + [CAP 定理的含义](http://www.ruanyifeng.com/blog/2018/07/cap.html) + + [分布式理论(一) - CAP定理](https://juejin.im/post/5b26634b6fb9a00e765e75d1) ++ **BASE理论:** + + [分布式理论(二) - BASE理论](https://link.juejin.im/?target=https%3A%2F%2Fjuejin.im%2Fpost%2F5b2663fcf265da59a401e6f8) ++ **2PC协议:** + + [分布式理论(三) - 2PC协议](https://link.juejin.im/?target=https%3A%2F%2Fjuejin.im%2Fpost%2F5b2664446fb9a00e4a53136e) ++ **3PC协议:** + + [分布式理论(四) - 3PC协议](https://link.juejin.im/?target=https%3A%2F%2Fjuejin.im%2Fpost%2F5b26648e5188257494641b9f) ++ **一致性算法Paxos:** + + [分布式理论(五) - 一致性算法Paxos](https://link.juejin.im/?target=https%3A%2F%2Fjuejin.im%2Fpost%2F5b2664bd51882574874d8a76) ++ **一致性协议Raft:** + + [分布式理论(六) - 一致性协议Raft](https://link.juejin.im/?target=https%3A%2F%2Fjuejin.im%2Fpost%2F5b2664e2f265da59584d8c90) + **分布式事务** - + [事务相关基础知识](http://www.hollischuang.com/archives/tag/%E4%BA%8B%E5%8A%A1) - + [IBM developerWorks : JTA 深度历险 - 原理与实现](https://www.ibm.com/developerworks/cn/java/j-lo-jta/index.html) + + [事务相关基础知识](http://www.hollischuang.com/archives/tag/%E4%BA%8B%E5%8A%A1) + + [分布式事务](http://tech.dianwoda.com/2018/09/27/fen-bu-shi-shi-wu/) + + [IBM developerWorks : JTA 深度历险 - 原理与实现](https://www.ibm.com/developerworks/cn/java/j-lo-jta/index.html) + + [深入理解「分布式事务」](https://mp.weixin.qq.com/s/_iGYAgx_CSxIHBMLtwbpNg) + **happens-before** - + 论文:[Time, Clocks, and the Ordering of Events in a Distributed System](https://lamport.azurewebsites.net/pubs/time-clocks.pdf) + + 论文:[Time, Clocks, and the Ordering of Events in a Distributed System](https://lamport.azurewebsites.net/pubs/time-clocks.pdf) diff --git "a/md/346円223円215円344円275円234円347円263円273円347円273円237円.md" "b/md/346円223円215円344円275円234円347円263円273円347円273円237円.md" index c0e9fba..7c5145f 100644 --- "a/md/346円223円215円344円275円234円347円263円273円347円273円237円.md" +++ "b/md/346円223円215円344円275円234円347円263円273円347円273円237円.md" @@ -30,7 +30,10 @@ ## Linux -#### Linux基础 ==>> 推荐阅读《鸟哥的Linux私房菜》 +#### Linux基础 + ++ [《The Linux Command Line》](https://book.douban.com/subject/6806862/) + + [对应的中文在线版](http://billie66.github.io/TLCL/book/) + [实验楼:Linux基础](https://www.shiyanlou.com/courses/1) + [Linux命令实例练习](https://www.shiyanlou.com/courses/68) diff --git "a/md/346円225円260円346円215円256円345円272円223円.md" "b/md/346円225円260円346円215円256円345円272円223円.md" index 3b39c34..49f2aee 100644 --- "a/md/346円225円260円346円215円256円345円272円223円.md" +++ "b/md/346円225円260円346円215円256円345円272円223円.md" @@ -32,6 +32,7 @@ + [MySQL 对于千万级的大表要怎么优化?](https://www.zhihu.com/question/19719997) + [MYSQL性能优化的最佳20+条经验](https://coolshell.cn/articles/1846.html) ===> [英文原文:Top 20+ MySQL Best Practices](https://code.tutsplus.com/tutorials/top-20-mysql-best-practices--net-7855) + [MySQL 性能优化神器 Explain 使用分析](https://segmentfault.com/a/1190000008131735) ++ [SQL优化方案](https://mp.weixin.qq.com/s/DBeVzJyR9_PXnoAIfJiHfg) #### MySQL的锁 @@ -43,5 +44,55 @@ ## Redis +关于Redis的学习,命令与基础知识部分,Redis官网其实蛮详细了。 + ++ [英文官网](https://redis.io/) + ++ [Redis中文网](http://www.redis.cn/) + +#### 书籍推荐: + ++ [《Redis开发与运维》](https://book.douban.com/subject/26971561/) + + 这本书主要是关于基础知识的讲解,比较全面,其实还有一本[《Redis实战》](https://book.douban.com/subject/26612779/),我翻了翻,没怎么细看。 + ++ [《Redis设计与实现》](https://book.douban.com/subject/25900156/) + + Redis底层是用C语言写的,这本书剖析了Redis的内部源码实现,配图也很多,有很多经典巧妙的数据结构,我觉得是对算法学习很好的补充。 + ++ [《Redis 深度历险:核心原理与应用实践》](https://book.douban.com/subject/30386804/) + + 这本书有对应的小册,在掘金官网上可以购买,我只看了小册,不过书和小册应该基本一致。 + +#### 基础知识 + ++ [字符串(strings)](http://www.redis.cn/topics/data-types-intro.html#strings) ++ [散列(hashes)](http://www.redis.cn/topics/data-types-intro.html#hashes) ++ [列表(lists)](http://www.redis.cn/topics/data-types-intro.html#lists) ++ [集合(sets)](http://www.redis.cn/topics/data-types-intro.html#sets) ++ [有序集合(sorted sets)](http://www.redis.cn/topics/data-types-intro.html#sorted-sets) ++ [bitmaps](http://www.redis.cn/topics/data-types-intro.html#bitmaps) ++ [hyperloglogs](http://www.redis.cn/topics/data-types-intro.html#hyperloglogs) ++ [地理空间(geospatial)](http://www.redis.cn/commands/geoadd.html) ++ [复制(replication)](http://www.redis.cn/topics/replication.html) ++ [LUA脚本(Lua scripting)](http://www.redis.cn/commands/eval.html) ++ [LRU驱动事件(LRU eviction)](http://www.redis.cn/topics/lru-cache.html) ++ [事务(transactions)](http://www.redis.cn/topics/transactions.html) ++ [磁盘持久化(persistence)](http://www.redis.cn/topics/persistence.html) ++ [Redis哨兵(Sentinel)](http://www.redis.cn/topics/sentinel.html) ++ [分区(Cluster)](http://www.redis.cn/topics/cluster-tutorial.html) + +#### 底层源码解析 + ++ [合集](http://wiki.jikexueyuan.com/project/redis/) + ++ [Redis源码解析](https://redissrc.readthedocs.io/en/latest/index.html) + +#### 分布式锁 + ++ [点我达技术:Redis分布式锁进化史](http://tech.dianwoda.com/2018/04/11/redisfen-bu-shi-suo-jin-hua-shi/) + +#### 缓存 + + [美团技术团队:缓存那些事](https://tech.meituan.com/cache_about.html) diff --git "a/md/346円241円206円346円236円266円.md" "b/md/346円241円206円346円236円266円.md" index 4ca2df1..4b31189 100644 --- "a/md/346円241円206円346円236円266円.md" +++ "b/md/346円241円206円346円236円266円.md" @@ -52,6 +52,8 @@ ## Spring MVC ++ [Spring MVC中文文档](https://spring-mvc.linesh.tw/) + + [SpringMVC深度探险系列](http://www.iteye.com/blogs/subjects/springmvc-explore) #### **Servlet** @@ -60,7 +62,7 @@ + [许令波:Servlet 工作原理解析](https://www.ibm.com/developerworks/cn/java/j-lo-servlet/index.html) + [Servlet生命周期与工作原理](https://www.cnblogs.com/cuiliang/archive/2011/10/21/2220671.html) -#### **redirect和forward** +#### redirect和forward + [知乎:web开发过程中redirect和forward有什么区别?](https://www.zhihu.com/question/38013677) + [请求转发(Forward)和重定向(Redirect)的区别](https://www.cnblogs.com/Qian123/p/5345527.html) diff --git "a/md/346円266円210円346円201円257円351円230円237円345円210円227円.md" "b/md/346円266円210円346円201円257円351円230円237円345円210円227円.md" new file mode 100644 index 0000000..5ecee1f --- /dev/null +++ "b/md/346円266円210円346円201円257円351円230円237円345円210円227円.md" @@ -0,0 +1,9 @@ +## 消息队列 + +### RabbitMQ + +### RocketMQ + +### kafka + +### ActiveMQ \ No newline at end of file diff --git "a/md/347円247円221円346円231円256円347円263円273円345円210円227円.md" "b/md/347円247円221円346円231円256円347円263円273円345円210円227円.md" new file mode 100644 index 0000000..d569d7f --- /dev/null +++ "b/md/347円247円221円346円231円256円347円263円273円345円210円227円.md" @@ -0,0 +1,4 @@ ++ [大话数据库连接池简史,你都用过几个?](https://mp.weixin.qq.com/s/44ZGZOAjJHl2aUDWMrnXiw) ++ [小白科普:Java EE vs J2EE vs Jakarta EE](https://mp.weixin.qq.com/s/44ZGZOAjJHl2aUDWMrnXiw) ++ [一个著名的日志系统是怎么设计出来的](https://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&mid=2665513967&idx=1&sn=5586ce841a7e8b39adc2569f0eb5bb45&chksm=80d67bacb7a1f2ba38aa37620d273dfd7d7227667df556d36c84d125cafd73fef16464288cf9&scene=21#wechat_redirect) + diff --git "a/md/347円263円273円347円273円237円350円256円276円350円256円241円.md" "b/md/347円263円273円347円273円237円350円256円276円350円256円241円.md" new file mode 100644 index 0000000..a73ad67 --- /dev/null +++ "b/md/347円263円273円347円273円237円350円256円276円350円256円241円.md" @@ -0,0 +1,32 @@ +## 系统设计 + ++ [系统设计面试之前需要知道的八件事](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd1.html) ++ 设计Twitter + + [如何设计 Twitter(第一部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd2.html) + + [如何设计 Twitter(第二部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd3.html) ++ [创建照片分享应用](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd4.html) ++ [创建短网址系统](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd5.html) ++ [如何设计 Google Docs](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd6.html) ++ 设计新闻推送系统 + + [设计新闻推送系统(第一部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd7.html) + + [设计新闻推送系统(第二部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd8.html) ++ [设计 Facebook 聊天功能](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd9.html) ++ [如何为 Twitter 设计趋势算法](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd10.html) ++ [设计缓存系统](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd11.html) ++ [设计推荐系统](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd12.html) ++ [随机 ID 生成器](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd13.html) ++ 设计键值存储 + + [设计键值存储(第一部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd14.html) + + [设计键值存储(第二部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd15.html) ++ [构建网页爬虫](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd16.html) ++ 设计垃圾回收系统 + + [设计垃圾回收系统(第一部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd17.html) + + [设计垃圾回收系统(第二部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd18.html) ++ 设计电商网站 + + [设计电商网站(第一部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd19.html) + + [设计电商网站(第二部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd20.html) ++ [设计点击计数器](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd21.html) ++ 设计 Youtube + + [设计 Youtube(第一部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd22.html) + + [设计 Youtube(第二部分)](https://wizardforcel.gitbooks.io/gainlo-interview-guide/content/sd23.html) + diff --git "a/md/350円256円241円347円256円227円346円234円272円347円275円221円347円273円234円.md" "b/md/350円256円241円347円256円227円346円234円272円347円275円221円347円273円234円.md" index 8af3c26..e52256f 100644 --- "a/md/350円256円241円347円256円227円346円234円272円347円275円221円347円273円234円.md" +++ "b/md/350円256円241円347円256円227円346円234円272円347円275円221円347円273円234円.md" @@ -1,95 +1,111 @@ -+ # 一.计算机网络(Computer Networking) +# 一.计算机网络(Computer Networking) - #### 推荐书籍(推荐按顺序阅读): +#### 推荐书籍 - + [《图解HTTP》](https://book.douban.com/subject/25863515/) - + [《图解TCP/IP》](https://book.douban.com/subject/24737674/) - + [《计算机网络:自顶向下方法》](https://book.douban.com/subject/26176870/) - + 豆瓣上有人提供了本书的相应公开课,不过我没有看,[国立清华大学公开课地址](http://ocw.nthu.edu.tw/ocw/index.php?page=course&cid=13&),[原贴地址](https://book.douban.com/review/7443456/) ++ [《图解HTTP》](https://book.douban.com/subject/25863515/) - #### 计算机网络总览 + 图解系列感觉都还不错,对新手很友好。还有一本老厚老厚[《HTTP权威指南》](https://book.douban.com/subject/10746113/),暂时还没有时间看。 - + [计算机网络](https://github.com/CyC2018/Interview-Notebook/blob/master/notes/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#%E4%BA%94%E8%BF%90%E8%BE%93%E5%B1%82) - + [HTTP](https://github.com/CyC2018/CS-Notes/blob/master/notes/HTTP.md) ++ [《图解TCP/IP》](https://book.douban.com/subject/24737674/) - #### TCP、UDP + 如果对网络零基础,可以作为阅读以下几本书的铺垫。 - + [通俗大白话来理解TCP协议的三次握手和四次分手](https://github.com/jawil/blog/issues/14) - + [TCP 为什么是三次握手,而不是两次或四次?](https://www.zhihu.com/question/24853633) - + [理解 TCP 和 UDP](https://jerryc8080.gitbooks.io/understand-tcp-and-udp/) ++ [《计算机网络:自顶向下方法》](https://book.douban.com/subject/26176870/) - #### 计算机网络体系结构 + 豆瓣上有人提供了本书的相应公开课,不过只看了书,公开课没看,[国立清华大学公开课地址](http://ocw.nthu.edu.tw/ocw/index.php?page=course&cid=13&),[原贴地址](https://book.douban.com/review/7443456/) - + [OSI七层协议模型、TCP/IP四层模型和五层协议体系结构之间的关系](https://www.cnblogs.com/wxd0108/p/7597216.html) ++ [《TCP/IP详解 卷1:协议》](https://book.douban.com/subject/1088054/) - #### HTTP + 计算机网络的权威书籍。了解到作者生平故事的时候,总觉得英年早逝,真的很可惜。 - + **HTTP 请求方法** - + [MDN: HTTP 请求方法](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods) - + [w3school HTTP 方法: GET 对比 POST](http://www.w3school.com.cn/tags/html_ref_httpmethods.asp) - + **HTTP 状态码** - + [w3school: HTTP 状态消息](http://www.w3school.com.cn/tags/html_ref_httpmessages.asp) - + [MDN: HTTP response codes](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/HTTP_response_codes) - + **HTTP 缓存** - + [MDN: HTTP 缓存 FAQ](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Caching_FAQ) - + [google developers: HTTP 缓存](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching?hl=zh-cn) - + [MDN: Cache-Control](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers) ==>> [英文](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers) - + **HTTP内容协商** - + [MDN: 内容协商](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Content_negotiation) ==>> [英文: Content negotiation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Content_negotiation) - + [谈谈 HTTP/2 的协议协商机制](https://imququ.com/post/protocol-negotiation-in-http2.html) - + **HTTP内容安全策略( CSP )** - + [内容安全策略( CSP )](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CSP) ==>> [Content Security Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) - + [阮一峰:Content Security Policy 入门教程](http://www.ruanyifeng.com/blog/2016/09/csp.html) - + **HTTP的发展:0.9/1.0/1.1/2.0** - + [MDN: HTTP的发展](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/Evolution_of_HTTP) - + [[译] HTTP 的进化 - 0.9、1.0、1.1、Keep-Alive、Upgrade 和 HTTPS](https://juejin.im/post/5aefc2a3f265da0b8c24e0c5) - + [阮一峰:HTTP 协议入门](http://www.ruanyifeng.com/blog/2016/08/http.html) - + [HTTP/1.x 的连接管理](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Connection_management_in_HTTP_1.x) - + **Identifying resources on the Web** - + [URI、URL、URN 的联系和区别](https://waylau.com/difference-of-uri-url-urn/) - + [Identifying resources on the Web](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web) - + **浏览器发送一次网址请求的过程** - + [小白科普:从输入网址到最后浏览器呈现页面内容,中间发生了什么?](https://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&mid=2665514196&idx=1&sn=ca26d258fcc4a35fc6d9a539b7d71dd7&chksm=80d67c97b7a1f58198b2e6ae436f73c677c0df4c05c2a8a4aad2b9e2d523da57dd5cd3d0a8ee&scene=21#wechat_redirect) - + [知乎:当你在浏览器中输入 baidu.com 并且按下回车后发生了什么?](https://zhuanlan.zhihu.com/p/28262282) - + [An attempt to answer the age old interview question "What happens when you type google.com into your browser and press enter?"](https://github.com/alex/what-happens-when) - + **代理** - + [图解正向代理、反向代理、透明代理](http://blog.51cto.com/z00w00/1031287) ++ [《计算机网络》](https://book.douban.com/subject/26960678/) - #### SSH + 这本书其实是我最早看的关于计算机网络的书籍,是国内一些大学的教材,尽管自己也被国内很多教材荼毒过,但这本书还是不错的。 - + [SSH协议详解](http://airekans.github.io/protocol/2012/06/28/ssh-explained) - + [SSH 原理与运用(一):远程登录](http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html) - + [SSH原理与运用(二):远程操作与端口转发](http://www.ruanyifeng.com/blog/2011/12/ssh_port_forwarding.html) +#### 计算机网络总览 - #### SSL与TLS ++ [计算机网络](https://github.com/CyC2018/Interview-Notebook/blob/master/notes/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#%E4%BA%94%E8%BF%90%E8%BE%93%E5%B1%82) ++ [HTTP](https://github.com/CyC2018/CS-Notes/blob/master/notes/HTTP.md) - + [阮一峰:SSL/TLS协议运行机制的概述](http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html) - + [阮一峰:图解SSL/TLS协议](http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html) - + [维基百科:传输层安全性协议](https://zh.wikipedia.org/wiki/%E5%82%B3%E8%BC%B8%E5%B1%A4%E5%AE%89%E5%85%A8%E6%80%A7%E5%8D%94%E5%AE%9A) +#### TCP、UDP - #### 集线器、交换机和路由器 ++ [通俗大白话来理解TCP协议的三次握手和四次分手](https://github.com/jawil/blog/issues/14) ++ [TCP 为什么是三次握手,而不是两次或四次?](https://www.zhihu.com/question/24853633) ++ [理解 TCP 和 UDP](https://jerryc8080.gitbooks.io/understand-tcp-and-udp/) ++ [TCP长连接和心跳那些事](https://mp.weixin.qq.com/s/U5SQkaCI2DI6WiaRYVpN2g) - + [路由器和交换机的不同之处有哪些?](https://www.zhihu.com/question/20465477) - + [如何跟小白解释路由器和交换机的区别?](https://www.zhihu.com/question/22007235) - + [集线器和交换机的区别?](https://www.zhihu.com/question/21782368) +#### 计算机网络体系结构 - #### 全双工、半双工和单工 ++ [OSI七层协议模型、TCP/IP四层模型和五层协议体系结构之间的关系](https://www.cnblogs.com/wxd0108/p/7597216.html) - + [串口通讯的单工、半双工和全双工的定义、区别及应用](https://blog.csdn.net/hai673580326/article/details/37819611) +#### HTTP - #### CDN ==>> 推荐阅读《深入分析Java Web技术内幕 修订版》相应章节 ++ **HTTP 请求方法** + + [MDN: HTTP 请求方法](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods) + + [w3school HTTP 方法: GET 对比 POST](http://www.w3school.com.cn/tags/html_ref_httpmethods.asp) ++ **HTTP 状态码** + + [w3school: HTTP 状态消息](http://www.w3school.com.cn/tags/html_ref_httpmessages.asp) + + [MDN: HTTP response codes](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/HTTP_response_codes) ++ **HTTP 缓存** + + [MDN: HTTP 缓存 FAQ](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Caching_FAQ) + + [google developers: HTTP 缓存](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching?hl=zh-cn) + + [MDN: Cache-Control](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers) ==>> [英文](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers) ++ **HTTP内容协商** + + [MDN: 内容协商](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Content_negotiation) ==>> [英文: Content negotiation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Content_negotiation) + + [谈谈 HTTP/2 的协议协商机制](https://imququ.com/post/protocol-negotiation-in-http2.html) ++ **HTTP内容安全策略( CSP )** + + [内容安全策略( CSP )](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CSP) ==>> [Content Security Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) + + [阮一峰:Content Security Policy 入门教程](http://www.ruanyifeng.com/blog/2016/09/csp.html) ++ **HTTP的发展:0.9/1.0/1.1/2.0** + + [MDN: HTTP的发展](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/Evolution_of_HTTP) + + [[译] HTTP 的进化 - 0.9、1.0、1.1、Keep-Alive、Upgrade 和 HTTPS](https://juejin.im/post/5aefc2a3f265da0b8c24e0c5) + + [阮一峰:HTTP 协议入门](http://www.ruanyifeng.com/blog/2016/08/http.html) ++ [HTTP/1.x 的连接管理](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Connection_management_in_HTTP_1.x) ++ **Identifying resources on the Web** + + [URI、URL、URN 的联系和区别](https://waylau.com/difference-of-uri-url-urn/) + + [Identifying resources on the Web](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web) ++ **浏览器发送一次网址请求的过程** + + [小白科普:从输入网址到最后浏览器呈现页面内容,中间发生了什么?](https://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&mid=2665514196&idx=1&sn=ca26d258fcc4a35fc6d9a539b7d71dd7&chksm=80d67c97b7a1f58198b2e6ae436f73c677c0df4c05c2a8a4aad2b9e2d523da57dd5cd3d0a8ee&scene=21#wechat_redirect) + + [知乎:当你在浏览器中输入 baidu.com 并且按下回车后发生了什么?](https://zhuanlan.zhihu.com/p/28262282) + + [An attempt to answer the age old interview question "What happens when you type google.com into your browser and press enter?"](https://github.com/alex/what-happens-when) ++ **代理** + + [图解正向代理、反向代理、透明代理](http://blog.51cto.com/z00w00/1031287) - + [知乎:CDN是什么?使用CDN有什么优势?](https://www.zhihu.com/question/36514327?rf=37353035) +#### SSH - #### Cookie与Session ==>> 推荐阅读《深入分析Java Web技术内幕》相应章节 ++ [SSH协议详解](http://airekans.github.io/protocol/2012/06/28/ssh-explained) ++ [SSH 原理与运用(一):远程登录](http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html) ++ [SSH原理与运用(二):远程操作与端口转发](http://www.ruanyifeng.com/blog/2011/12/ssh_port_forwarding.html) - + [知乎:Cookie和Session有什么区别?](https://www.zhihu.com/question/19786827) +#### SSL与TLS - #### 加解密算法 ++ [阮一峰:SSL/TLS协议运行机制的概述](http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html) ++ [阮一峰:图解SSL/TLS协议](http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html) ++ [维基百科:传输层安全性协议](https://zh.wikipedia.org/wiki/%E5%82%B3%E8%BC%B8%E5%B1%A4%E5%AE%89%E5%85%A8%E6%80%A7%E5%8D%94%E5%AE%9A) - + [AES算法](https://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653191726&idx=1&sn=c7856fe211471d01e9afdfea4a7f6b87&chksm=8c990cf4bbee85e28bb2ea63cb1f767dee4702ca8b9ef23db3467558a4b27ff5b6c1893c8771&scene=21#wechat_redirect) - + [SHA系列算法](https://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653191642&idx=1&sn=47c6340a6664af2f62e6c580528ea6f6&chksm=8c990f00bbee861698daa51b0622e581b3279c0759a16330fe538de745cb6abed8288b0bd778&scene=21#wechat_redirect) - + [MD5算法](https://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653191503&idx=1&sn=b18bd0458bf884bcb5d01f1cf2ca8301&chksm=8c990f95bbee8683fcfa9e972fd887cb1e50328ab4d8bd1f6a68ea90de6c67f46e50847e36fb&scene=21#wechat_redirect) - + [如何破解MD5算法](https://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653191598&idx=1&sn=13ef6b99b8a9a25f18b839df13cd6e31&chksm=8c990f74bbee866249af65e56a73f74b90a85b8497b9eea097f813a0b398a44fe0b8320967cd&scene=21#wechat_redirect) - + [Base64算法](https://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653191459&idx=1&sn=6e7d82dabe9c4a26b55f86f502edac03&chksm=8c990ff9bbee86ef7d6eee8a92430ff529b57e2f8720d439b7a4fb83b9ba75cd91395509a239&scene=21#wechat_redirect) +#### 集线器、交换机和路由器 + ++ [路由器和交换机的不同之处有哪些?](https://www.zhihu.com/question/20465477) ++ [如何跟小白解释路由器和交换机的区别?](https://www.zhihu.com/question/22007235) ++ [集线器和交换机的区别?](https://www.zhihu.com/question/21782368) + +#### 全双工、半双工和单工 + ++ [串口通讯的单工、半双工和全双工的定义、区别及应用](https://blog.csdn.net/hai673580326/article/details/37819611) + +#### CDN ==>> 推荐阅读《深入分析Java Web技术内幕 修订版》相应章节 + ++ [知乎:CDN是什么?使用CDN有什么优势?](https://www.zhihu.com/question/36514327?rf=37353035) + +#### Cookie与Session ==>> 推荐阅读《深入分析Java Web技术内幕》相应章节 + ++ [知乎:Cookie和Session有什么区别?](https://www.zhihu.com/question/19786827) + +#### 加解密算法 + ++ [AES算法](https://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653191726&idx=1&sn=c7856fe211471d01e9afdfea4a7f6b87&chksm=8c990cf4bbee85e28bb2ea63cb1f767dee4702ca8b9ef23db3467558a4b27ff5b6c1893c8771&scene=21#wechat_redirect) ++ [SHA系列算法](https://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653191642&idx=1&sn=47c6340a6664af2f62e6c580528ea6f6&chksm=8c990f00bbee861698daa51b0622e581b3279c0759a16330fe538de745cb6abed8288b0bd778&scene=21#wechat_redirect) ++ [MD5算法](https://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653191503&idx=1&sn=b18bd0458bf884bcb5d01f1cf2ca8301&chksm=8c990f95bbee8683fcfa9e972fd887cb1e50328ab4d8bd1f6a68ea90de6c67f46e50847e36fb&scene=21#wechat_redirect) ++ [如何破解MD5算法](https://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653191598&idx=1&sn=13ef6b99b8a9a25f18b839df13cd6e31&chksm=8c990f74bbee866249af65e56a73f74b90a85b8497b9eea097f813a0b398a44fe0b8320967cd&scene=21#wechat_redirect) ++ [Base64算法](https://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653191459&idx=1&sn=6e7d82dabe9c4a26b55f86f502edac03&chksm=8c990ff9bbee86ef7d6eee8a92430ff529b57e2f8720d439b7a4fb83b9ba75cd91395509a239&scene=21#wechat_redirect) diff --git "a/md/350円256円276円350円256円241円346円250円241円345円274円217円.md" "b/md/350円256円276円350円256円241円346円250円241円345円274円217円.md" index 32ab748..9074a95 100644 --- "a/md/350円256円276円350円256円241円346円250円241円345円274円217円.md" +++ "b/md/350円256円276円350円256円241円346円250円241円345円274円217円.md" @@ -1,3 +1,4 @@ # 八.设计模式(Design Patterns) -+ [六大设计原则](http://wiki.jikexueyuan.com/project/java-design-pattern-principle/) \ No newline at end of file ++ [设计模式合集](http://wiki.jikexueyuan.com/project/java-design-pattern-principle/) +