学习资料集合

边学习边整理,收集一些比较好的学习资料,有书、有网上的。

1、架构设计

1.1、微服务架构:

推荐《微服务架构设计模式》。关于微服务架构,网上的资料看了一些,目前还没发现能完全媲美该书的,暂时不做其他推荐和收藏。

1.2、设计模式:

推荐《设计模式(Java版)》

设计模式 -- 菜鸟教程:https://www.runoob.com/design-pattern/design-pattern-tutorial.html

 

1.3、serverless架构:

什么是Serverless无服务器架构?https://www.jdon.com/soa/serverless.html 

1.4、其他:

康威定律:https://www.cnblogs.com/still-smile/p/11646609.html

架构设计之CAP定理:https://www.cnblogs.com/mqlblog/p/11057988.html

墨菲定律百科:https://baike.baidu.com/item/%E5%A2%A8%E8%8F%B2%E5%AE%9A%E5%BE%8B/746284?fr=aladdin

墨菲定律(设计系统)和康威定律(系统划分):https://blog.csdn.net/mytobaby00/article/details/79840927

Reactor详解:https://blog.csdn.net/bingxuesiyang/article/details/89888664

2、数据结构与算法

2.1、数据结构:

推荐《数据结构》教材

2.2、算法:

推荐《算法导论》

leetcode

3、网络、操作系统、计算机组成原理

3.1、网络

3.1.1 网络基础

推荐 谢希仁《计算机网络》

推荐 翻译版《计算机网络 - 自顶向下方法》

3.1.2 TCP

TCP三次握手详解:https://blog.csdn.net/jun2016425/article/details/81506353

深入理解TCP(2)TCP的断开一定是四次挥手吗?https://blog.csdn.net/kkgbn/article/details/77859881

TCP的拥塞控制(详解):https://blog.csdn.net/qq_41431406/article/details/97926927

 

3.1.3、http/https/http2

HTTP教程 - 菜鸟教程:https://www.runoob.com/http/http-tutorial.html

深入浅出:HTTP/2:https://www.cnblogs.com/confach/p/10141273.html

HTTP/2 新特性总结:https://www.jianshu.com/p/67c541a421f9

HTTP和HTTPS协议,看一篇就够了:https://blog.csdn.net/xiaoming100001/article/details/81109617

SSL/TLS协议运行机制的概述:http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html

公钥、私钥、SSL/TLS、会话密钥、DES:https://www.cnblogs.com/thbCode/p/5829719.html 

3.1.4 websocket 

HTML5 WebSocket - 菜鸟教程:https://www.runoob.com/html/html5-websocket.html

3.2、操作系统

3.2.1 操作系统基础

推荐《计算机操作系统》

进程间通讯的7种方式:https://blog.csdn.net/zhaohong_bo/article/details/89552188

linux进程及进程间同步通信机制:https://blog.csdn.net/weixin_43778179/article/details/90346673

linux进程状态的转换:https://blog.csdn.net/jinkang_zhao/article/details/71367924

 

3.2.2 linux

linux常用命令详解:https://www.cnblogs.com/yuncong/p/10247583.html

top命令 详解: https://www.cnblogs.com/mushang1hao/p/10767062.html

Linux运维常见故障排查和处理的33个技巧汇总:https://www.cnblogs.com/passzhang/p/8502812.html

fork之后父子进程的内存关系:https://blog.csdn.net/shreck66/article/details/47039937/

 

3.2.3 高性能

Epoll的本质(内部实现原理):https://blog.csdn.net/songchuwang1868/article/details/89877739

深度分析mmap:是什么 为什么 怎么用 性能总结:https://blog.csdn.net/qq_33611327/article/details/81738195

【深入浅出Linux】零拷贝技术sendfile:https://www.jianshu.com/p/028cf0008ca5

简述同步IO、异步IO、阻塞IO、非阻塞IO之间的联系与区别:https://www.cnblogs.com/felixzh/p/10345929.html
 

3.3、计算机组成原理

推荐《计算机组成原理》

4、开发语言

4.1、java

4.1.1 基础

入门推荐,Java教程 - 菜鸟教程:https://www.runoob.com/java/java-tutorial.html

推荐《Thinking in Java》  

Java关键字与底层原理-static关键字:https://www.jianshu.com/p/92327e300a6e

Java内部类详解:https://www.cnblogs.com/dolphin0520/p/3811445.html

JAVA中final关键字的作用:https://www.cnblogs.com/chhyan-dream/p/10685878.html

4.1.2 jvm

强烈推荐《深入理解Java虚拟机-JVM高级特性与最佳实践》

一文搞懂JVM内存结构:https://blog.csdn.net/rongtaoup/article/details/89142396

JVM的垃圾回收机制 总结(垃圾收集、回收算法、垃圾回收器):https://www.cnblogs.com/aspirant/p/8662690.html

Java内存模型 JMM和底层实现原理:https://www.jianshu.com/p/8a58d8335270

Jvm垃圾回收器(终结篇):https://www.cnblogs.com/chenpt/p/9803298.html

4.1.3 多线程 

啃碎并发编程: https://www.jianshu.com/nb/21767160

Java 多线程编程 - 菜鸟教程:https://www.runoob.com/java/java-multithreading.html

Java中Synchronized的用法:https://www.cnblogs.com/fnlingnzb-learner/p/10335662.html 

啃碎并发(七):深入分析Synchronized原理:https://www.jianshu.com/p/e62fa839aa41

java.util.Concurrent包下面的常见类:https://blog.csdn.net/mingmingzhanghao1/article/details/82215947

Java基础之ConcurrentHashMap(jdk1.7及以前):https://www.jianshu.com/p/d0b37b927c48

ConcurrentHashMap 原理解析(JDK1.8):https://www.jianshu.com/p/d10256f0ebea

Java volatile关键字最全总结:原理剖析与实例讲解(简单易懂):https://blog.csdn.net/u012723673/article/details/80682208

就是要你懂Java中volatile关键字实现原理:https://www.cnblogs.com/xrq730/p/7048693.html

【Java线程】volatile的适用场景:https://blog.csdn.net/vking_wang/article/details/9982709

  

JAVA CAS实现原理与使用:https://blog.csdn.net/u011506543/article/details/82392338

 

JMM和底层实现原理:https://www.jianshu.com/p/8a58d8335270

 

ThreadLocal实现原理揭秘:https://www.jianshu.com/p/88d94be8d946

ThreadLocal原理及内存泄露预防:https://blog.csdn.net/puppylpg/article/details/80433271

 

Java并发编程锁系列之ReentrantLock对象总结:https://baijiahao.baidu.com/s?id=1663093400401423777&wfr=spider&for=pc

一文彻底理解ReentrantLock可重入锁的使用:https://baijiahao.baidu.com/s?id=1648624077736116382&wfr=spider&for=pc

AbstractQueuedSynchronizer超详细原理解析:https://segmentfault.com/a/1190000017871341

4.1.4 nio(non-blocking io / new io)

Java NIO系列教程(一) Java NIO 概述:http://ifeve.com/overview/

Java NIO系列教程(十二) Java NIO与IO:http://ifeve.com/java-nio-vs-io/

浅谈NIO与零拷贝:https://blog.csdn.net/localhost01/article/details/83422888

零拷贝:https://www.jianshu.com/p/275602182f39

sendfile“零拷贝”、mmap内存映射、DMA:https://www.jianshu.com/p/7863667d5fa7

 

4.1.5 jdk9

JDK各个版本的新特性:https://www.cnblogs.com/ulong/p/10212823.html

JDK1.7 使用AutoCloseable 实现自动关闭资源:https://www.cnblogs.com/756623607-zhang/p/9216091.html

4.1.6 反射、ClassLoader、字节码

Java高级特性——反射:https://www.jianshu.com/p/9be58ee20dee

Java-利用反射访问类的私有(private)属性及方法&private的意义:https://blog.csdn.net/u010164936/article/details/87922082

Java字节码增强探秘:https://zhuanlan.zhihu.com/p/81965927?from_voters_page=true

【JVM】深度分析Java的ClassLoader机制(源码级别):https://www.cnblogs.com/z00377750/p/9175549.html

4.2、php

4.2.1 基础

php入门推荐,PHP教程 - 菜鸟教程:https://www.runoob.com/php/php-tutorial.html

4.2.2 新版本特性

php7和PHP5对比的新特性和性能优化:https://blog.csdn.net/fish_study_csdn/article/details/80407755 

 

5、数据库

5.1、数据库设计

数据库设计三大范式:https://www.cnblogs.com/linjiqin/archive/2012/04/01/2428695.html 

 

5.2、mysql

5.2.1 mysql架构

MySQL 架构及优化原理 详解:https://blog.csdn.net/chenshun123/article/details/79677037

5.2.2 mysql索引

MySQL索引:https://www.cnblogs.com/fengqiang626/archive/2019/09/04/11459434.html

5.2.3 mysql explain

MySQL Explain详解:https://www.cnblogs.com/tufujie/p/9413852.html 

5.2.4 mysql性能优化

Mysql性能优化一:https://www.cnblogs.com/jiekzou/p/5371085.html

Mysql性能优化二:https://www.cnblogs.com/jiekzou/p/5380073.html

5.2.5 mysql主从

MySQL主备、主从、读写分离详解:https://blog.csdn.net/qq_40378034/article/details/91125768

5.2.6 mysql事务

mysql 事务的实现原理:https://www.cnblogs.com/wyc1994666/p/11367051.html

Mysql中MVCC的使用及原理详解:https://blog.csdn.net/w2064004678/article/details/83012387

5.2.7mysql常用引擎

MySQL常见数据库引擎及比较:https://www.cnblogs.com/li1992/articles/9217320.html

MySQL InnoDB存储引擎大观:https://www.jianshu.com/p/d4cc0ea9d097

《Mysql技术内幕 -- InnoDB存储引擎》

5.2.8 mysql缓存 

mysql 缓存机制:https://blog.csdn.net/qzqanzc/article/details/80418125

5.2.9 mysql分区表

Mysql 分区表-分区操作:https://www.cnblogs.com/xibuhaohao/p/10154281.html

MySQL 分区表原理及使用详解:https://blog.csdn.net/hxpjava1/article/details/78254288

5.2.10 InnoDB数据存储结构 

MYSQL INNODB数据存储结构:https://blog.csdn.net/bohu83/article/details/81086474

 

6、开源软件:

6.1、kafka:

Kafka史上最详细原理总结:https://www.cnblogs.com/cxxjohnson/p/8921661.html

浅谈Kafka选举机制:https://blog.csdn.net/qq_37142346/article/details/91349100

Kafka消费组(consumer group):https://www.cnblogs.com/huxi2b/p/6223228.html

6.2、zookeeper:

Zookeeper 3、Zookeeper工作原理(详细):https://www.cnblogs.com/raphael5200/p/5285583.html

Zookeeper学习之路 (一)初识:https://www.cnblogs.com/qingyunzong/p/8618965.html

ZooKeeper学习之路 (八)ZooKeeper原理解析:https://www.cnblogs.com/qingyunzong/p/8632995.html

 

6.3、elasticsearch:

ElasticSearch底层原理浅析:https://blog.csdn.net/zkyfcx/article/details/79998197 

Elasticsearch实现原理分析:https://blog.csdn.net/tianyeshiye/article/details/80863343

Elasticsearch 节点选举、分片及 Recovery:https://www.v2ex.com/t/652785

6.4、分布式一致性算法:

图解分布式一致性协议Paxos:https://www.cnblogs.com/hugb/p/8955505.html

分布式一致性协议:Raft算法详解:https://blog.csdn.net/qq_37142346/article/details/90523387

Zookeeper 一致性协议:Zab协议:https://www.jianshu.com/p/2bceacd60b8a

图解Gossip:可能是最有趣的一致性协议:https://www.jianshu.com/p/54eab117e6ae

Bully Algorithm(霸道选举算法):https://blog.csdn.net/universe_ant/article/details/100017794

6.5、redis:

Redis 教程 - 菜鸟教程:https://www.runoob.com/redis/redis-tutorial.html

Redis 数据类型 - 菜鸟教程:https://www.runoob.com/redis/redis-data-types.html

Redis(三)--- Redis的五大数据类型的底层实现:https://www.cnblogs.com/MouseDong/p/11134039.html 

redis zset 内部的实现原理:https://blog.csdn.net/weixin_38008100/article/details/94629753

一致性哈希算法原理:https://www.cnblogs.com/williamjie/p/9477852.html

Redis 内存回收策略和key失效机制:https://juejin.im/post/6844904194751594510

 

Redis详解(1)--原理和机制:https://blog.csdn.net/hguisu/article/details/90748695  

Redis详解(2)内存使用与管理:https://blog.csdn.net/hguisu/article/details/90748825

Redis详解(3)数据持久化机制:https://blog.csdn.net/hguisu/article/details/90748916

redis cluster(5)- redis集群原理:https://blog.csdn.net/hguisu/article/details/82979320

redis cluster(6)- redis集群应用和问题总结:https://blog.csdn.net/hguisu/article/details/82980084

Redis详解(7)性能监控:问题分析和优化:https://blog.csdn.net/hguisu/article/details/90763207

Redis集群搭建及选举原理:https://www.cnblogs.com/nijunyang/p/12508098.html

6.6、hadoop:

Hadoop分布式系统架构详解: https://blog.csdn.net/zl834205311/article/details/80334346

Hadoop工作原理浅析:https://blog.csdn.net/qq_16681169/article/details/86669454

【Hadoop集群】-hadoop运行原理解析:https://blog.csdn.net/zhang_xinxiu/article/details/86985112

Hadoop——常见优化: https://blog.csdn.net/qq_30281559/article/details/89811543

hadoop:Secondary NameNode 它究竟有什么作用?https://blog.csdn.net/weixin_38750084/article/details/82856211

Hadoop容错机制:https://blog.csdn.net/kaede1209/article/details/82012555

Hadoop 学习系列(三)之 YARN 详细解析:https://www.jianshu.com/p/f50e85bdb9ce

Hadoop YARN的容错性:https://blog.csdn.net/afm22523/article/details/102109842

Hadoop YARN容错机制:https://www.shangmayuan.com/a/5a091fc878524a48adde869a.html 

 

6.7、asm:

Java中ASM框架详解:https://www.cnblogs.com/zt007/p/6377789.html

ASM4手册中文版 PDF 下载:http://www.java1234.com/a/javabook/javabase/2020/0408/16198.html

6.8、web容器:

6.8.1 nginx

nginx系列之一:nginx入门  https://blog.csdn.net/qq_29677867/article/details/90112120

nginx基本原理介绍:https://blog.csdn.net/wangbiao007/article/details/82910709

【Nginx】实现负载均衡的几种方式:https://www.cnblogs.com/alterem/p/11490367.html

Nginx 反向代理与负载均衡详解:https://www.runoob.com/w3cnote/nginx-proxy-balancing.html

6.8.2 tomcat

Tomcat 架构分析(一) 体系结构:https://www.imooc.com/article/21732?block_id=tuijian_wz 

Tomcat 架构分析(二) ClassLoader详解:https://www.imooc.com/article/21783

6.8.3 springboot

Spring Boot -01- 快速入门篇(图文教程):https://blog.csdn.net/qq_40147863/article/details/84194493 

6.8.4 apache httpd

学习 Apache httpd 原理与配置: https://blog.csdn.net/xiao_mao_xiao_yu/article/details/80296309

 

6.9、spring:

Spring框架学习——Spring的体系结构详解https://www.cnblogs.com/jpwz/p/10556012.html

Spring核心原理:https://www.cnblogs.com/benbencyb/p/11747756.html

6.10、thinkphp:

ThinkPHP主要优势:http://www.thinkphp.cn/topic/34244.html

ThinkPHP3.2.3 快速入门: https://www.kancloud.cn/thinkphp/thinkphp_quickstart/2138

ThinkPHP6.0完全开发手册:https://www.kancloud.cn/manual/thinkphp6_0/1037479

TP3.2系统升级到5.1的教程:http://www.thinkphp.cn/topic/64201.html

6.11、docker:

Docker:架构分解:https://www.cnblogs.com/zuxing/articles/8717415.html

Docker的优缺点https://www.cnblogs.com/fuhuabeihou/p/11534670.html

Docker 核心技术与实现原理:http://dockone.io/article/2941

 

6.12、kubernetes:

kubernetes-整体概述和架构:https://blog.csdn.net/u014042372/article/details/80573213 

ETCD 简介 + 使用:https://blog.csdn.net/bbwangj/article/details/82584988

 

6.13、mybatis:

 

 

6.14、spring jdbc:

 

 

6.15、spring mvc:

 

7、PPT

推荐《秋叶ppt教程》

原文地址:https://www.cnblogs.com/oceanking/p/13589768.html