");
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ doPost(request,response);
+ }
+}
+```
+
+- 显示购物车中信息
+
+```java
+
+
+
继续购物
+
清空购物车
+
+
+
订单详情
+
+
+
+ | 商品 |
+ 数量 |
+
+ <% + HashMap map = (HashMap)request.getSession().getAttribute("cart");
+ if(map==null){
+ out.print("| 亲,购物车空空,先去逛逛~~ |
");
+ }else{
+ for(String name : map.keySet()){
+ out.print("");
+
+ out.print("| ");
+ out.print(name);
+ out.print(" | ");
+ out.print("");
+ out.print(map.get(name));
+ out.print(" | ");
+
+ out.print("
");
+ }
+ }
+ %>
+
+
+
+
+
+
+```
+
+- 核心代码2:清空购物车
+
+```java
+public class ClearCartServlet extends HttpServlet {
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ request.getSession().invalidate();
+
+ response.sendRedirect(request.getContextPath()+"/cart.jsp");
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ doPost(request,response);
+ }
+}
+```
+
+- [Coookie和Session案例的完整代码](https://github.com/DuHouAn/Java/tree/master/JavaWeb/Category)
+
+## 实现会话跟踪的技术
+
+- **Cookie**
+
+向客户端发送Cookie :
+
+```java
+Cookie c =new Cookie("name","value"); //创建Cookie
+c.setMaxAge(60*60*24); //设置最大时效,此处设置的最大时效为一天
+response.addCookie(c); //把Cookie放入到HTTP响应中
+```
+
+从客户端读取Cookie :
+
+```java
+String name ="name";
+Cookie[]cookies =request.getCookies();
+if(cookies !=null){
+ for(int i= 0;i
+```
+
+优点: Cookie被禁时可以使用
+
+缺点: 所有页面必须是表单提交之后的结果。
+
+- **session**
+
+当一个用户第一次访问某个网站时会自动创建 HttpSession,**每个用户可以访问他自己的HttpSession**。
+
+可以通过HttpServletRequest对象的getSession方法获得HttpSession。
+通过HttpSession的setAttribute方法可以将一个值放在HttpSession中,
+通过调用 HttpSession对象的getAttribute方法,同时传入属性名就可以获取保存在HttpSession中的对象。
+
+与上面三种方式不同的是,**HttpSession放在服务器的内存中**,因此不要将过大的对象放在里面。
+即使目前的Servlet容器可以在内存将满时将 HttpSession 中的对象移到其他存储设备中,但是这样势必影响性能。
+添加到 HttpSession 中的值可以是任意Java对象,这个对象最好实现了 Serializable接口,
+这样Servlet容器在必要的时候可以将其序列化到文件中,否则在序列化时就会出现异常。
+
+# 三、Cookie 和 Session 区别
+
+- HTTP协议是**无状态的协议**,服务端需要记录用户的状态,就需要用某种机制来**识别具体的用户**,这个机制就是Session。
+ Session典型的应用场景就是购物车,当点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,
+ 所以服务端要为特定的用户创建了特定的Session,用于**标识这个用户,并且跟踪用户**,这样才知道购物车里面的商品情况。
+ 这个Session是保存在服务端的,有一个唯一标识。在服务端保存Session的方法很多,内存、数据库、文件都有。
+ 集群的时候也要考虑Session的转移,在大型的网站,一般会有专门的Session服务器集群,
+ 用来保存用户会话,这个时候 Session 信息都是放在内存的,此外,一些缓存服务比如Memcached之类的来放 Session。
+- 服务端使用Cookie来识别特定的客户。每次HTTP请求的时候,客户端都会发送相应的Cookie信息到服务端。
+ 实际上大多数的应用都是用 Cookie 来实现Session跟踪的,
+ 第一次创建Session的时候,服务端会在HTTP协议中告诉客户端,需要在 Cookie 里面记录一个session id,
+ 以后每次请求把这个 session id发送到服务器,这样就可以使用对应的Seesion了。
+ 如果客户端的浏览器禁用了 Cookie 怎么办?
+ 一般这种情况下,会使用一种叫做**URL重写的技术**来进行**会话跟踪**,
+ 即每次HTTP交互,URL后面都会被附加上一个诸如 sid=xxxxx 这样的参数,服务端据此来识别用户。
+- Cookie其实还可以用在一些方便用户的场景下,
+ 设想你某次登陆过一个网站,下次登录的时候不想再次输入账号了,怎么办?
+ 这个信息可以写到Cookie里面,访问网站的时候,
+ 网站页面的脚本可以读取这个信息,就自动帮你把用户名给填了,
+ 能够方便一下用户。这也是Cookie名称的由来,给用户的一点甜头。
+
+总结:
+
+- Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中。
+- Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。
+
+# 四、Token
+
+## 服务器验证方式存在的一些问题
+
+- 内存开销
+
+ 每次认证用户发起请求时,服务器需要去创建一个记录来存储信息。当越来越多的用户发请求时,内存的开销也会不断增加。
+
+- CSRF,跨站请求伪造
+
+ 进行 Session 认证的时候,我们一般使用 Cookie 来存储 sessionId,当我们登陆后后端生成一个 sessionId 放在 Cookie 中返回给客户端,服务端通过 Redis 或者其他存储工具记录保存着这个 sessionId,客户端登录以后每次请求都会带上这个 sessionId,服务端通过这个 sessionId 来标识用户。如果别人通过 Cookie 拿到了 sessionId 后就可以代替该用户访问系统了。
+
+- 可扩展性
+
+ 由于sessions 存放在服务器内存中,伴随而来的是可扩展性问题。当我们想要增加服务器来解决负载问题时,session 里的关键性信息会限制我们的扩展。
+
+## 基于 Token 的验证原理
+
+基于 Token 的身份验证是**无状态的**,我们不用将用户信息存在服务器或 Session 中。没有 session 信息意味着你的程序可以根据需要去增减机器,而不用去担心用户是否登录和已经登录到了哪里。客户端每次请求都需要 Token。**Token 应该在 HTTP 的头部发送从而保证了 HTTP 请求无状态**。我们也需要设置服务器属性:
+
+```html
+Access-Control-Allow-Origin: *
+```
+
+来让服务器能接受来是所有域的请求。
+
+具体实现思路:
+
+- 客户端使用用户名跟密码请求登录
+- 服务端收到请求,去验证用户名与密码
+- 验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端
+- 客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里
+- 客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
+- 服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据
+
+## Tokens 的优势
+
+- 无状态、可扩展
+
+ 在客户端存储的 Token 是无状态的,并且能够被扩展。基于这种无状态和不存储 Session 信息,负载均衡服务器能够将用户的请求传递到任何一台服务器上,因为服务器与用户信息没有关联。相反在传统方式中,我们必须将请求发送到一台存储了该用户 Session 的服务器上(称为 Session 亲和性),因此当用户量大时,可能会造成 一些拥堵,使用 Token 完美解决了此问题。
+
+- 安全性
+
+ 请求中发送 Token 而不是 Cookie,这能够防止 CSRF(跨站请求伪造)攻击。即使在客户端使用 Cookie 存储 Token,Cookie 也仅仅是一个存储机制而不是用于认证。
+
+- 可扩展性
+
+ 使用 Tokens 能够与其它应用共享权限。例如,能将一个博客帐号和自己的 QQ 号关联起来。当通过一个第三方平台登录 QQ 时,我们可以将一个博客发到 QQ 平台中。使用 Token,可以给第三方应用程序提供自定义的权限限制。当用户想让一个第三方应用程序访问它们的数据时,我们可以通过建立自己的 API,给出具有特殊权限的 Tokens。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+可扩展性:
+CORS (跨域资源共享):当我们扩展应用程序,让数据能够从不同设备上访问时,跨域资源的共享会是一个让人头疼的问题。在使用 Ajax 抓取另一个域的资源时(移动端访问我们的 API 服务器),可能会出现禁止请求的情况。
+:用户在访问银行网站时,他们很容易受到跨站请求伪造的攻击,并且能够被利用其访问其他的网站。
+在这些问题中,可扩展性是最突出的。因此我们有必要去寻求一种更有行之有效的方法。
+————————————————
+版权声明:本文为CSDN博主「wnvalentin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
+原文链接:https://blog.csdn.net/wnvalentin/article/details/89854980
+
diff --git "a/docs/Safety/345円270円270円350円247円201円346円224円273円345円207円273円346円212円200円346円234円257円345円217円212円351円230円262円345円276円241円.md" "b/docs/Safety/345円270円270円350円247円201円346円224円273円345円207円273円346円212円200円346円234円257円345円217円212円351円230円262円345円276円241円.md"
new file mode 100644
index 00000000..c63adaf0
--- /dev/null
+++ "b/docs/Safety/345円270円270円350円247円201円346円224円273円345円207円273円346円212円200円346円234円257円345円217円212円351円230円262円345円276円241円.md"
@@ -0,0 +1,319 @@
+# 一、跨站脚本攻击(XSS)
+
+## 概念
+
+跨站脚本攻击(Cross-Site Scripting, XSS),可以将代码注入到用户浏览的网页上,这种代码包括 HTML 和 JavaScript。
+
+
+
+## 攻击原理
+
+
+
+
+
+## 危害
+
+- 偷取网站任意数据
+- 偷取用户资料
+- 劫持前端逻辑
+- 显示伪造的文章或者图片
+
+
+
+## 攻击分类
+
+### 1. 反射型
+
+反射型指的是 url 参数直接注入。比如:在浏览器地址栏中
+
+```html
+localhost:1521?from=Bai
+```
+
+
+
+### 2. 存储型
+
+存储到数据库后读取时注入。
+
+一个攻击者在论坛的楼层中包含了一段 JavaScript 代码,并且服务器没有正确进行过滤,那就会造在浏览这个页面时会执行这段 JavaScript 代码。
+
+
+
+## XSS 攻击注入点
+
+### 1. HTML 节点内容
+
+```html
+
+ #{content}
+
+```
+
+注入点:
+
+```html
+
+
+
+```
+
+### 2. HTML 属性
+
+```html
+
+```
+
+注入点:
+
+```html
+
+```
+
+其中 1" onerror="alert(1) 就是 #{image} 。这里可看出 `
![]()
`多了一个属性 onerror。
+
+### 3. JavaScript 代码
+
+```html
+
+```
+
+注入点:
+
+```html
+
+```
+
+其中 hello";alert(1);" 就是 #{data}。这里可看出实际上是即为 data 赋值,也进行了 alert 操作。
+
+### 4. 富文本
+
+富文本需要保留 HTML,但 HTML 存在 XSS 攻击风险。
+
+
+
+## 防御
+
+### 浏览器自带防御
+
+使用浏览器自带防御可防御一些 XSS。但是存在一些不足:
+
+- 只能对参数出现在 HMTL 内容或属性的反射型 XSS 进行防御
+- 并不是所有浏览器都支持对 XSS 的防御
+
+### HTML 内容
+
+```html
+
+
+
+```
+
+解决:
+
+- 将 `<` 转义为 `<` +- 将 `>` 转义为 `>`
+
+转义后:
+
+```html
+<div>
+ <script>
+ </script>
+</div>
+```
+
+### HTML 属性
+
+```html
+
+```
+
+解决:
+
+- 将 `"`转义为 `&quto;`
+- 将 `'`转义为 `'`
+- 将空格转义为 ` `
+
+转义后:
+
+```html
+
+```
+
+### JavaScript 代码
+
+```java
+
+```
+
+解决:
+
+- 将 `"`转义为 `\"`
+- 将 `\`转义为 `\\`
+- 或者转化为 json
+
+转义后:
+
+```html
+
+```
+
+### 富文本
+
+[按**白名单**保留部分标签和属性。](https://github.com/leizongmin/js-xss/blob/master/README.zh.md)
+
+### CSP
+
+[CSP](https://blog.csdn.net/Fly_hps/article/details/86466367) 即内容安全策略(Content Security Policy):用于指定哪些内容可执行。
+
+
+
+
+
+# 二、跨站请求伪造(CSRF)
+
+## 概念
+
+跨站请求伪造(Cross-site request forgery,CSRF),是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并执行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品)。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去执行。
+
+XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户浏览器的信任。
+
+
+
+## 攻击原理
+
+
+
+- 用户登录 A 网站
+- A 网站确认身份
+- B 网站页面向 A 网站发起请求(带 A 网站身份)
+ - B 网站向 A 网站请求,带 A 网站 Cookies
+ - 不访问 A 网站前端
+ - referer 为 B 网站
+
+
+
+## 危害
+
+- 利用用户登录态
+- 用户不知情
+- 完成业务请求
+
+
+
+## 防御
+
+### 带 A 网站 Cookies
+
+利用 Cookie 中新增**属性 same-site**,禁止第三方网站带 Cookies。但是这样适配性比较差,目前只有 Chrome 支持。
+
+### 不访问 A 网站前端
+
+在前端页面加入验证消息,有 2 种方式:
+
+- **验证码**
+
+ 因为 CSRF 攻击是在用户无意识的情况下发生的,所以要求用户输入验证码可以让用户知道自己正在做的操作。
+
+- **token**
+
+ 例如服务器生成随机数并附加在表单中,并要求客户端传回这个随机数。
+
+### referer 为 B 网站
+
+**验证 referer**。判断请求的来源是否合法。
+
+
+
+# 三、SQL 注入
+
+## 概念
+
+服务器上的数据库运行非法的 SQL 语句,主要通过拼接来完成。
+
+## 攻击原理
+
+例如一个网站登录验证的 SQL 查询代码为:
+
+```sql
+SELECT * FROM users WHERE (name = '${userName}') and (pw = '${passWord}');
+```
+
+如果填入以下内容:
+
+```sql
+userName = 1' OR '1'='1
+passWord = 1' OR '1'='1
+```
+
+那么 SQL 查询字符串为:
+
+```sql
+SELECT * FROM users WHERE (name = '1' OR '1'='1') and (pw = '1' OR '1'='1');
+```
+
+此时无需验证通过就能执行以下查询:
+
+```sql
+SELECT * FROM users;
+```
+
+## 危害
+
+- 猜解密码
+- 获取数据
+- 删库删表
+- 拖库
+
+## 防御
+
+- 关闭错误输出(只能在一定程度上增加 SQL 注入的难度,并不能解决 SQL 注入问题)
+- 检查数据类型
+- 对数据进行转义
+- 使用**参数化查询**(推荐使用)
+- 使用 [ORM](https://www.cnblogs.com/best/p/9711215.html#_label0)(对象关系映射)
+
+
+
+# 四、DoS 攻击
+
+## 概念
+
+拒绝服务攻击(denial-of-service attack,DoS),亦称洪水攻击,模拟正常用户使目标电脑的网络或系统资源耗尽,使服务暂时中断或停止,导致正常用户无法访问。
+
+## 类型
+
+- TCP 半连接
+- HTTP 连接
+- DNS
+
+## DDoS
+
+分布式拒绝服务攻击(distributed denial-of-service attack,DDoS),指攻击者使用两个或以上被攻陷的电脑作为"僵尸"向特定的目标发动"拒绝服务"式攻击。
+
+## 防御
+
+- 防火墙
+- 交换机、路由器
+- 流量清洗
+- 高仿 IP
+
+## 预防
+
+- 避免重逻辑业务
+- 快速失败快速返回
+- 防雪崩机制
+- 有损服务
+- CDN
\ No newline at end of file
diff --git "a/docs/Spring/1_Spring346円246円202円350円277円260円.md" "b/docs/Spring/1_Spring346円246円202円350円277円260円.md"
new file mode 100644
index 00000000..56b6d066
--- /dev/null
+++ "b/docs/Spring/1_Spring346円246円202円350円277円260円.md"
@@ -0,0 +1,187 @@
+# Spring 概述
+
+## Spring 的特性
+
+Spring 基于 J2EE 技术实现了一套**轻量级**的 Java Web Service 系统应用框架,旨在提高开发人员的开发效率以及系统的可维护性。Spring 的特性包括:
+
+- 轻量级
+
+ 从 Jar 包的大小上来说,核心 Jar 包 `spring-web-5.2.0.RELEASE.jar`和 `spring-core-5.2.0.RELEASE.jar`均为 1.4 M 左右;
+
+ 从系统的资源使用上来说,Spring 运行期间只需要少量的操作系统资源(内存和 CPU)便能稳定运行。
+
+- 面向容器
+
+ Spring 实现了对象的配置化生成和对象的生命周期管理,所以是面向容器的。
+
+- 控制反转
+
+- 面向切面
+
+- 框架灵活
+
+## Spring 的模块
+
+Spring 为企业应用程序提供一站式服务。Spring 模块提供的常用模块有核心容器层(Core Container)、数据访问层(Data Access)、Web 应用层(Web Access)。
+
+### 核心容器层
+
+核心容器层包括 Spring-Beans、Spring-Core、Spring-Context 等模块。
+
+- Spring-Beans
+
+ 基于工厂模式实现对象的创建。Spring-Beans 通过 xml 配置文件实现了声明式的对象管理,将对象之间复杂的依赖关系从实际编码逻辑中解耦出来。
+
+- Spring-Core
+
+ Spring 的核心功能实现,提供 IoC 依赖注入功能的支持。
+
+- Spring-Context
+
+ 在 Spring-Beans 和 Spring-Core 模块的基础上构建起来的。Spring-Context 模块继承自 Spring-Beans 模块,并且添加了国际化、事件传播、资源加载和透明地创建上下文等功能。
+
+### 数据访问层
+
+数据访问层包括:JDBC、ORM、OXM、JMS 和 TX 模块。
+
+- JDBC (Java Data Base Connectivity)
+
+ 提供了对数据库访问的抽象 JDBC。不同的数据库都有自己独立的 API 用于操作数据库,而 Java 程序只需要和 JDBC API 交互,这样就屏蔽了数据库的影响。
+
+- ORM (Object Relational Mapping)
+
+ 提供对 Hibernate 等 ORM 框架的支持。
+
+- OXM (Object XML Mapping)
+
+ 提供对 Castor 等 OXM 框架的支持。
+
+- JMS (Java Message Service)
+
+ JMS 模块包括消息的生产和消费功能。从 Spring 4.1 开始,Spring 集成了 Spring-Messaging 模块,用于实现对消息队列的支持。
+
+- TX
+
+ 提供对事务的支持。
+
+### Web 应用层
+
+Web 应用层主要包括 Web 交互和数据传输等相关功能,包括 Web、Web-MVC、Web-Socket 和 Web-Flux。
+
+- Web
+
+ 提供了面向 Web 应用的基本功能。
+
+- Web-MVC
+
+ 提供对 Spring MVC 的实现。
+
+- Web-Socket
+
+ 提供了对 WebSocket 的支持,WebSocket 可以让客户端和服务端进行双向通信。
+
+- Web-Flux
+
+ 提供对 WebFlux 的支持。
+
+ 目前最新的 5.x 版本中 Web 模块的 Portlet 组件已经被废弃掉,同时增加了用于异步响应式处理的 WebFlux 组件。
+
+### 其他重要模块
+
+- Spring AOP
+
+ 提供了面向切面的编程实现,允许应用程序通过定义方法拦截器和切入点来实现系统功能和业务功能之间的解耦。
+
+- Spring Aspects
+
+ 提供了 Spring 与 AspectJ 的集成,是一个面向切面编程的模块。
+
+## Spring 的注解
+
+### @Contoller
+
+SpringMVC 中,控制器 Controller 负责处理 DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个 Model,然后再把该 Model 返回给对应的 View 进行展示。
+
+SpringMVC 提供了一个非常简便的定义 Controller 的方法,无需继承特定的类或者接口,只需使用 @Controller 标记一个类是 Contoller。
+
+### @RequestMapping
+
+使用 @RequestMapping 来映射 URL 到 Controller,或者到 Controller 的处理方法上。method 的值一旦指定,则处理方法只对指定的 HTTP method 类型请求处理。
+
+可以为多个方法映射相同的 URL 和不同的 HTTP method 类型,Spring MVC 根据请求的 method 类型是可以区分开这些方法的。
+
+### @RequestParam & @PathVariable
+
+在 SpringMVC 中,两者的作用都是将 request 里的参数值绑定到 Controller 里的方法参数中,区别在于 URL 的写法不同。
+
+- 使用 @RequestParam 时,URL 是这样的:
+
+```html
+http://host:port/path?参数名=参数值
+```
+
+- 使用 @PathVariable 时,URL 是这样的:
+
+```html
+http://host:port/path/参数值
+```
+
+### @ResponseBody
+
+该注解用于将 Controller 中方法返回的对象,通过适当的 HttpMessageConverter 转换为指定的格式后,写入到 Response 对象的 bodys 数据区。
+
+### @Service & @Controller & @Repository & @Component
+
+ @Service、 @Contrller、 @Repository 其实这 3 个注解和 @Component 是等效的,用在实现类上:
+
+- @Service 用于标注业务层组件
+- @Controller 用于标注控制层组件
+- @Repository 用于编著数据访问组件
+- @Component 泛指组件,当组件不好归类时,可以使用这个注解进行标注
+
+### @Value
+
+在 Spring 3.0 中,可以通过使用 @Value,对一些如 xxx.properties 文件中的文件,进行键值对的注入。
+
+### @Autowired
+
+@Autowired 可以对成员变量、成员方法和构造函数进行标注,来完成自动装配工作。
+
+### @Autowired & @Resource
+
+@Autowired 是 Spring 提供的注解,采用的策略是**按照类型**注入的:
+
+```java
+public class UserService{
+ @Autowired
+ userDao; // 在 Spring 容器中找到类型为 UserDao 的对象,将其注入
+}
+```
+
+存在问题:同一类型有多个 Bean,可以使用 @Qualifier 具体去装配哪个对象。
+
+```java
+public class UserService{
+ @Autowired
+ @Qualifier(name="userDao")
+ userDao; // 在 Spring 容器中找到类型为 UserDao,名称为 userDao 的对象,将其注入
+}
+```
+
+ @Resource 是 J2EE 提供的注解,默认是**按照名称**注入的:
+
+```java
+Service{
+ @Resource
+ userDao; // 自动按名称进行装配
+
+ @Resource(name="studentDao")
+ studentDao; // 按名称进行装配,找不到会抛出异常
+
+ @Resource(type="TeacherDao")
+ teacherDao; // 按类型进行装配,找不到或者找到多个都会抛出异常
+
+ @Resource(name="manDao",type="ManDao")
+ manDao;// 找唯一匹配的 Bean 进行装配,如果找不到则会抛出异常
+}
+```
diff --git "a/docs/Spring/2_SpringIoC345円216円237円347円220円206円.md" "b/docs/Spring/2_SpringIoC345円216円237円347円220円206円.md"
new file mode 100644
index 00000000..875edb55
--- /dev/null
+++ "b/docs/Spring/2_SpringIoC345円216円237円347円220円206円.md"
@@ -0,0 +1,421 @@
+# Spring IoC 原理
+
+## IoC (Inverse of Control)
+
+IOC,即控制反转(Inverse of Control)是一种**设计思想**,并不是一个具体的技术实现。
+
+- 控制:控制对象的创建及销毁(生命周期)。
+- 反转:将对象的控制权交给 IoC 容器。
+
+**所有类的创建、销毁都由 Spring 来控制,也就是说控制对象生命周期的不是引用它的对象,而是 Spring**。对于某个具体对象而言,以前是它控制其他对象,现在所有对象都被 Spring 控制。
+
+## 依赖注入 (Dependency Injection)
+
+依赖注入就是**将底层类作为参数传递给上层类,实现上层对下层的控制**,**依赖注入实现控制反转**。
+
+举例说明依赖注入:以生产行李箱为例。
+
+**传统设计思路**:先设计轮子,然后根据轮子 size 来设计底盘,再根据底盘来设计箱体,最后设计好行李箱。
+
+可这样表示:
+
+
+
+相应代码代码:
+
+
+
+size 是固定值,可以进行相应的改进:
+
+
+
+**依赖注入设计思路**:
+
+先设计行李箱的大概样子,再根据行李箱的样子设计箱体,根据箱体去设计底盘,然后去设计轮子。
+
+
+
+相应代码如下:
+
+
+
+不难理解,依赖注入就是**将底层类作为参数传递给上层类,实现上层对下层的控制**。
+
+Spring 支持 4 种依赖注入:setter 注入、构造器注入、注解注入和接口注入。
+
+### setter 注入
+
+```xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+```java
+public class ExampleBean {
+
+ private AnotherBean beanOne;
+
+ private YetAnotherBean beanTwo;
+
+ private int i;
+
+ public void setBeanOne(AnotherBean beanOne) {
+ this.beanOne = beanOne;
+ }
+
+ public void setBeanTwo(YetAnotherBean beanTwo) {
+ this.beanTwo = beanTwo;
+ }
+
+ public void setIntegerProperty(int i) {
+ this.i = i;
+ }
+}
+```
+
+### 构造器注入
+
+```xml
+
+
+
+
+
+
+
+
+```
+
+```java
+public class ExampleBean {
+
+ private AnotherBean beanOne;
+
+ private YetAnotherBean beanTwo;
+
+ private int i;
+
+ public ExampleBean(
+ AnotherBean anotherBean, YetAnotherBean yetAnotherBean, int i) {
+ this.beanOne = anotherBean;
+ this.beanTwo = yetAnotherBean;
+ this.i = i;
+ }
+}
+```
+
+### 注解注入
+
+```java
+public class ExampleBean {
+
+ @Autowired
+ @Qualifier("anotherExampleBean")
+ private AnotherBean beanOne;
+
+ @Autowired
+ @Qualifier("yetAnotherBean")
+ private YetAnotherBean beanTwo;
+
+ @Value("1")
+ private int i;
+}
+```
+
+### 接口注入
+
+接口注入模式因为历史较为悠久,在很多容器中都已经得到应用。但由于其在灵活性、易用性上不如其他注入模式,因而在 IOC 的专题世界内并不被看好。
+
+
+
+## IoC 和 DI 的关系
+
+依赖注入实现控制反转。
+
+依赖倒置原则、IoC、DI 和 IoC 容器的关系:
+
+
+
+补充:[控制反转-知乎解答](https://www.zhihu.com/question/23277575/answer/169698662)
+
+
+
+## IoC 容器
+
+IoC 容器指具有依赖注入功能的容器。
+
+IoC 容器负责创建对象,将对象连接在一起,配置这些对象,并从创建中处理这些对象的整个生命周期,直到它们被完全销毁。
+
+Spring 通过**配置文件**描述 IoC 容器管理的对象。Spring IoC 容器通过读取配置文件中的配置元数据,通过元数据对应用中的各个对象进行实例化及装配。一般使用基于 xml 配置文件进行配置元数据,而且 Spring 与配置文件完全解耦的,可以使用其他任何可能的方式进行配置元数据,比如注解、基于 Java 文件的、基于属性文件的配置都可以。
+
+Spring IoC 容器的代表就是 `org.springframework.beans` 包下的 **BeanFactory** 接口:
+
+- IoC 容器要实现的最基础的接口
+- 采用**延迟初始化策略**(容器初始化完成后并不会创建 Bean 对象,只有当收到初始化请求时才进行初始化)
+- 由于是延迟初始化策略,因此启动速度较快,占用资源较少
+
+`org.springframework.context` 包下的 **ApplicationContext** 接口扩展了 BeanFactory:
+
+- 在 BeanFactory 基础上,增加了更为高级的特性:事件发布、国际化等。
+- 在容器启动时,完成所有 Bean 的创建
+- 启动时间较长,占用资源较多
+
+### IoC 容器初始化过程
+
+
+
+- Resource 定位:即 BeanDefinition 的资源定位,Resource 为各种形式的 BeanDefinition 的使用都提供了统一的接口
+- BeanDefinition 的载入
+- 向 IoC 容器中注册 BeanDefinition:实际上 IoC 容器内部维护一个 HashMap,注册过程就是将 BeanDefinition 添加至 HashMap 中。
+
+### Spring Bean 的装配流程
+
+
+
+IoC 容器其实就是一个大工厂,它用来管理我们所有的对象以及依赖关系:
+
+- Spring 在启动时会从 xml 配置文件/注解中读取应用程序提供的 Bean 配置信息,并在 Spring 容器中生成一份相应的 Bean 定义注册表
+- 根据注册表实例化 Bean,装配好 Bean 之间的依赖关系
+- 将 Bean 实例放入 Spring IoC 容器中,等待应用程序调用
+
+### getBean 方法
+
+ApplicationContext 接口获取 Bean 的方法:
+
+| 方法 | 说明 |
+| --------------------------------------------- | ------------------------------------------------------------ |
+| Object getBean(String name) | 根据名称返回一个 Bean,**客户端需要自己进行类型转换** |
+| T getBean(String name, Class
requiredType) | 根据名称和指定的类型返回一个Bean,客户端无需自己进行类型转换,如果类型转换失败,容器抛出异常 |
+| T getBean(Class requiredType) | 根据指定的类型返回一个Bean,客户端无需自己进行类型转换,如果没有或有多于一个Bean存在容器将抛出异常 |
+| Map getBeansOfType(Class type) | 根据指定的类型返回一个键值为名字和值为 Bean 对象的Map,如果没有Bean对象存在则返回空的 Map |
+
+getBean(name) 代码逻辑:
+
+- 获取参数 name 转化为 beanName
+- 从缓存中加载实例
+- 实例化 Bean
+- 检测 parentBeanFactory(若无缓存数据,直接到 parentBeanFactory 中去加载)
+- 初始化依赖的 Bean
+- 返回 Bean
+
+> **注意:BeanFactory 和 FactoryBean 的区别**
+
+- BeanFactory 是 IoC 最基本的容器,负责生产和管理 Bean,为其他具体的 IoC 容器提供了最基本的规范。
+- FactoryBean 是一个 Bean,是一个接口,当 IoC 容器中的 Bean 实现了 FactoryBean 后,通过 getBean(String beanName) 获取到的 Bean 对象并不是 FactoryBean 的实现类对象,而是这个实现类中的 getObject() 方法返回的对象。**要想获取 FactoryBean 的实现类对象,就是在 beanName 前面加上 "&"**。
+
+
+
+## Spring 中 Bean 的作用域
+
+### singleton
+
+singleton 即单例模式。singleton 作用域是 Spring 中的**缺省作用域**。
+
+当一个 Bean 的作用域为 singleton,那么 Spring IoC 容器中只会存在一个**共享的 Bean 实例**, 并且所有对 Bean 的请求,只要 id 与该 Bean 定义相匹配,则只会**返回 Bean 的同一实例**。
+
+可以指定 Bean 节点的 lazy-init="true" 来延迟初始化 Bean, 此时只有在第一次获取 Bean 时才会初始化 Bean,即第一次请求该 Bean 时才初始化。 每次获取到的对象都是同一个对象。
+
+配置文件 XML 中将 Bean 定义成 singleton :
+
+```html
+
+```
+
+@Scope 注解的方式:
+
+```java
+@Service
+@Scope("singleton")
+public class ServiceImpl{
+}
+```
+
+### prototype
+
+prototype 即原型模式。当一个 Bean 的作用域为 prototype,表示一个 Bean 定义对应多个对象实例。 prototype 作用域的 Bean 会导致在每次对该 Bean 请求(将其注入到另一个 Bean 中,或者以程序的方式调用容器的 getBean() 方法)时都会创建一个新的 Bean 实例。
+
+在创建容器的时候并没有实例化, 而是当我们获取 Bean 的时候才会去创建一个对象,而且我们每次获取到的对象都不是同一个对象。
+
+配置文件 XML 中将 Bean 定义成 prototype :
+
+```html
+
+```
+
+或者
+
+```html
+
+```
+
+@Scope 注解的方式:
+
+```java
+@Service
+@Scope("prototype")
+public class ServiceImpl{
+}
+```
+
+> **Spring 中线程安全问题**
+
+有状态 Bean & 无状态 Bean:
+
+- **有状态 Bean**
+
+ 对象中有实例变量(成员变量),可保存数据;
+
+ **非线程安全**。
+
+- **无状态 Bean**
+
+ 对象中无实例变量,不能保存数据,可在多线程环境下共享;
+
+ **线程安全**。
+
+Spring 采用两种方式保证线程安全:
+
+- 采用 ThreadLocal 进行处理
+- 采用原型模式,每次有 Bean 请求时,都会创建一个新的 Bean 实例
+
+所以根据经验,**对有状态的 Bean 应该使用 prototype 作用域,而对无状态的 Bean 则应该使用 singleton 作用域。**
+
+### request
+
+request 只适用于**Web程序**,每一次 HTTP 请求都会产生一个新的 Bean , 同时该 Bean 仅在当前HTTP request 内有效,当请求结束后,该对象的生命周期即告结束。
+
+在 XML 中将 Bean 定义成 request ,可以这样配置:
+
+```html
+
+```
+
+### session
+
+session 只适用于**Web程序**, session 作用域表示该针对每一次 HTTP 请求都会产生一个新的 Bean, 同时**该 Bean 仅在当前 HTTP session 内有效**。 与 request 作用域一样,可以根据需要放心的更改所创建实例的内部状态, 而别的 HTTP session 中根据 userPreferences 创建的实例, 将不会看到这些特定于某个 HTTP session 的状态变化。 当HTTP session最终被废弃的时候,在该 HTTP session 作用域内的 Bean 也会被废弃掉。
+
+```html
+
+```
+
+### globalSession
+
+globalSession 作用域**类似于标准的 HTTP session** 作用域, 不过仅仅在基于 portlet 的 Web 应用中才有意义。 Portlet 规范定义了全局 Session 的概念, 它被所有构成某个 portlet web 应用的各种不同的 portlet所共享。 在 globalSession 作用域中定义的 Bean 被限定于全局 portlet Session 的生命周期范围内。
+
+```html
+
+```
+
+注意:五种作用域中,request、session 和 globalSession 三种作用域仅在基于 Web 的应用中使用(不必关心你所采用的是什么 Web 应用框架),只能用在基于 Web 的 Spring ApplicationContext 环境。
+
+
+
+## Spring 中 Bean 的生命周期
+
+Spring bean 的生命周期执行如下图:
+
+
+
+1、Spring 对 Bean 进行实例化。
+
+2、Spring 将值和 Bean 的引用注入到 Bean 对应的属性中。
+
+3、如果 Bean 实现了 BeanNameAware 接口,则会调用其实现的 setBeanName() 方法,
+
+Spring 会将 bean 的 id 传递给 setBeanName() 接口方法。
+
+4、如果 Bean 实现了 BeanFactoryAware 接口,则会调用其实现的 setBeanFactory() 方法,将 BeanFactory 容器实例作为传入参数。
+
+5、如果 Bean 实现了 ApplicationContextAware 接口,则会调用其实现的 setApplicationContext() 方法,将应用上下文的引用作为传入参数。
+
+6、如果 Bean 实现了 BeanPostProcessor 接口,Spring 将调用 postProcessBeforeInitialization() 接口方法。
+
+7、如果 Bean 实现了InitializingBean 接口,Spring 将调用 afterPropertiesSet() 接口方法。
+
+8、如果Bean 实现了 init-method 声明了初始化方法,该方法也会被调用。
+
+9、如果 Bean 实现了 BeanPostProcessor 接口,Spring 将调用 postProcessAfterInitialization() 接口方法。
+
+10、此时 Bean 已经准备就绪,可以被应用程序使用了,他们将会一直驻留在应用上下文中,一直到该应用上下文被销毁。
+
+11、如果 Bean 实现了 DisposableBean 接口,Spring 将调用它的 destroy() 接口方法。
+
+12、如果 Bean 使用 destroy-method 声明了销毁方法,方法也会被调用。
+
+
+
+## 循环依赖问题
+
+循环依赖指的是若 A 中有 B 的属性,B 中有 A 的属性,则当进行依赖注入时,就会产生 A 还未创建完,因为对 B 的创建再次返回创建 A。
+
+### 类的实例化 & 类的初始化
+
+类的实例化是指创建一个类的实例(对象)的过程。
+
+类的初始化是指为类中各个类成员(被 static 修饰的成员变量)赋初始值的过程,是**类生命周期中的一个阶段**。
+
+### Spring 中类的实例化 & 类的初始化
+
+Spring 中**所有 Bean 默认都是单例模式**,所以 Bean 的初始化和实例化都是在加载进入 Bean 容器时进行的。如果想使用时再初始化,那么可以把类定义为原型模式。
+
+### 三级缓存
+
+单例对象,在 Spring IoC 容器中,有且仅有一个对象,将对象放入缓存中。
+
+Spring 中使用 "三级缓存":
+
+```java
+// 一级缓存:单例对象的缓存(存储实例化完成的 Bean)
+/** Cache of singleton objects: bean name --> bean instance */
+private final Map singletonObjects = new ConcurrentHashMap(256);
+
+// 三级缓存:单例 ObjectFactory 的缓存
+/** Cache of singleton factories: bean name --> ObjectFactory */
+private final Map> singletonFactories = new HashMap>(16);
+
+// 二级缓存:提前曝光的单例对象的缓存(存储正在实例化的 Bean)
+/** Cache of early singleton objects: bean name --> bean instance */
+private final Map earlySingletonObjects = new HashMap(16);
+```
+
+举例说明解决循环依赖(A 中有B,B 中有 A)的具体过程:
+
+Spring 中单例对象的初始化主要分为 3 步:
+
+- 第一步:createBeanInstance
+- 第二步:populateBean 填充属性
+- 第三步:intializeBean 初始化
+
+在进行 createBeanInstance 后,该单例对象此时已被创建,Spring 将该对象**提前曝光到 singeltonFacoties 中**。
+
+- A 完成 createBeanInstance ,并且**提前曝光到 singeltonFacoties 中**
+- A 进行第二步,发现需要依赖 B,尝试获取 B
+- B 开始创建,B 完成 createBeanInstance,发现需要依赖 A,尝试获取 A:先尝试从 singletonObjects 中获取,发现不存在,因为 A 未初始化完全;再尝试从 earlySingletonObjects 中获取;再去 singletonFactories 中获取,此时 B 获取 A,并将 A 放入 earlySingletonObjects 中,再删除 A 在singletonFactories 中对应的 ObjectFactory。
+- B 获取 A,顺利完成第二、三步,将初始化完成的 B 放入 singletonObjects 中。
+- 此时返回创建 A,A 可获取 B,顺利完成第二、三步,A 初始化完成, 将 A 放入 singletonObjects 中。
+
+> **Spring 2 种循环依赖:构造器循环依赖 & setter 循环依赖**
+
+- 构造器循环依赖:因为提前曝光到 singletonFactories 中的前提是需要执行构造方法,所以使用 "三级缓存" 无法解决该种循环依赖。
+- setter 循环依赖
+
+所以在使用 Spring 框架进行开发时:
+
+- 尽量不要使用基于构造器的依赖注入方式,使用基于 setter 的依赖注入方式
+- 使用 @Autowired 注解,让 Spring 决定合适的时机
+
+# 补充
+
+- [Spring 官网](https://docs.spring.io/spring-framework/docs/current/reference/html/index.html)
+- [Spring 循环依赖及三级缓存](https://blog.csdn.net/u012098021/article/details/107352463?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link)
diff --git "a/docs/Spring/3_SpringAOP345円216円237円347円220円206円.md" "b/docs/Spring/3_SpringAOP345円216円237円347円220円206円.md"
new file mode 100644
index 00000000..c6da0ca1
--- /dev/null
+++ "b/docs/Spring/3_SpringAOP345円216円237円347円220円206円.md"
@@ -0,0 +1,92 @@
+# Spring AOP 原理
+
+AOP 即面向切面编程(Aspect Oriented Programing),实际上是将一些通用的功能横向抽取出来:
+
+- 一方面,减少系统的重复代码
+- 另一方面,降低模块间的耦合度,比较好维护和扩展
+
+Spring AOP 将应用分为核心关注点和横切关注点。业务处理流程为核心关注点,被业务所依赖的公共部分为横切关注点。横切关注点的特点是其行为经常发生在核心关注点多出,而多处操作基本相似,比如权限认证、日志、事务等。AOP 的核心思想是将核心关注点和横切关注点分离开来,以降低模块耦合度。
+
+Spring AOP 的应用场景主要有:
+
+- 权限统一管理授权
+- 缓存统一维护
+- 数据懒加载
+- 资源池统一申请和管理
+- 统一事务管理
+
+## AOP 相关术语
+
+| 术语 | 解释 | 描述 |
+| :----------: | --------- | :----------------------------------------------------------: |
+| Joinpoint | 连接点 | 所谓连接点是指那些被拦截到的点。在 Spring 中,这些点指的是**方法**,因为 Spring 只支持**方法类型的连接点**。 |
+| Pointcut | 切入点 | 所谓切入点是指我们要**对哪些 Joinpoint 进行拦截**的定义。 |
+| Advice | 通知/增强 | 所谓通知是指拦截到 Joinpoint 之后要执行的具体操作。通知分为前置通知,后置通知,异常通知,最终通知,环绕通知(切面要完成的功能) |
+| Introduction | 引介 | 引介是一种**特殊的通知**。在不修改类代码的前提下,可以在运行期为类动态地添加一些方法或字段 |
+| Target | 目标对象 | 代理的目标对象 |
+| Weaving | 织入 | 是指把增强应用到目标对象来创建新的代理对象的过程。 有三种织入方式:Spring 采用**动态代理织入**,而 AspectJ 采用**编译期织入**和**类装载期织入** |
+| Proxy | 代理 | 一个类被 AOP 织入增强后,就产生一个结果代理类 |
+| Aspect | 切面 | 是切入点和通知(/引介)的结合 |
+
+例如在 IUserDao 接口中:
+
+```java
+public interface IUserDao {
+ void add();
+ void delete();
+ void update();
+ void search();
+}
+```
+
+- IUserDao 被增强的对象,就是 Target(目标对象)
+- add()、delete()、update() 和 search() 都是 JoinPoint(连接点)
+- 这里要对 add() 和 update() JoinPoint 进行拦截,则 add() 和 update() 就是 Pointcut(切入点)
+- Advice 指的是要增强的代码,也就是代码的增强
+- Weaving:指的是把增强(Advice)应用到目标对象(Target)创建新的代理对象的过程
+- Aspect:是切入点和通知的结合,在 add 或 update 方法上应用增强
+
+## AOP 底层原理
+
+AOP 的底层原理是动态代理机制:
+
+- 类实现了接口,JDK 动态代理
+- 类未实现任何接口,Cglib 动态代理
+
+## AOP 的 5 种通知类型
+
+- 前置通知
+
+ 在连接点前面执行,前置通知不会影响连接点的执行,除非此处抛出异常。
+
+- 后置通知
+
+ 在连接点执行完成后执行,不管是正常执行完成,还是抛出异常,都会执行返回通知中的内容。
+
+- 成功通知
+
+ 在连接点正常执行完成后执行,如果连接点抛出异常,则不会执行。
+
+- 异常通知
+
+ 在连接点抛出异常后执行。
+
+- 环绕通知
+
+ 环绕通知围绕在连接点前后,比如一个方法调用的前后。这是最强大的通知类型,能在方法调用前后自定义一些操作。环绕通知还需要负责决定是继续处理连接点(调用ProceedingJoinPoint 的 proceed 方法)还是中断执行。
+
+五种通知的执行顺序为:前置通知、环绕通知、成功通知/异常通知、后置通知。
+
+## Spring AOP & AspectJ AOP
+
+- 增强时机
+
+ Spring AOP 是运行时增强;AspectJ 是编译时增强
+
+- 底层原理
+
+ Spring AOP 基于代理;AspectJ 基于字节码操作 (Bytecode Manipulation)
+
+- 性能
+
+ AspectJ 相比于 Spring AOP 功能更加强大,AspectJ 应该算的上是 Java 生态系统中最完整的 AOP 框架了。Spring AOP 相对来说更简单,并且 Spring AOP 已集成了 AspectJ,如果切面较少,那么两者性能差异不大,当切面较多时,最好选择 AspectJ ,它比 Spring AOP 快很多。
diff --git a/docs/SSM/1_SpringMVC.md "b/docs/Spring/4_SpringMVC345円216円237円347円220円206円.md"
similarity index 50%
rename from docs/SSM/1_SpringMVC.md
rename to "docs/Spring/4_SpringMVC345円216円237円347円220円206円.md"
index ea890aa1..42723ef6 100644
--- a/docs/SSM/1_SpringMVC.md
+++ "b/docs/Spring/4_SpringMVC345円216円237円347円220円206円.md"
@@ -1,69 +1,81 @@
-# SpringMVC
+# Spring MVC 原理
-## MVC
+## MVC (Model-View-Controller)
-即 Model-View-Controller,是一种复合模式。
+MVC 即 Model-View-Controller,是一种复合模式。
- Model:模型。封装数据源和所有基于这些数据的操作
- View:视图。用来显现模型
- Controller:控制器。封装外界作用于模型的操作
-其中,模型利用 "观察者模式" 让 Controller 和视图随最新的状态改变而更新;View 和 Controller 实现 "策略模式",控制器是视图的行为,若希望有不同的行为,可直接换一个控制器;视图内部利用"组合模式"。
+模型利用 "观察者模式" 让控制器和视图随最新的状态改变而更新;
-优点:
+视图和控制器实现 "策略模式",控制器是视图的行为,若希望有不同的行为,可直接换一个控制器;
+
+视图内部则是利用 "组合模式"。
+
+MVC 具有以下优点:
- 三个模块可共享一个模型,大大提高代码的可重用性
- 三个模块相互独立,耦合性较低
- Controller 提高了应用程序的灵活性,使用 Controller 可连接不同模型和视图去满足用户的需求
-## SpringMVC
+## Spring MVC
SpringMVC 是一种基于 Java,实现了 Web MVC 设计模式,请求驱动类型的轻量级 Web 框架。优点如下:
- 基于组件技术。全部的应用对象,无论是控制器、视图,还是业务对象之类都是 Java 组件。并且和 Spring 提供的其他基础结构紧密集成;
- 不依赖于 Servlert API;
-- 可以任意使用各种视图技术,而不仅仅局限于jspl;
+- 可以任意使用各种视图技术,而不仅仅局限于 jspl;
- 支持各种请求资源的映射策略;
- 易扩展。
### 原理
-SpringMVC 框架是以请求为驱动,围绕 Servlet 设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。 其中**核心类是 DispatcherServlet**,它是一个 Servlet,顶层实现 Servlet 接口。
+Spring MVC 框架是以请求为驱动,围绕 **DispatcherServlet** 设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。
原理图如下:
-
-
+
+- 客户端发起 HTTP 请求,将请求提交到 DispatcherServlet。
+- 寻找处理器:由 DispatcherServlet 查询一个或多个 HandlerMapping,找到处理该请求的 Contoller。
+- 调用处理器:DispatcherServlet 将请求提交到 Controller。
+- 调用业务处理逻辑并返回结果:Controller 调用业务处理逻辑后,返回 ModelAndView。
+- 处理视图映射并返回模型:DispatcherServlet 查询一个或多个 ViewResolver 视图解析器,找到 ModelAndView 指定的视图。
+- HTTP 响应:视图负责将结果在客户端浏览器上渲染和展示。
### 重要组件
-#### 1、DispatcherServlet
+#### DispatcherServlet
- 说明:前端控制器,不需要工程师开发,由 SpringMVC 框架提供。
- 作用:**Spring MVC 的入口。接收请求,响应结果,相当于转发器,中央处理器**。DispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,**DispatcherServlet 降低了组件之间的耦合度**。
-#### 2、HandlerMapping
+#### HandlerMapping
-- 说明:处理器映射器,不需要工程师开发,由 SpringMVC 框架提供。
-- 作用:**根据请求的 url 查找 Handler**。SpringMVC 提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。
+- 说明:处理器映射器,不需要工程师开发,由 Spring MVC 框架提供。
+- 作用:**根据请求的 url 查找 Handler**。Spring MVC 提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。
-#### 3、HandlerAdapter
+#### HandlerAdapter
- 说明:处理器适配器。
-- 作用:**按照特定规则(HandlerAdapter要求的规则)执行 Handler**。通过 HandlerAdapter 对处理器进行执行,这是[适配器模式](https://duhouan.github.io/Java/#/OO/4_%E7%BB%93%E6%9E%84%E5%9E%8B?id=_1-%e9%80%82%e9%85%8d%e5%99%a8%ef%bc%88adapter%ef%bc%89)的应用,通过扩展适配器可以对更多类型的处理器进行执行。
+- 作用:**按照特定规则(HandlerAdapter要求的规则)执行 Handler**。通过 HandlerAdapter 对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。
-#### 4、Handler
+#### Handler
- 说明:处理器,需要工程师开发。
- 注意:编写 Handler 时按照 HandlerAdapter 的要求的规则去做,这样适配器才可以去正确执行 Handler, Handler 是**后端控制器**,在 DispatcherServlet 的控制下 Handler 对具体的用户请求进行处理。 由于 Handler 涉及到具体的用户业务请求,所以一般情况需要工程师根据业务需求开发 Handler。
-#### 5、ViewResolver
+#### ViewResolver
+
+- 说明:视图解析器,不需要工程师开发,由 Spring MVC 框架提供。
+
+- 作用:**进行视图解析,根据逻辑视图名解析成真正的视图**。ViewResolver 负责将处理结果生成 View 视图, ViewResolver 首先根据逻辑视图名解析成物理视图名即具体的页面地址,再**生成 View 视图对象**。
-- 说明:视图解析器,不需要工程师开发,由 SpringMVC 框架提供。
-- 作用:**进行视图解析,根据逻辑视图名解析成真正的视图**。ViewResolver 负责将处理结果生成 View 视图, ViewResolver 首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成 View 视图对象,最后对View 进行渲染将处理结果通过页面展示给用户。 SpringMVC 框架提供了很多的 View 视图类型,包括:jstlView、freemarkerView、pdfView等。 一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要工程师根据业务需求开发具体的页面。
+ Spring MVC 框架提供了很多的 View 视图类型,包括:jstlView、freemarkerView、pdfView等。 一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要工程师根据业务需求开发具体的页面。
-#### 6、View
+#### View
- 说明:视图 View,需要工程师开发。
-- 作用:**View 是一个接口,实现类支持不同的 View类型(jsp、freemarker、pdf...)**。
\ No newline at end of file
+- 作用:**View 是一个接口,实现类支持不同的 View 类型(jsp、freemarker、pdf...)**。
diff --git "a/docs/Spring/5_Spring344円272円213円345円212円241円347円256円241円347円220円206円.md" "b/docs/Spring/5_Spring344円272円213円345円212円241円347円256円241円347円220円206円.md"
new file mode 100644
index 00000000..1480f92a
--- /dev/null
+++ "b/docs/Spring/5_Spring344円272円213円345円212円241円347円256円241円347円220円206円.md"
@@ -0,0 +1,406 @@
+# Spring 事务管理
+
+## 编程式事务 & 声明式事务
+
+### 编程式事务
+
+编程式事务指的是通过编码方式实现事务,类似 JDBC 编程实现事务管理,比如 TransactionalTemplate 或者 TransactionManager。
+
+```java
+@Autowired
+private TransactionTemplate transactionTemplate;
+
+public void testTransaction() {
+
+ transactionTemplate.execute(new TransactionCallbackWithoutResult() {
+ @Override
+ protected void doInTransactionWithoutResult(TransactionStatus transactionStatus) {
+
+ try {
+ // 业务代码
+ } catch (Exception e){
+ // 回滚
+ transactionStatus.setRollbackOnly();
+ }
+ }
+ });
+}
+```
+
+```java
+@Autowired
+private PlatformTransactionManager transactionManager;
+
+public void testTransaction() {
+
+ TransactionStatus status = transactionManager.getTransaction(new DefaultTransactionDefinition());
+ try {
+ // 业务代码
+ transactionManager.commit(status);
+ } catch (Exception e) {
+ // 回滚
+ transactionManager.rollback(status);
+ }
+}
+```
+
+### 声明式事务
+
+声明式事务在 **XML 配置文件中配置**或者直接基于**注解**,其中基于`@Transactional` 的全注解方式使用最多。
+
+| 事务方式 | 优点 | 缺点 |
+| :--------: | :----------------: | :------------------------: |
+| 编程式事务 | 显示调用,不易出错 | 侵入式代码,编码量大 |
+| 声明式事务 | 简单,对代码侵入小 | 隐藏实现细节,出错不易定位 |
+
+
+
+## Spring 事务管理接口
+
+Spring 框架中,事务管理相关最重要的 3 个接口如下:
+
+- PlatformTransactionManager:(平台)事务管理器
+- TransactionDefinition:事务定义信息(隔离级别、传播行为、超时、只读、回滚)
+- TransactionStatus:事务运行状态
+
+**所谓事务管理,实质上就是按照给定的事务规则来执行提交或者回滚操作**。其中,"给定的事务规则"是用 TransactionDefinition 表示的,"按照......来执行提交或者回滚操作"是用 PlatformTransactionManager 表示的,而 TransactionStatus 可以看作代表事务本身。
+
+### PlatformTransactionManager
+
+**Spring 并不直接管理事务,而是提供了多种事务管理器** 。Spring 事务管理是通过 PlatformTransactionManager 接口体现的,该接口是 Spring事务策略的核心。通过该接口,Spring 为各个平台如 JDBC (DataSourceTransactionManager)、Hibernate (HibernateTransactionManager)、JPA (JpaTransactionManager) 等都提供了对应的事务管理器,但是具体的实现就是各个平台自己的事情了。
+
+```java
+public interface PlatformTransactionManager {
+
+ //平台无关的获得事务的方法
+ TransactionStatus getTransaction(TransactionDefinition definition) throws TransactionException;
+
+ //平台无关的事务提交方法
+ void commit(TransactionStatus status) throws TransactionException;
+
+ //平台无关的事务回滚方法
+ void rollback(TransactionStatus status) throws TransactionException;
+}
+```
+
+比如我们在使用 JDBC 进行数据持久化操作时,进行如下配置:
+
+```xml
+
+
+
+
+
+```
+
+### TransactionDefinition
+
+TransactionDefinition 接口用于定义事务属性,事务属性可以理解成事务的一些基本配置,描述了事务策略如何应用到方法上。事务属性包含了以下 5 个方面:
+
+- 事务隔离级别
+- 事务传播行为
+- 回滚规则
+- 是否只读
+- 事务超时
+
+### TransactionStatus
+
+TransactionStatus 接口用来记录事务的状态,该接口定义了一组方法,用来获取或判断事务的相应状态信息。
+
+```java
+public interface TransactionStatus{
+ boolean isNewTransaction(); // 是否是新的事务
+ boolean hasSavepoint(); // 是否有恢复点
+ void setRollbackOnly(); // 设置为只回滚
+ boolean isRollbackOnly(); // 是否为只回滚
+ boolean isCompleted; // 是否已完成
+}
+```
+
+
+
+## Spring 事务属性
+
+### 事务隔离级别
+
+事务隔离级别是指多个事务之间的隔离程度。
+
+TransactionDefinition 接口中定义了 5 个表示隔离级别的常量:
+
+```java
+public interface TransactionDefinition {
+ ...
+ int ISOLATION_DEFAULT = -1;
+ int ISOLATION_READ_UNCOMMITTED = 1;
+ int ISOLATION_READ_COMMITTED = 2;
+ int ISOLATION_REPEATABLE_READ = 4;
+ int ISOLATION_SERIALIZABLE = 8;
+ ...
+}
+```
+
+```java
+// 事务隔离级别对应的枚举
+public enum Isolation {
+ DEFAULT(TransactionDefinition.ISOLATION_DEFAULT), READ_UNCOMMITTED(TransactionDefinition.ISOLATION_READ_UNCOMMITTED),
+ READ_COMMITTED(TransactionDefinition.ISOLATION_READ_COMMITTED),
+ REPEATABLE_READ(TransactionDefinition.ISOLATION_REPEATABLE_READ),
+ SERIALIZABLE(TransactionDefinition.ISOLATION_SERIALIZABLE);
+
+ private final int value;
+
+ Isolation(int value) {
+ this.value = value;
+ }
+
+ public int value() {
+ return this.value;
+ }
+
+}
+```
+
+| 隔离级别 | 解释 | 说明 |
+| :------------------------: | -------- | :----------------------------------------------------------: |
+| ISOLATION_DEFAULT | 默认 | 这是默认值,表示使用底层数据库的默认隔离级别。 |
+| ISOLATION_READ_UNCOMMITTED | 读未提交 | 该隔离级别表示一个事务可以读取另一个事务修改但还没有提交的数据,该级别不能防止脏读和不可重复读,因此很少使用该隔离级别 |
+| ISOLATION_READ_COMMITTED | 读可提交 | 该隔离级别表示一个事务只能读取另一个事务已经提交的数据。该级别可以防止脏读,这也是大多数情况下推荐的隔离级别 |
+| ISOLATION_REPEATABLE_READ | 可重复读 | 该隔离级别表示一个事务在整个过程中可以多次重复执行某个查询,并且每次返回的记录都相同。即使在多次查询之间有新增的数据满足该查询,这些新增的记录也会被忽略。该级别可以防止脏读和不可重复读,但幻读仍有可能发生 |
+| ISOLATION_SERIALIZABLE | 可串行化 | 所有的事务依次逐个执行,这样事务之间就完全不可能产生干扰,也就是说,该级别可以防止脏读、不可重复读以及幻读。但是,这将严重影响程序的性能,通常情况下也不会用到该级别 |
+
+### 事务传播行为
+
+**事务传播行为是为了解决业务层方法之间互相调用的事务问题**。
+
+当事务方法被另一个事务方法调用时,必须指定事务应该如何传播。例如:方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行。
+
+TransactionDefinition 接口中定义了 5t个表示传播行为的常量:
+
+```java
+public interface TransactionDefinition {
+ int PROPAGATION_REQUIRED = 0;
+ int PROPAGATION_SUPPORTS = 1;
+ int PROPAGATION_MANDATORY = 2;
+ int PROPAGATION_REQUIRES_NEW = 3;
+ int PROPAGATION_NOT_SUPPORTED = 4;
+ int PROPAGATION_NEVER = 5;
+ int PROPAGATION_NESTED = 6;
+ ...
+}
+```
+
+```java
+// 事务传播行为对应的枚举
+public enum Propagation {
+ REQUIRED(TransactionDefinition.PROPAGATION_REQUIRED),
+ SUPPORTS(TransactionDefinition.PROPAGATION_SUPPORTS),
+ MANDATORY(TransactionDefinition.PROPAGATION_MANDATORY),
+ REQUIRES_NEW(TransactionDefinition.PROPAGATION_REQUIRES_NEW),
+ NOT_SUPPORTED(TransactionDefinition.PROPAGATION_NOT_SUPPORTED),
+ NEVER(TransactionDefinition.PROPAGATION_NEVER),
+ NESTED(TransactionDefinition.PROPAGATION_NESTED);
+
+ private final int value;
+
+ Propagation(int value) {
+ this.value = value;
+ }
+
+ public int value() {
+ return this.value;
+ }
+
+}
+```
+
+| 传播行为 | 简写 | 说明 |
+| :-----------------------: | :-----------: | :----------------------------------------------------------: |
+| PROPAGATION_REQUIRED | required | 如果当前事务存在,方法将会在该事务中运行。否则,会启动一个新的事务。 |
+| PROPAGATION_SUPPORTS | supports | 表示支持当前事务,如果当前没有事务,就以无事务方式执行。 |
+| PROPAGATION_MANDATORY | mandatory | 表示使用当前的事务,如果当前没有事务,就抛出异常。 |
+| PROPAGATION_REQUIRES_NEW | required_new | 表示新建事务,如果当前存在事务,把当前事务挂起。 |
+| PROPAGATION_NOT_SUPPORTED | not_supported | 表示以无事务方式执行操作,如果当前存在事务,就把当前事务挂起。 |
+| PROPAGATION_NEVER | never | 表示以无事务方式执行,如果当前存在事务,则抛出异常。 |
+| PROPAGATION_NESTED | nested | 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。 |
+
+举例说明事务传播类型:
+
+```java
+StudentServiceImplA implements StudentService{
+ @Autowired
+ studentDao;
+
+ @Autowired
+ studentService;
+
+ @Transactional(required) // 事务传播特性为 requried: 如果当前事务存在,方法将会在该事务中运行。否则,会启动一个新的事务。
+ insertA(){
+ // 对数据库操作,插入 A 数据
+ studentService.insertB(); // 插入 B 数据
+ // I/O 异常
+ }
+}
+```
+
+```java
+StudentServiceImplB implements StudentService{
+ @Autowired
+ studentDao;
+
+ @Transactional
+ insertB(){
+ // 对数据库操作,插入 B 数据
+ }
+}
+```
+
+分以下几种情况讨论:
+
+- 若 StudentServiceImplB 中 insertB() 中传播类型是 required,数据库中既没有 A 数据,也没有 B 数据,则 insertA() 和 insertB() 属于同一个事务,发生异常,事务回滚即可。
+- 若 StudentServiceImplB 中 insertB() 中传播类型是 required_new,数据库中没有 A 数据,但是有 B 数据,则 insertB() 创建了一个新事务,insertA() 中发生异常,该事务回滚。
+- 若 StudentServiceImplB 中 insertB() 中传播类型是 not_supported,数据库中没有 A 数据,但是有 B 数据,则 insertB() 以非事务方式执行,执行 insertA() 的事务回滚,insertB() 中不会发生回滚
+
+**注意:insertB() 为何要放入 StudentServiceImplB 中?**
+
+Spring 的事务机制是基于 AOP 代理实现的。如果在 StudentServiceImplA 中使用 insertB() ,insertA() 中在调用 insertB() 是通过当前对象来调用 insertB() 的,而不是通过代理来调用 insertB() 的,此时 insertB() 上加**事务注解就失效了**。
+
+### 事务超时属性
+
+事务超时指一个事务所允许执行的最长时间,如果超过该时间限制但事务还没有完成,则自动回滚事务。在 TransactionDefinition 中以 int 的值来表示超时时间,其单位是秒,默认值为 -1。
+
+### 事务只读属性
+
+对于只有读取数据查询的事务,可以指定事务类型为 readonly,即只读事务。
+
+只读事务不涉及数据的修改,数据库会提供一些优化手段,适合用在有多条数据库查询操作的方法中。
+
+### 事务回滚规则
+
+默认情况下,事务只有遇到运行期异常时才会回滚,Error 也会导致事务回滚,但遇到检查型异常时不会回滚。
+
+
+
+## @Transactional 注解
+
+@Transactional 注解可以使用在类上,表明该注解对该类中所有的 public 方法都生效。也可以使用在方法上,但是注解只能应用到 public 方法上,否则不生效。
+
+### 源码解析
+
+```java
+@Target({ElementType.TYPE, ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+@Inherited
+@Documented
+public @interface Transactional {
+
+ @AliasFor("transactionManager")
+ String value() default "";
+
+ @AliasFor("value")
+ String transactionManager() default "";
+
+ // 事务的传播行为,默认值为 REQUIRED
+ Propagation propagation() default Propagation.REQUIRED;
+
+ // 事务隔离级别,默认值为 DEFAULT
+ Isolation isolation() default Isolation.DEFAULT;
+
+ // 事务的超时时间,默认值为-1,即不会超时
+ int timeout() default TransactionDefinition.TIMEOUT_DEFAULT;
+
+ // 指定事务是否为只读事务,默认值为 false
+ boolean readOnly() default false;
+
+ // 用于指定能够触发事务回滚的异常类型
+ // Class extends Throwable>[] 说明可以指定多个异常类型
+ Class extends Throwable>[] rollbackFor() default {};
+
+ String[] rollbackForClassName() default {};
+
+ Class extends Throwable>[] noRollbackFor() default {};
+
+ String[] noRollbackForClassName() default {};
+
+}
+```
+
+### 工作机制
+
+@Transactional 的工作机制是基于 Spring AOP 实现的。
+
+如果一个类或者一个类中的 public 方法被标注 @Transactional 注解的话,Spring 容器就会在启动的时候为其创建一个代理类,在调用被 @Transactional 注解的 public 方法的时,实际调用的是 TransactionInterceptor 类中的 invoke() 方法。invoke() 方法会在目标方法之前开启事务,方法执行过程中如果遇到异常的时候回滚事务,方法调用完成后提交事务。
+
+### 事务失效问题
+
+#### 1. 同一个类中方法调用
+
+在同一个类中的其他没有被 @Transactional 注解的方法内部调用 @Transactional 注解的方法,则 @Transactional 注解的方法的事务会失效。
+
+这是因为Spring AOP 代理造成的,因为只有当 @Transactional`注解的方法在类以外被调用的时候,Spring 事务管理才生效。
+
+```java
+@Service
+public class StudentService {
+
+ private void insertA() {
+ // insertA() 中调用 insertB() 是通过当前对象来调用 insertB() 的,而不是通过代理来调用 insertB() 的,此时insertB()上加事务注解就失效了。
+ insertB();
+ // ...
+ }
+
+ // 事务注解失效
+ @Transactional
+ public void insertB() {
+ // ...
+ }
+}Copy to clipboardErrorCopied
+```
+
+可以采用以下 2 种方式解决事务失效问题:
+
+- 避免同一类中自调用
+- 使用 AspectJ 取代 Spring AOP 代理
+
+#### 2. try-catch 导致事务失效
+
+```java
+StudentServiceImplA implements StudentService{
+ @Autowired
+ studentDao;
+
+ @Autowired
+ studentService;
+
+ @Transactional
+ insertA(){
+ try {
+ // 对数据库操作,插入 A 数据
+ studentService.insertB(); // 插入 B 数据
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+如果 insertB() 内部抛了异常,被 insertA() 方法 catch 了该异常,则该事务不能正常回滚。
+
+这是因为当 ServiceB 中抛出异常后,ServiceB 标识当前事务需要 rollback 。但是ServiceA 中由于捕获这个异常并进行处理,ServiceA 认为当前事务应该正常commit ,会抛出UnexpectedRollbackException 异常。
+
+Spring 的事务是在调用业务方法之前开始的,业务方法执行完毕之后才执行 commit 或者 rollback,事务是否执行取决于是否抛出运行时异常。如果抛出运行时异常并在业务方法中没有 catch 到的话,事务会回滚。
+
+解决该事务失效问题:
+
+在业务方法中一般不需要 catch 异常,如果非要 catch 则一定要抛出运行时异常,或者注解中指定抛异常类 @Transactional(rollbackFor=Exception.class)。
+
+#### 3. 数据库引擎不支持事务
+
+事务能否生效数据库引擎是否支持事务是关键。
+
+常用的 MySQL 数据库默认使用支持事务的InnoDB 存储引擎。如果数据库引擎切换成不支持事务的 MyIsam,那么事务就从根本上失效了。
+
+### 使用注意事项
+
+- 正确的设置 @Transactional 的 rollbackFor 和 propagation 属性,否则事务可能会回滚失败
+- @Transactional 注解只有作用到 public 方法上事务才生效,不推荐在接口上使用
+- 避免同一个类中调用 @Transactional 注解的方法,这样会导致事务失效
diff --git "a/docs/Spring/6_Spring344円270円255円347円224円250円345円210円260円347円232円204円350円256円276円350円256円241円346円250円241円345円274円217円.md" "b/docs/Spring/6_Spring344円270円255円347円224円250円345円210円260円347円232円204円350円256円276円350円256円241円346円250円241円345円274円217円.md"
new file mode 100644
index 00000000..4eb9f6e4
--- /dev/null
+++ "b/docs/Spring/6_Spring344円270円255円347円224円250円345円210円260円347円232円204円350円256円276円350円256円241円346円250円241円345円274円217円.md"
@@ -0,0 +1,102 @@
+# Spring 中涉及到的设计模式
+
+## 工厂模式
+
+Spring 使用工厂模式可以通过 BeanFactory 或 ApplicationContext 创建 Bean。
+
+```java
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.FileSystemXmlApplicationContext;
+
+public class App {
+ public static void main(String[] args) {
+ ApplicationContext context = new FileSystemXmlApplicationContext(
+ "xxxx");
+
+ context.getBean("xxx"); // 使用 ApplicationContext 创建 Bean
+ }
+}
+```
+
+## 单例模式
+
+Spring 通过 ConcurrentHashMap 实现单例注册表的特殊方式实现单例模式:
+
+```java
+// 通过 ConcurrentHashMap(线程安全) 实现单例注册表
+private final Map singletonObjects = new ConcurrentHashMap(64);
+
+public Object getSingleton(String beanName, ObjectFactory> singletonFactory) {
+ Assert.notNull(beanName, "'beanName' must not be null");
+ synchronized (this.singletonObjects) {
+ // 检查缓存中是否存在实例
+ Object singletonObject = this.singletonObjects.get(beanName);
+ if (singletonObject == null) {
+ //...
+ try {
+ singletonObject = singletonFactory.getObject();
+ }
+ //...
+ // 如果实例对象不不存在,那么注册到单例注册表中。
+ addSingleton(beanName, singletonObject);
+ }
+ return (singletonObject != NULL_OBJECT ? singletonObject : null);
+ }
+ }
+ // 将对象添加到单例注册表
+ protected void addSingleton(String beanName, Object singletonObject) {
+ synchronized (this.singletonObjects) {
+ this.singletonObjects.put(beanName, (singletonObject != null ? singletonObject : NULL_OBJECT));
+
+ }
+ }
+}
+```
+
+Spring 实现单例的方式:
+
+- XML 配置方式:
+
+ ```xml
+
+ ```
+
+- 注解方式:
+
+ ```java
+ @Service
+ @Scope("singleton")
+ public class TestServiceImpl{
+ }
+ ```
+
+## 原型模式
+
+Spring 实现原型方式:
+
+Spring 实现单例的方式:
+
+- XML 配置方式:
+
+ ```xml
+
+ ```
+
+- 注解方式:
+
+ ```java
+ @Service
+ @Scope("prototype")
+ public class TestServiceImpl{
+ }
+ ```
+
+## 代理模式
+
+Spring AOP、Spring 事务管理都大量运用了代理模式。
+
+## 适配器模式
+
+Spring AOP 的增强或通知 (Advice) 使用到了适配器模式,与之相关的接口是 AdvisorAdapter 。Advice 常用的类型有:BeforeAdvice(前置通知)、AfterAdvice(后置通知)等,每个类型 Advice 都有对应的拦截器:MethodBeforeAdviceInterceptor、AfterReturningAdviceAdapter。Spring 预定义的 Advice 要通过对应的适配器,适配成 MethodInterceptor 接口(方法拦截器)类型的对象,例如 MethodBeforeAdviceInterceptor 负责适配 MethodBeforeAdvice。
+
+Spring MVC 中的 DispatcherServlet 根据请求信息调用 HandlerMapping,解析请求对应的 Handler。解析到对应的 Handler 后,开始由 HandlerAdapter 处理。HandlerAdapter 作为期望接口,具体的适配器实现类用于对目标类进行适配,Controller 作为需要适配的类。
diff --git a/docs/Spring/7_MyBatis.md b/docs/Spring/7_MyBatis.md
new file mode 100644
index 00000000..9c7e4777
--- /dev/null
+++ b/docs/Spring/7_MyBatis.md
@@ -0,0 +1,123 @@
+# Mybatis 基本原理
+
+MyBatis 是 Apache 的一个 Java 开源项目,是一款优秀的持久层框架。
+
+支持定制化 SQL、存储过程以及高级映射。Mybatis 可将 SQL 语句配置在 XML 文件中,避免将 SQL 语句硬编码在 Java 类中。MyBatis 具有如下特点:
+
+- 通过参数映射方式,可以将参数灵活的配置在 SQL 语句中的配置文件中,避免在 Java 类中配置参数(JDBC)
+- 通过输出映射机制,将结果集的检索自动映射成相应的 Java 对象,避免对结果集手工检索(JDBC)
+- Mybatis 通过 XML 配置文件对数据库连接进行管理
+
+## 核心类
+
+### SqlSession
+
+SqlSession 相当于一个会话,每次访问数据库都需要这样一个会话,类似 JDBC 中的 Connection,但是现在几乎所有的连接都是使用的连接池技术,用完后直接归还而不会像 SqlSession 一样销毁。
+
+注意 SqlSession 不是线程安全的,应该设置为线程私有。每次创建的 SqlSession 都必须及时关闭它,如果 SQLSession 长期存在就会使数据库连接池的活动资源减少,对系统性能的影响很大,可以在 finally 代码块中将其关闭。此外 SqlSession 存活于一个应用的请求和操作,可以执行多条 SQL语句,保证事务的一致性。
+
+SqlSession 在执行过程中,包括以下对象:
+
+- **Executor**
+
+ 即执行器,负责调度 StatementHandler、ParameterHandler、ResultSetHandler 等来执行对应的 SQL 语句。
+
+- **StatementHandler**
+
+ 使用数据库的 Statement(PreparedStatement)执行操作。
+
+- **ParamentHandler**
+
+ 来处理 SQL 参数。
+
+- **ResultSetHandler**
+
+ 封装并处理数据集。
+
+### SqlSessionFactory
+
+SqlSessionFactory 用于创建 SqlSession。每次应用程序访问数据库时, 需要通过 SqlSessionFactory 创建 SqlSession,显然 SqlSessionFactory 和整个 Mybatis 的生命周期是相同的。
+
+SqlSessionFactory 是线程安全的,应用运行迁建不要重复创建多次,因为创建多个可能为消耗尽数据库的连接资源,建议使用单例模式。
+
+### SqlSessionaFactoryBuilder
+
+SqlSessionaFactoryBuilder 用于创建 SqlSessionFactory,该类可以被实例化、使用和丢弃,一旦创建了 SqlSessionFactory,就不再需要它了。 因此 SqlSessionFactoryBuilder 实例的最佳作用域是方法作用域。
+
+### Mapper
+
+Mapper 接口的实例是从 SqlSession 中获取,作用是发送 SQL,然后返回我们需要的结果,或者执行 SQL 从而更改数据库的数据,因此它应该在 SqlSession 的事务方法之内。
+
+在 Spring 管理的 Bean 中, Mapper 是单例的。
+
+## 功能架构
+
+
+
+### 接口层
+
+提供给外部使用的接口 API,开发人员通过这些本地 API 来操作数据库。
+
+接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。
+
+### 数据处理层
+
+负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要功能是根据调用的请求完成一次数据库操作。
+
+- 加载配置:配置来源有配置文件或者注解,将 SQL 的配置信息加载成为一个个 MappedStatement 对象(包括了传入参数映射配置、执行的 SQL 语句、结果映射配置),存储在内存中。
+- SQL解析:当 API 接口层接收到调用请求时,会接收到传入 SQL 的 ID 和传入对象(可以是 Map、JavaBean 或者基本数据类型),Mybatis 会根据 SQL 的 ID 找到对应的 MappedStatement,然后根据传入参数对象对MappedStatement 进行解析,解析后可以得到最终要执行的 SQL 语句和参数。
+- SQL执行:将最终得到的 SQL 和参数拿到数据库进行执行,得到操作数据库的结果。
+- 结果映射:将操作数据库的结果按照映射的配置进行转换,可以转换成HashMap、JavaBean 或者基本数据类型,并将最终结果返回。
+
+### 基础支撑层
+
+负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。
+
+## 执行流程
+
+- Mybatis 配置
+
+ sqlMapConfig.xml 文件是 Mybatis 的全局配置文件,配置了 Mybatis的运行环境等信息。Mapper.xml 文件即 SQL 映射文件,文件中配置了操作数据库的 SQL 语句,需要在 sqlMapConfig.xml 中加载。
+
+- 通过 Mybatis 环境等配置信息构造 SqlSessionFactory
+
+- 通过 SqlSessionFactory 创建 SqlSession,操作数据库需要通过 SqlSession进行。
+
+- Mybatis 自定义了 Executor 执行器操作数据库,Executor 接口有两个实现,一个是基本执行器、一个是缓存执行器。
+
+- MappedStatement 是 Mybatis 一个底层封装对象,包装 Mybatis 配置信息及 SQL 映射信息等。Mapper.xml 文件中一个 SQL 对应一个 MappedStatement对象,SQL 的 id 即 MappedStatement 的 id。
+
+- MappedStatement 对 SQL 执行输入参数进行定义,包括 HashMap、基本类型、pojo,Executor 通过MappedStatement 在执行 SQL 前将输入的 Java 对象映射至 SQL 中,输入参数映射就是 jdbc 编程中对preparedStatement 设置参数。
+
+- MappedStatement 对 SQL 执行输出结果进行定义,包括 HashMap、基本类型、pojo,Executor 通过MappedStatement 在执行 SQL 后将输出结果映射至 Java对象中,输出结果映射过程相当于 jdbc 编程中对结果的解析处理过程。
+
+
+
+## 缓存机制
+
+MyBatis 的缓存分为一级缓存和二级缓存。默认情况下一级缓存是开启的。
+
+
+
+### 一级缓存
+
+一级缓存指 SqlSession 级别的缓存,在同一个 SqlSession 中执行相同的 SQL 语句查询时将查询结果集缓存。一级缓存最多能缓存 1024 条 SQL 语句。
+
+当客户端第一次发出一个 SQL 查询语句时,MyBatis 执行 SQL 查询并将查询结果写入 SqlSession 的一级缓存,当第二次有相同的 SQL 查询语句时,则直接从缓存中获取。当同一个 SqlSession 多次发出相同的 SQL 查询语句时,MyBatis 直接从缓存中获取数据。如果两次查询中出现 commit 操作(新增、删除、修改),则认为数据发生了变化,Mybaits 会把该 SqlSession 中的一级缓存区域全部清空,当下次再到缓存中查找时将找不到对应的缓存数据,因此需要再次从数据库中查询数据并将查询的结果写入缓存。
+
+### 二级缓存
+
+二级缓存指跨 SqlSession 的缓存,即 Mapper 级别的缓存。在 Mapper 级别的缓存内,不同的 SqlSession 缓存可以共享。
+
+Mapper 以命名空间为单位创建缓存数据结构,数据结构是 Map 类型,Map 中 Key 为`MapperId + Offset + Limit + SQL + 所有入参`。开启二级缓存后,会使用 CachingExecutor 装饰 Executor ,在进入一级缓存的查询流程前,先在 CachingExecutor 进行二级缓存的查询。
+
+开启二级缓存需要做一下配置:
+
+- 在全局配置中启用二级缓存配置。
+- 在对应的 Mappper.xml 中配置 Cache 节点。
+- 在对应的 select 查询节点中添加 userCache=true。
+
+# MyBatis 面试题
+
+- [MyBatis 面试题集锦](https://snailclimb.gitee.io/javaguide/#/docs/system-design/framework/mybatis/mybatis-interview)
+- [Mybatis 的常见面试题](https://blog.csdn.net/eaphyy/article/details/71190441)
diff --git "a/docs/SpringBoot/1_SpringBoot346円246円202円350円277円260円.md" "b/docs/SpringBoot/1_SpringBoot346円246円202円350円277円260円.md"
new file mode 100644
index 00000000..678f2770
--- /dev/null
+++ "b/docs/SpringBoot/1_SpringBoot346円246円202円350円277円260円.md"
@@ -0,0 +1,65 @@
+# Spring Boot 概述
+
+## Spring Boot 特点
+
+SpringBoot 是由 pivotal 团队开发的全新的Spring 框架,其设计初衷是**简化 Spring 应用复杂的搭建和开发过程**。该框架提供了一套简单的 Spring 模块依赖和管理工具,从而避免了开发人员处理复杂的模块依赖和版本冲突问题,同事提供打包即可用 Web 服务。
+
+SpringBoot 特点如下:
+
+- 快速创建独立的 Spring 应用程序
+- 嵌入 Tomcat Web 容器,可快速部署
+- 自动配置 JAR 包依赖和版本控制,简化 Maven 配置
+- 自动装配 Spring 实例,不需要 XML 配置
+- 提供诸如性能指标、健康检查、外部配置等线上监控和配置功能。
+
+## Spring Boot Application Starters
+
+Starters 是一组**资源依赖描述**,用于为不同的 SpringBoot 应用提供一站式服务,而不必像传统的 Spring 项目那样,需要开发人员处理服务和服务之间的复杂依赖关系。例如,如果需要开发 REST 服务或 Web 应用程序时,只需只需添加一个 **spring-boot-starter-web** 依赖就可以了,具体的依赖细节由 Starters 统一处理,不需要应用程序分别处理各个 Jar 包之间的依赖关系。
+
+```html
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+```
+
+## Spring Boot 支持的内嵌 Servlet 容器
+
+Spring Boot 支持的内嵌 Servlet 容器有:
+
+- Tomcat 9.0
+- Jetty 9.4
+- Undertow 2.0
+
+Spring Boot ( spring-boot-starter-web) 使用 Tomcat 作为默认的嵌入式 Servlet 容器,如果需要使用 Jetty 的话需要修改 pom.xml (Maven) 或者 build.gradle (Gradle) 文件配置。
+
+```html
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jetty
+
+```
+
+```html
+// 修改 build.gradle 文件配置(看上去更加简洁)
+compile("org.springframework.boot:spring-boot-starter-web") {
+ exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat'
+}
+compile("org.springframework.boot:spring-boot-starter-jetty")
+```
+
diff --git "a/docs/SpringBoot/2_351円205円215円347円275円256円346円226円207円344円273円266円.md" "b/docs/SpringBoot/2_351円205円215円347円275円256円346円226円207円344円273円266円.md"
new file mode 100644
index 00000000..92f4732c
--- /dev/null
+++ "b/docs/SpringBoot/2_351円205円215円347円275円256円346円226円207円344円273円266円.md"
@@ -0,0 +1,214 @@
+# 配置文件
+
+## YAML 文件
+
+我们可以通过 application.properties / application.yml 对 Spring Boot 程序进行简单的配置。
+
+YAML 是 "YAML Ain't a Markup Language"(YAML 不是一种标记语言)的递归缩写,是一种人类可读的数据序列化语言。相比于 properties 文件,YAML 配置的方式更加直观清晰,简介明了,有层次感。
+
+properties 配置方式:
+
+```html
+server.port=8330
+spring.dubbo.applicaiton.name=dubbo-consumer
+spring.dubbo.applicaiton.registry=zookeeper:127.0.0.1:2181
+```
+
+yaml 配置方式:
+
+```html
+server:
+ prot:8330
+spring:
+ dubbo:
+ application:
+ name:dubbo-consumer
+ registry:zookeeper:127.0.0.1:2181
+```
+
+但是 YAML 配置的方式有一个缺点,那就是不支持 @PropertySource 注解导入自定义的 YAML 配置。
+
+## 读取配置文件
+
+### @Value 方式
+
+```java
+@Value("${xxx}")
+String xxx;
+```
+
+根据传入的 xxx 获取相应的值,@Value 方式一般同于读取比较简单的配置信息,但是并不建议使用。
+
+### @ConfigurationProperties 方式
+
+定义一个 LibraryProperties 类:
+
+```java
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+// 使用 @Component 注解声明,可以像使用普通 Bean 一样将其注入到类中使用。
+@Component
+@ConfigurationProperties(prefix = "library")
+@Setter
+@Getter
+@ToString
+class LibraryProperties {
+ private String location;
+ private List books;
+
+ @Setter
+ @Getter
+ @ToString
+ static class Book {
+ String name;
+ String description;
+ }
+}
+```
+
+
+
+```java
+package cn.javaguide.readconfigproperties;
+
+import org.springframework.beans.factory.InitializingBean;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class ReadConfigPropertiesApplication implements InitializingBean {
+
+ // 注入使用
+ private final LibraryProperties library;
+
+ public ReadConfigPropertiesApplication(LibraryProperties library) {
+ this.library = library;
+ }
+
+ public static void main(String[] args) {
+ SpringApplication.run(ReadConfigPropertiesApplication.class, args);
+ }
+
+ @Override
+ public void afterPropertiesSet() {
+ System.out.println(library.getLocation());
+ System.out.println(library.getBooks());
+ }
+}
+```
+
+### @ConfigurationProperties 方式
+
+@ConfigurationProperties 方式不仅可以读取数据,还可以对读取的数据进行校验。
+
+```html
+user:
+ name: xxx
+ email: 123455@
+```
+
+```java
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+import org.springframework.validation.annotation.Validated;
+
+import javax.validation.constraints.Email;
+import javax.validation.constraints.NotEmpty;
+
+// 注意:这里 ProfileProperties 类没有加 @Component 注解。
+@Getter
+@Setter
+@ToString
+@ConfigurationProperties("user")
+@Validated
+public class ProfileProperties {
+ @NotEmpty
+ private String name;
+
+ @Email
+ @NotEmpty
+ private String email;
+
+ // 配置文件中没有读取到的话就用默认值
+ private Boolean handsome = Boolean.TRUE;
+}
+```
+
+```java
+import org.springframework.beans.factory.InitializingBean;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+
+@SpringBootApplication
+// 使用 @EnableConfigurationProperties 注册我们的配置 Bean。
+@EnableConfigurationProperties(ProfileProperties.class)
+public class ReadConfigPropertiesApplication implements InitializingBean {
+ private final ProfileProperties profileProperties;
+
+ public ReadConfigPropertiesApplication(ProfileProperties profileProperties) {
+ this.profileProperties = profileProperties;
+ }
+
+ public static void main(String[] args) {
+ SpringApplication.run(ReadConfigPropertiesApplication.class, args);
+ }
+
+ @Override
+ public void afterPropertiesSet() {
+ System.out.println(profileProperties.toString());
+ }
+}
+```
+
+邮箱格式不正确,所以程序运行的时候就报错,也就保证了数据类型的安全性。
+
+### @PropertySource 方式
+
+```java
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.stereotype.Component;
+
+@Component
+// @PropertySource 注解方式读取指定的 .properties 文件
+@PropertySource("classpath:website.properties")
+@Getter
+@Setter
+class WebSite {
+ @Value("${url}")
+ private String url;
+}
+```
+
+使用:
+
+```java
+@Autowired
+private WebSite webSite;
+
+System.out.println(webSite.getUrl());
+```
+
+## Spring Boot 加载配置文件的优先级
+
+Spring 读取配置文件也是有优先级的,其中:
+
+- 项目目录下的 config 目录下的 applicaiton.yml 的优先级最高;
+- resources 目录下的 config 目录下的 application.yml 的优先级次之;
+- resources 目录下的 application.yml 优先级最低。
+
+
\ No newline at end of file
diff --git "a/docs/SpringBoot/3_345円270円270円347円224円250円346円263円250円350円247円243円.md" "b/docs/SpringBoot/3_345円270円270円347円224円250円346円263円250円350円247円243円.md"
new file mode 100644
index 00000000..aa907675
--- /dev/null
+++ "b/docs/SpringBoot/3_345円270円270円347円224円250円346円263円250円350円247円243円.md"
@@ -0,0 +1,102 @@
+# 常用注解
+
+## @SpringBootApplication
+
+Spring Boot 项目的基石,创建 Spring Boot 项目之后会默认在主类加上。
+
+@SpringBootApplication 可以认为是 **@Configuration** 、**@EnableAutoConfiguration** 和 **@ComponentScan** 注解的集合。这三个注解的具体作用如下:
+
+- @EnableAutoConfiguration:启用 SpringBoot 的自动配置机制
+- @ComponentScan: 扫描被 @Component / @Service / @Controller 注解的 Bean,注解默认会扫描该类所在的包下所有的类。
+- @Configuration:允许在 Spring 上下文中注册额外的 Bean 或导入其他配置类
+
+@EnableAutoConfiguration 注解是启动自动配置的关键,其源码如下:
+
+```java
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import org.springframework.context.annotation.Import;
+
+@Target({ElementType.TYPE})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+@Inherited
+@AutoConfigurationPackage
+@Import({AutoConfigurationImportSelector.class})
+public @interface EnableAutoConfiguration {
+ String ENABLED_OVERRIDE_PROPERTY = "spring.boot.enableautoconfiguration";
+
+ Class>[] exclude() default {};
+
+ String[] excludeName() default {};
+}
+```
+
+@EnableAutoConfiguration 注解通过 Spring 提供的 @Import 注解导入 AutoConfigurationImportSelector 类。AutoConfigurationImportSelector 类中 getCandidateConfigurations 方法会将所有自动配置类的信息以 List 的形式返回,这些配置信息会被 Spring 容器当作 Bean 来进行管理。
+
+```java
+ protected List getCandidateConfigurations(AnnotationMetadata metadata, AnnotationAttributes attributes) {
+ List configurations = SpringFactoriesLoader.loadFactoryNames(getSpringFactoriesLoaderFactoryClass(),
+ getBeanClassLoader());
+ Assert.notEmpty(configurations, "No auto configuration classes found in META-INF/spring.factories. If you "
+ + "are using a custom packaging, make sure that file is correct.");
+ return configurations;
+ }
+```
+
+补充:[SpringBoot 自动装配原理](https://www.cnblogs.com/javaguide/p/springboot-auto-config.html)
+
+
+
+## Spring Bean 相关注解
+
+- Autowired
+
+ 自动导入对象到类中,被注入进的类同样要被 Spring 容器管理。
+
+- @RestController
+
+ @RestController 注解是 @Controller和 @ResponseBody 的合集,表示这是个控制器 Bean,并且是将函数的返回值直 接填入 HTTP 响应体中,是 REST 风格的控制器。
+
+- @Component
+
+ 可标注任意类为 Spring 组件。如果一个 Bean 不知道属于哪个层,可以使用 @Component 注解标注。
+
+- @Repository
+
+ 对应持久层即 Dao 层,主要用于数据库相关操作。
+
+- @Service
+
+ 对应服务层,主要涉及一些复杂的逻辑,需要用到 Dao 层。
+
+- @Controller
+
+ 对应 Spring MVC 控制层,主要用于接受用户请求并调用 Service 层返回数据给前端页面。
+
+
+
+## 处理常见的 HTTP 请求类型
+
+- @GetMapping:GET 请求
+- @PostMapping:POST 请求
+- @PutMapping:PUT 请求
+- @DeleteMapping:DELETE 请求
+
+
+
+## 前后端传值
+
+- @RequestParam & @Pathvairable
+
+ @PathVariable用于获取路径参数;
+
+ @RequestParam用于获取查询参数。
+
+- @RequestBody
+
+ 用于读取 request 请求(可能是 POST、PUT、DELETE、GET 请求)的 Body 部分并且 Content-Type 为 application/json 格式的数据,接收到数据之后会自动将数据绑定到 Java 对象上去。系统会使用HttpMessageConverter 或者自定义的 HttpMessageConverter 将请求的 Body 中的 json 字符串转换为 java 对象。
\ No newline at end of file
diff --git "a/docs/SpringBoot/4_350円257円267円346円261円202円345円217円202円346円225円260円346円240円241円351円252円214円.md" "b/docs/SpringBoot/4_350円257円267円346円261円202円345円217円202円346円225円260円346円240円241円351円252円214円.md"
new file mode 100644
index 00000000..10867edb
--- /dev/null
+++ "b/docs/SpringBoot/4_350円257円267円346円261円202円345円217円202円346円225円260円346円240円241円351円252円214円.md"
@@ -0,0 +1,121 @@
+# 请求参数校验
+
+我们需要对传入后端的数据再进行一遍校验,避免用户绕过浏览器直接通过一些 HTTP 工具直接向后端请求一些违法数据。Spring Boot 程序做请求参数校验,需要引入 **spring-boot-starter-web** 依赖。
+
+## 常用校验注解
+
+### JSR 校验注解
+
+- @Null
+
+ 被注释的元素必须为 null
+
+- @NotNull
+
+ 被注释的元素必须不为 null
+
+- @AssertTrue
+
+ 被注释的元素必须为 true
+
+- @AssertFalse
+
+ 被注释的元素必须为 false
+
+- @Min(value)
+
+ 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
+
+- @Max(value)
+
+ 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
+
+- @DecimalMin(value)
+
+ 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
+
+- @DecimalMax(value)
+
+ 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
+
+- @Size(max=, min=)
+
+ 被注释的元素的大小必须在指定的范围内
+
+- @Digits (integer, fraction)
+
+ 被注释的元素必须是一个数字,其值必须在可接受的范围内
+
+- @Past
+
+ 被注释的元素必须是一个过去的日期
+
+- @Future
+
+ 被注释的元素必须是一个将来的日期
+
+- @Pattern(regex=,flag=)
+
+ 被注释的元素必须符合指定的正则表达式
+
+### Hibernate Validator 校验注解
+
+- @NotBlank(message =)
+
+ 验证字符串非 null,且长度必须大于 0
+
+- @Email
+
+ 被注释的元素必须是电子邮箱地址
+
+- @Length(min=,max=)
+
+ 被注释的字符串的大小必须在指定的范围内
+
+- @NotEmpty
+
+ 被注释的字符串的必须非空
+
+- @Range(min=,max=,message=)
+
+ 被注释的元素必须在合适的范围内
+
+## 验证请求参数 Path Variables 和 Request Parameters
+
+```java
+@RestController
+@RequestMapping("/api")
+// 使用 @Validated 注解,告诉 Spring 去校验方法参数。
+@Validated
+public class PersonController {
+
+ @GetMapping("/person/{id}")
+ // 校验请求参数 Path Variables
+ public ResponseEntity getPersonByID(@Valid @PathVariable("id") @Max(value = 5,message = "超过 id 的范围了") Integer id) {
+ return ResponseEntity.ok().body(id);
+ }
+
+ @PutMapping("/person")
+ // 校验请求参数 Request Parameters
+ public ResponseEntity getPersonByName(@Valid @RequestParam("name") @Size(max = 6,message = "超过 name 的范围了") String name) {
+ return ResponseEntity.ok().body(name);
+ }
+}
+```
+
+## 验证请求体
+
+在需要验证的参数上加上了@Valid 注解,如果验证失败,它将抛出 MethodArgumentNotValidException。默认情况下,Spring 会将此异常转换为 HTTP Status 400(错误请求)。
+
+```java
+@RestController
+@RequestMapping("/api")
+public class PersonController {
+
+ @PostMapping("/person")
+ public ResponseEntity getPerson(@RequestBody @Valid Person person) {
+ return ResponseEntity.ok().body(person);
+ }
+}
+```
+
diff --git "a/docs/SpringBoot/5_345円205円250円345円261円200円345円274円202円345円270円270円345円244円204円347円220円206円.md" "b/docs/SpringBoot/5_345円205円250円345円261円200円345円274円202円345円270円270円345円244円204円347円220円206円.md"
new file mode 100644
index 00000000..2fba31ac
--- /dev/null
+++ "b/docs/SpringBoot/5_345円205円250円345円261円200円345円274円202円345円270円270円345円244円204円347円220円206円.md"
@@ -0,0 +1,3 @@
+# 全局异常处理
+
+待补充。
\ No newline at end of file
diff --git "a/docs/SpringBoot/6_345円256円236円347円216円260円345円256円232円346円227円266円344円273円273円345円212円241円.md" "b/docs/SpringBoot/6_345円256円236円347円216円260円345円256円232円346円227円266円344円273円273円345円212円241円.md"
new file mode 100644
index 00000000..0d093d60
--- /dev/null
+++ "b/docs/SpringBoot/6_345円256円236円347円216円260円345円256円232円346円227円266円344円273円273円345円212円241円.md"
@@ -0,0 +1,22 @@
+# 实现定时任务
+
+基于 SpringBoot 的 @Scheduled 注解就能很方便地创建一个定时任务。
+
+```java
+@Component
+public class ScheduledTasks {
+ private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class);
+ private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
+
+ /**
+ * fixedRate:即固定速率执行,单位是毫秒,这里 5000 表示每 5 秒执行一次。
+ */
+ @Scheduled(fixedRate = 5000)
+ public void reportCurrentTimeWithFixedRate() {
+ log.info("Current Thread : {}", Thread.currentThread().getName());
+ log.info("Fixed Rate Task : The time is now {}", dateFormat.format(new Date()));
+ }
+}
+```
+
+然后需要在启动类中加上 @EnableScheduling 注解,这样才可以启动定时任务。@EnableScheduling 注解的作用是发现注解 @Scheduled 的任务并在后台执行该任务。
\ No newline at end of file
diff --git a/docs/SpringBoot/8_SpringBoot.md b/docs/SpringBoot/8_SpringBoot.md
new file mode 100644
index 00000000..8ccf0907
--- /dev/null
+++ b/docs/SpringBoot/8_SpringBoot.md
@@ -0,0 +1,51 @@
+# SpringBoot
+
+## 简介
+
+SpringBoot 是由 pivotal 团队开发的全新的Spring 框架,其设计初衷是简化 Spring 应用复杂的搭建和开发过程。该框架提供了一套简单的 Spring 模块依赖和管理工具,从而避免了开发人员处理复杂的模块依赖和版本冲突问题,同事提供打包即可用 Web 服务。
+
+SpringBoot 特点如下:
+
+- 快速创建独立的 Spring 应用程序
+- 嵌入 Tomcat Web 容器,可快速部署。
+- 自动配置 JAR 包依赖和版本控制,简化 Maven 配置
+- 自动装配 Spring 实例,不需要 XML 配置
+- 提供诸如性能指标、健康检查、外部配置等线上监控和配置功能。
+
+## 常用注解
+
+### @SpringBootApplication
+
+Spring Boot 项目的基石,创建 SpringBoot 项目之后会默认在主类加上。
+
+@SpringBootApplication 可以认为是 @Configuration 、@EnableAutoConfiguration 和 @ComponentScan 注解的集合。其中
+
+- @EnableAutoConfiguration:启用 SpringBoot 的自动配置机制
+- @ComponentScan: 扫描被 @Component / @Service / @Controller 注解的 Bean,注解默认会扫描该类所在的包下所有的类。
+- @Configuration:允许在 Spring 上下文中注册额外的 Bean 或导入其他配置类
+
+### @Value & @ ConfigurationProperties & @PropertySource
+
+通过 @Value("${property}") 读取比较简单的配置信息;
+
+通过 @ConfigurationProperties 读取配置信息并与 bean 绑定;
+
+通过 @PropertySource 读取指定 properties 文件。
+
+### @ControllerAdvice & @ExceptionHandler
+
+@ControllerAdvice:注解定义全局异常处理类
+
+@ExceptionHandler:注解声明异常处理方法
+
+## 实战
+
+- [SpringBoot 官网](https://spring.io/projects/spring-boot/)
+
+- [SpringBoot 实战](https://snailclimb.gitee.io/springboot-guide/#/)
+
+# SpringBoot 面试题
+
+- [SpringBoot 自动装配原理](https://www.cnblogs.com/javaguide/p/springboot-auto-config.html)
+
+- [Spring Boot面试题(2020最新版)](https://thinkwon.blog.csdn.net/article/details/104397299?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.no_search_link)
diff --git "a/docs/Zookeeper/1_346円246円202円350円277円260円.md" "b/docs/Zookeeper/1_346円246円202円350円277円260円.md"
new file mode 100644
index 00000000..ced63e54
--- /dev/null
+++ "b/docs/Zookeeper/1_346円246円202円350円277円260円.md"
@@ -0,0 +1,51 @@
+# Zookeeper 概述
+
+ZooKeeper 是一个开源的**分布式协调服务**,它的设计目标为分布式软件提供一致性服务。
+
+ZooKeeper 提供了一个类似 Linux 文件系统的树形结构,Zookeeper 的每个节点既可以是目录也可以是数据,同时 Zookeeper 提供了对每个节点的监控与通知机制。基于 Zookeeper 的一致性服务,可以方便地实现分布式锁、分布式选举、数据发布订阅、配置中心等功能。
+
+## 特点
+
+- 原子性
+
+ 所有事务请求的处理结果在整个集群中所有机器上的应用情况是一致的,也就是说,要么整个集群中所有的机器都成功应用了某一个事务,要么都没有应用。
+
+- 顺序一致性
+
+ 从同一客户端发起的事务请求,最终将会严格地按照顺序被应用到 ZooKeeper 中去。
+
+- 可靠性
+
+ 一旦一次更改请求被应用,更改的结果就会被持久化,直到被下一次更改覆盖。
+
+- 单一系统映像
+
+ 无论客户端连到哪一个 ZooKeeper 服务器,其看到的服务端数据模型都是一致的。
+
+## 典型应用场景
+
+- 统一命名服务
+
+ 可以通过 ZooKeeper 的顺序节点生成全局唯一 ID。
+
+- 分布式锁
+
+ 通过创建唯一节点获得分布式锁,当获得锁的一方执行完相关代码或者是挂掉之后就释放锁。
+
+- 数据发布 / 订阅
+
+ 通过 **Watcher 机制**可以很方便地实现数据发布 / 订阅。将数据发布到 ZooKeeper 被监听的节点上,其他机器可通过监听 ZooKeeper 上节点的变化来实现配置的动态更新。
+
+## 支持的框架
+
+- Kafka
+
+ ZooKeeper 主要为 Kafka 提供 Broker 和 Topic 的注册以及多个 Partition 的负载均衡等功能。
+
+- HBase
+
+ ZooKeeper 确保 Hbase 整个集群只有一个 Master 以及保存和提供 regionserver 状态信息(是否在线)等功能。
+
+- Hadoop
+
+ ZooKeeper 为 NameNode 提供高可用支持。
\ No newline at end of file
diff --git "a/docs/Zookeeper/2_346円225円260円346円215円256円346円250円241円345円236円213円.md" "b/docs/Zookeeper/2_346円225円260円346円215円256円346円250円241円345円236円213円.md"
new file mode 100644
index 00000000..045b82f4
--- /dev/null
+++ "b/docs/Zookeeper/2_346円225円260円346円215円256円346円250円241円345円236円213円.md"
@@ -0,0 +1,80 @@
+# Zookeeper 的数据模型
+
+ZooKeeper 使用一个树形结构的命令空间表示其数据结构。ZooKeeper 树中的每个节点称为一个 Znode,Znode是 ZooKeeper 中数据的最小单元并且每个 Znode 都有一个唯一的路径标识。**ZooKeeper 主要是用来协调服务的,而不是用来存储业务数据的,一般不要放比较大的数据在 Znode 上,所以 ZooKeeper 给出的上限是每个结点的数据大小最大是 1M。**
+
+ZooKeeper 的每个节点不经存储了数据信息,同时提供对节点信息监控 (Watch) 等操作。
+
+每个节点还可以拥有 N 个子节点,最上层是根节点以"/"来代表,Zookeeper 的数据模型如下图:
+
+
+
+## Znode 数据模型
+
+Znode 兼具文件和目录两种特点:既可以像文件一样保存和维护数据,又可以像目录一样作为路径标识的一部分。每个 Znode 有 3 部分组成:
+
+- Stat
+
+ 状态信息,用于存储 Znode 的版本、权限和时间戳等信息。
+
+- Data
+
+ Znode 中具体存储的数据。
+
+- Children
+
+ Znode 子节点的信息描述。
+
+Znode 节点虽然可以存储数据,但并不能存储大量数据,主要是用来存储分布式应用中的配置文件、集群状态等元数据信息。
+
+## Znode 节点类型
+
+Zookeeper 中节点有 3 种:永久节点、临时节点、有序节点。节点的类型在创建时被确定并且不能改变。
+
+- 永久节点
+
+ 一旦创建就一直存在即使 ZooKeeper 集群宕机,直到将其删除。该类节点一般用于存储一些永久性的配置信息。
+
+- 临时节点
+
+ 如果会话结束或者超时临时节点就会消失。此外,**临时节点只能做叶子节点** ,不能创建子节点。
+
+- 有序节点
+
+ 在节点名的后面加一个数字后缀,并且是有序的,例如生成的有序节点为 /lock/node-0000000000,它的下一个有序节点则为 /lock/node-0000000001,以此类推。显然有序节点包括永久有序结点和临时有序节点。
+
+## Znode 访问控制
+
+### ACL
+
+每个 Znode 节点都有一个访问控制列表(Access Control List,ACL),该列表规定了用户对节点的访问权限,应用程序可以根据需求将用户分为只读、只写和读写用户。对于 Znode 操作的权限,ZooKeeper 提供了以下 5 种:
+
+- READ:获取节点数据和列出其子节点
+- WRITE:设置 / 更新节点数据
+- ADMIN: 设置节点 ACL 权限
+- DELETE:删除子节点
+- CREATE:创建子节点
+
+对于身份认证,提供了以下几种方式:
+
+- world: 默认方式,所有用户都可无条件访问。
+- auth:不使用任何 id,代表任何已认证的用户。
+- digest:用户名+密码认证方式。
+- ip:对指定 IP 进行限制。
+
+### 原子操作
+
+每个 Znode 节点上的数据都具有原子操作的特性,读操作将获取与节点相关的数据,写操作将替换节点上的数据。
+
+## Watcher
+
+Watcher 即事件监听器,是 ZooKeeper 中的一个很重要的特性。
+
+ZooKeeper 允许用户在指定节点上注册一些 Watcher,并且在一些特定事件触发的时候,ZooKeeper 服务端会将事件通知到感兴趣的客户端上去,该机制是 ZooKeeper 实现分布式协调服务的重要特性。
+
+## Session
+
+Session 即会话,可以看作是 ZooKeeper 服务器与客户端的之间的一个 TCP 长连接,通过这个连接,客户端能够通过心跳检测与服务器是否保持有效的会话,也能够向 ZooKeeper 服务器发送请求并接受响应,同时还能够通过该连接接收来自服务器的 Watcher 事件通知。
+
+Session 有一个属性叫做:sessionTimeout ,即会话的超时时间。当由于服务器压力太大、网络故障或是客户端主动断开连接等各种原因导致客户端连接断开时,只要在 sessionTimeout 规定的时间内能够重新连接上集群中任意一台服务器,那么之前创建的会话仍然有效。
+
+另外,在为客户端创建会话之前,服务端首先会为每个客户端都分配一个 sessionID。由于 sessionID是 ZooKeeper 会话的一个重要标识,许多与会话相关的运行机制都是基于这个 sessionID 的,因此无论是哪台服务器为客户端分配的 sessionID,都必须是全局唯一的。
\ No newline at end of file
diff --git "a/docs/Zookeeper/3_345円216円237円347円220円206円.md" "b/docs/Zookeeper/3_345円216円237円347円220円206円.md"
new file mode 100644
index 00000000..1c7db949
--- /dev/null
+++ "b/docs/Zookeeper/3_345円216円237円347円220円206円.md"
@@ -0,0 +1,152 @@
+# Zookeeper 原理
+
+## ZooKeeper 集群的角色
+
+Zookeeper 是一个基于主从复制的高可用集群。通常 3 台服务器就可构成一个 ZooKeeper 集群。ZooKeeper 官方提供的架构图就是一个 ZooKeeper 集群整体对外提供服务。
+
+
+
+每一个 Server 代表一个安装 ZooKeeper 服务的服务器,组成 ZooKeeper 服务的服务器都会在内存中维护当前的服务器状态,并且每台服务器之间都互相保持着通信。
+
+Zookeeper 的角色包括 Leader、Follower 和 Observer。
+
+### Leader
+
+一个运行中的 Zookeeper 集群只有一个 Leader 服务,Leader 服务主要有 2 个职责:
+
+- 负责集群数据的写操作
+- 发起并维护各个 Follower 及 Observer 之间的心跳以监听集群的运行状态。
+
+Zookeeper 集群中所有写操作都必须经过 Leader,只有 Leader 写操作完成后,才将写操作广播到其他 Follower。只有超过半数节点(不包括 Observer 节点)写入成功时,该写请求才算写成功。
+
+### Follower
+
+一个运行中的 Zookeeper 集群只有一个 Follower,Follower 通过心跳和 Leader 保持连接。Follower 服务主要有 2 个职责:
+
+- 负责集群数据的读操作
+- 参与集群的 Leader 选举
+
+Follower 在接收到一个客户端请求后会先判断该请求是读请求还是写请求,如果是读请求,那么 Follower 从本地节点上读取数据并返回给客户端;如果是写请求,那么 Follower 会将写请求转发给 Leader 来处理;此外,如果 Leader 失效, Follower 需要在集群选举时进行投票。
+
+### Observer
+
+一个运行中的 Zookeeper 集群只有一个 Observer,Observer 的主要职责是负责集群数据的读操作。Observer 与 Follower 的功能类似,但是 Observer 无投票权。
+
+Zookeeper 集群在运行过程中需要支持更多的客户端并发操作,就需要更多的服务实例,而更多的服务实例会使集群投票阶段变得复杂,集群选主时间过程,不利于集群故障快速恢复。因此,Zookeeper 中引入 Observer,Observer 不参与投票,但是接收来自客户端的连接并响应客户端的读请求,将写请求转发给 Leader。加入更多的 Observer节点,不仅提高了 Zookeeper 集群的吞吐量,也保障了系统的稳定性。
+
+
+
+## ZAB 协议
+
+ZAB(ZooKeeper Atomic Broadcast) 协议即 Zookeeper 原子广播协议。
+
+在 ZooKeeper 中,主要依赖 ZAB 协议来实现分布式数据一致性,基于该协议,ZooKeeper 实现了一种主备模式的系统架构来保持集群中各个副本之间的数据一致性。
+
+### Epoch & Zxid
+
+Epoch 即**当前集群的周期号(年代号)**,集群的每次 Leader 变更都会产生一个新的周期号,周期号的产生规则是在上一周期号的基础上加 1,当之前的 Leader 崩溃恢复后会发现自己的周期号比当前的周期号小,说明此时集群已经产生了新的 Leader,旧的 Leader 会再次以 Follower 的角色进入集群。
+
+Zxid 即 ZAB 协议的事务编号,是一个 64 bit 的数据,其中低 32 bit 是一个单调递增的计数器,对于客户端的每一个事务请求,计数器都加 1,高 32 bit 存储 Epoch。每次选举产生一个新的 Leader 时,该 Leader 都会从当前服务器日志中取出最大的 Zxid,获取其中搞 32 bit 的 Epoch 值并加 1,作为新的 Epoch,并将低 32 bit 从 0 开始计数。Zxid 用于标识一次提议的 id,为了保证顺序性,Zxid 必须单调递增。
+
+### ZAB 协议的 2 种模式
+
+ZAB 协议有 2 种模式:恢复模式和广播模式。
+
+- 恢复模式(集群选主)
+
+ 在集群启动、集群重启或者 Leader 奔溃后,集群将开始选主,该过程即为恢复模式。
+
+- 广播模式(数据同步)
+
+ 当 Leader 被选举出来后,Leader 将最新的集群状态广播给其他 Follower,该过程即为广播模式。在半数以上是我 Follower 完成与 Leader 状态同步后,广播模式结束。这里的**状态同步是指数据同步**,用来保证集群中存在过半的机器能够和 Leader 的数据状态保持一致。
+
+### ZAB 协议的 4 个阶段
+
+#### 1. 选举阶段 (Leader Election)
+
+在集群选举开始时,所有节点都处于选举阶段。当某一个节点的票数查过半数节点后,该节点将被当选为**准 Leader** 。
+
+只有到达广播阶段后,准 Leader 才会成为真正的 Leader。
+
+选举阶段的目的是产生一个准 Leader。
+
+#### 2. 发现阶段 (Discovery)
+
+在发现阶段,Followers 开始和准 Leader 进行通信,同步 Followers 最近接收的事务提议。此时,准 Leader 会产生一个新的 Epoch,并尝试让 Followers 接收该 Epoch 后再更新到本地。
+
+发现阶段的一个 Follower 只会连接一个 Leader,如果节点 1 认为节点 2 是 Leader,那么节点 1 就是就会尝试连接节点 2,若连接被拒绝,则集群会重新进入选举阶段。
+
+发现阶段的主要目的是发现大多数节点接收的最新提议。
+
+#### 3. 同步阶段 (Synchronization)
+
+同步阶段主要是利用 Leader 前一阶段获得的最新提议信息同步到集群中所有副本,只有当半数以上的节点都同步完成后,准 Leader 才会成为真正的 Leader。
+
+同步阶段完成后集群选主操作才完成,新的 Leader 将产生。
+
+#### 4. 广播阶段 (Broadcast)
+
+到了广播阶段,ZooKeeper 集群才能正式对外提供事务服务,并且 Leader 进行消息广播,将其上的状态通知到其他 Follower。如果有新的节点加入,那么 Leader 需要对新节点进行状态同步。
+
+ZAB 协议的 Java
+
+## Zookeeper 选举机制和流程
+
+### Zookeeper 选举机制
+
+每个 Server 都可提议自己是 Leader,并为自己投票,然后将投票结果与其他 Server 的选票进行对比,权重大的胜出。具体选举过程如下:
+
+- 每个 Server 启动后都询问其他 Server 给谁投票,其他 Server 根据自己的状态回复自己推荐的 Leader 返回对应的 Leader id 和 Zxid。在集群初次启动时,每个 Server 都会推荐自己为 Leader。
+- 当 Server 收到所有其他 Server 回复后,计算出 Zxid 最大的 Server,并将该 Server 设置成下一次要投票的 Server。
+- 计算过程中票数最多的 Server 将成为获胜者,如果获胜者的票数超过集群个数的一半,则该 Server 就被推选为 Leader。否则继续投票,直到 Leader 被选举出来。
+- Leader 等待其他 Server 连接。
+- Follower 连接 Leader,将最大的 Zxid 发送给 Leader。
+- Leader 根据 Follower 的 Zxid 确定同步点,至此,选举阶段完成。
+
+在选举阶段完成后,Leader 通知其他 Follower,集群已成为 Uptodate 状态,Follower 收到 Uptodate 消息后,接收客户端请求开始对外提供服务。
+
+### ZAB 协议的 Java 实现
+
+ZAB 协议的 Java 实现与其定义略有不同,在实际实现时,选举阶段采用 Fast Leader Election 模式。在该模式下,节点首先向所有 Server 提议自己要成为 Leader,当其它 Server 收到提议后,判断 Epoch 信息并接受对方的提议,然后向对方发送接收提议完成的消息;同时,在 Java 的实现过程中将发现阶段和同步阶段合并为恢复阶段(Recovery)。因此,ZAB 协议的 Java 实现只有 3 个阶段:Fast Leader Election、Recovery 和 Broadcast。
+
+### 具体选举过程
+
+以 5 台 Server 选主为例:
+
+- S1 启动
+
+ S1 提议自己为 Leader 并为自己投票,然后将投票结果发送给其他 Server,此时其他 Server 还未启动,因此收不到任何反馈信息。S1 就处于 Looking 状态。
+
+- S2 启动
+
+ S2 提议自己为 Leader 并为自己投票,然后与 S1 交换投票结果,由于 S2 的 Zxid 大于 S1 的 Zxid,S2 胜出,但是投票未过半,S1 和 S2 均处于 Looking 状态。
+
+- S3 启动
+
+ S3 提议自己为 Leader 并为自己投票,然后与 S1、S2 交换投票结果,由于 S3 的 Zxid 值最大,所以 S3 胜出。此时 S3 的票数过半,S3 就是 Leader,S1 和 S2 成为 Follower。
+
+- S4 启动
+
+ S4 提议自己为 Leader 并为自己投票,然后与 S1、S2、S3 交换投票结果,发现 S3 已经成为 Leader,S4 就成为 Follower。
+
+- S5 启动
+
+ S5 提议自己为 Leader 并为自己投票,然后与 S1、S2、S3和 S4 交换投票结果,发现 S3 已经成为 Leader,S5 就成为 Follower。
+
+
+
+## 关于 ZooKeeper 集群的几个问题
+
+- ZooKeeper 集群中一般部署奇数台 Server,why ?
+
+ 这是因为 ZooKeeper 集群在宕掉几个 Server 后,如果剩下的 Server 数大于宕掉的 Server 数的话整个 ZooKeeper 才依然可用。假如我们的集群中有 n 台 Server ,那么也就是剩下的服务数必须大于 n/2。
+
+ 假设有 3 台服务器,那么最大允许宕掉 1 台 ZooKeeper 服务器,如果我们有 4 台的的时候也同样只允许宕掉 1 台;假如有 5 台服务器,那么最大允许宕掉 2 台 ZooKeeper 服务器,如果我们有 6 台的的时候也同样只允许宕掉 2 台。可以看出,2n 和 2n-1 的容错度是一样的,所以采用奇数台 Server 就行了。
+
+- ZooKeeper 为何采用选举过半机制?
+
+ 采用过半机制是如何防止集群脑裂。
+
+ 集群脑裂指的是对于一个集群,如果发生网络故障,Server 之间不能正常通信,集群被割裂成几个小集群,此时子集群各自进行选主导致"脑裂"的情况。
+
+ 假设一个由 6 台服务器所组成的集群,部署在了 2 个机房,每个机房 3 台。正常情况下只有 1 个 Leader,但是当两个机房中间网络断开的时候,每个机房的 3 台服务器都会认为另一个机房的 3 台服务器下线,而选出自己的 Leader 并对外提供服务。若没有过半机制,当网络恢复的时候会发现有 2 个 Leader。这好比原来的 1 个大脑(Leader)分散成了 2 个大脑,这就发生了脑裂现象。脑裂期间 2 个 "大脑" 都可能对外提供了服务,会带来数据一致性等问题。而 ZooKeeper 的过半机制导致不可能产生 2 个 Leader,因为少于等于一半是不可能产生 Leader 的,这就使得不论机房的机器如何分配都不可能发生脑裂。
diff --git "a/docs/Zookeeper/4_345円272円224円347円224円250円.md" "b/docs/Zookeeper/4_345円272円224円347円224円250円.md"
new file mode 100644
index 00000000..4a1826b1
--- /dev/null
+++ "b/docs/Zookeeper/4_345円272円224円347円224円250円.md"
@@ -0,0 +1,33 @@
+# Zookeeper 的应用
+
+## Zookeeper 应用场景
+
+### 统一命名服务
+
+在分布式环境中,应用程序经常需要对服务进行统一命名,以便识别不同的服务和快速获取服务列表,应用程序可以将服务名称和服务地址信息维护在 Zookeeper 上,客户端通过 Zookeeper 获取可用服务列表。
+
+### 配置管理
+
+在分布式环境下,应用程序可以将配置文件统一在 Zookeeper 上管理。配置信息可以按照系统配置、告警配置、业务开关配置等分类存储在不同的 Znode 上,各个服务在启动的时候从 Zookeeper 上读取配置,同时监听各个节点的 Znode 数据,一旦 Znode 中的配置被修改,Zookeeper 将通知各个服务然后在线更新配置。
+
+使用 Zookeeper 做统一配置管理,不但避免了维护散落在各个服务器上的配置文件的复杂性,同时在配置信息变化时能够及时通知各个服务器在线更新配置,而不用重启服务。
+
+### 集群管理
+
+在分布式环境下,实时管理每个服务的状态是 Zookeeper 使用最广的场景,常见的 Hbase、Kafka 和 HDFS 等集群都依赖 Zookeeper 做统一的状态管理。
+
+### 分布式通知协调
+
+基于 Znode 的临时结点和 Watch 特性,应用程序可以很容易地实现一个分布式通知协调系统。比如在集群中为每个服务器都创建一个周期为 30 s 的临时节点作为服务状态监控,要求每个服务每 10 s 定时向 Zookeeper 汇报监控状态。当 Zookeeper 连接 30 s 未收到服务的状态反馈时,则可以认为该服务异常,将其从服务列表中移除,同时将该结果通知其他监控该节点状态的服务。
+
+### 分布式锁
+
+由于 Zookeeper 是强一致性的,多个客户端同时在 Zookeeper 上创建相同的 Znode 时,只有一个能创建。基于该机制,应用程序可以实现锁的独占性,当多个客户端同时在 Zookeeper 上创建相同的 Znode 时,创建成功的那个客户端将得到锁,其他客户端则等待。
+
+将锁节点设置为 EPHEMERAL_SEQUENTIAL,则该 Znode 可掌握全局锁的访问时序。
+
+## Zookeeper 实战
+
+- [Zookeeper 官网](https://zookeeper.apache.org/)
+- [Zookeeper 实战](https://snailclimb.gitee.io/javaguide/#/docs/system-design/distributed-system/zookeeper/zookeeper-in-action)
+
diff --git a/docs/_coverpage.md b/docs/_coverpage.md
index 85456c5e..1a7a8681 100644
--- a/docs/_coverpage.md
+++ b/docs/_coverpage.md
@@ -1,4 +1,4 @@
-
+
@@ -19,9 +19,9 @@
数据库
+ 系统设计
常用框架
- 系统设计
- 工具
+ 工具
参考资料
diff --git a/docs/_pics/AimToOffer/0038204c-4b8a-42a5-921d-080f6674f989.png b/docs/_pics/AimToOffer/0038204c-4b8a-42a5-921d-080f6674f989.png
deleted file mode 100644
index 31a2d8d2..00000000
Binary files a/docs/_pics/AimToOffer/0038204c-4b8a-42a5-921d-080f6674f989.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/047faac4-a368-4565-8331-2b66253080d3.jpg b/docs/_pics/AimToOffer/047faac4-a368-4565-8331-2b66253080d3.jpg
deleted file mode 100644
index f6506214..00000000
Binary files a/docs/_pics/AimToOffer/047faac4-a368-4565-8331-2b66253080d3.jpg and /dev/null differ
diff --git a/docs/_pics/AimToOffer/05a08f2e-9914-4a77-92ef-aebeaecf4f66.jpg b/docs/_pics/AimToOffer/05a08f2e-9914-4a77-92ef-aebeaecf4f66.jpg
deleted file mode 100644
index 0e9bbc86..00000000
Binary files a/docs/_pics/AimToOffer/05a08f2e-9914-4a77-92ef-aebeaecf4f66.jpg and /dev/null differ
diff --git a/docs/_pics/AimToOffer/0ad9f7ba-f408-4999-a77a-9b73562c9088.gif b/docs/_pics/AimToOffer/0ad9f7ba-f408-4999-a77a-9b73562c9088.gif
deleted file mode 100644
index 81ebc9d2..00000000
Binary files a/docs/_pics/AimToOffer/0ad9f7ba-f408-4999-a77a-9b73562c9088.gif and /dev/null differ
diff --git a/docs/_pics/AimToOffer/0c12221f-729e-4c22-b0ba-0dfc909f8adf.jpg b/docs/_pics/AimToOffer/0c12221f-729e-4c22-b0ba-0dfc909f8adf.jpg
deleted file mode 100644
index 068f6dee..00000000
Binary files a/docs/_pics/AimToOffer/0c12221f-729e-4c22-b0ba-0dfc909f8adf.jpg and /dev/null differ
diff --git a/docs/_pics/AimToOffer/0dae7e93-cfd1-4bd3-97e8-325b032b716f.gif b/docs/_pics/AimToOffer/0dae7e93-cfd1-4bd3-97e8-325b032b716f.gif
deleted file mode 100644
index c8507532..00000000
Binary files a/docs/_pics/AimToOffer/0dae7e93-cfd1-4bd3-97e8-325b032b716f.gif and /dev/null differ
diff --git a/docs/_pics/AimToOffer/1176f9e1-3442-4808-a47a-76fbaea1b806.png b/docs/_pics/AimToOffer/1176f9e1-3442-4808-a47a-76fbaea1b806.png
deleted file mode 100644
index 581673ff..00000000
Binary files a/docs/_pics/AimToOffer/1176f9e1-3442-4808-a47a-76fbaea1b806.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/13454fa1-23a8-4578-9663-2b13a6af564a.jpg b/docs/_pics/AimToOffer/13454fa1-23a8-4578-9663-2b13a6af564a.jpg
deleted file mode 100644
index 5284457b..00000000
Binary files a/docs/_pics/AimToOffer/13454fa1-23a8-4578-9663-2b13a6af564a.jpg and /dev/null differ
diff --git a/docs/_pics/AimToOffer/17e301df-52e8-4886-b593-841a16d13e44.png b/docs/_pics/AimToOffer/17e301df-52e8-4886-b593-841a16d13e44.png
deleted file mode 100644
index b1ae4d1c..00000000
Binary files a/docs/_pics/AimToOffer/17e301df-52e8-4886-b593-841a16d13e44.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/195f8693-5ec4-4987-8560-f25e365879dd.png b/docs/_pics/AimToOffer/195f8693-5ec4-4987-8560-f25e365879dd.png
deleted file mode 100644
index b2ea3f87..00000000
Binary files a/docs/_pics/AimToOffer/195f8693-5ec4-4987-8560-f25e365879dd.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/1b80288d-1b35-4cd3-aa17-7e27ab9a2389.png b/docs/_pics/AimToOffer/1b80288d-1b35-4cd3-aa17-7e27ab9a2389.png
deleted file mode 100644
index 44b12ccd..00000000
Binary files a/docs/_pics/AimToOffer/1b80288d-1b35-4cd3-aa17-7e27ab9a2389.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/1db1c7ea-0443-478b-8df9-7e33b1336cc4.png b/docs/_pics/AimToOffer/1db1c7ea-0443-478b-8df9-7e33b1336cc4.png
deleted file mode 100644
index e3082177..00000000
Binary files a/docs/_pics/AimToOffer/1db1c7ea-0443-478b-8df9-7e33b1336cc4.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/31d9adce-2af8-4754-8386-0aabb4e500b0.png b/docs/_pics/AimToOffer/31d9adce-2af8-4754-8386-0aabb4e500b0.png
deleted file mode 100644
index 1248f60f..00000000
Binary files a/docs/_pics/AimToOffer/31d9adce-2af8-4754-8386-0aabb4e500b0.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/3ea280b5-be7d-471b-ac76-ff020384357c.gif b/docs/_pics/AimToOffer/3ea280b5-be7d-471b-ac76-ff020384357c.gif
deleted file mode 100644
index 4c8540a9..00000000
Binary files a/docs/_pics/AimToOffer/3ea280b5-be7d-471b-ac76-ff020384357c.gif and /dev/null differ
diff --git a/docs/_pics/AimToOffer/4240a69f-4d51-4d16-b797-2dfe110f30bd.png b/docs/_pics/AimToOffer/4240a69f-4d51-4d16-b797-2dfe110f30bd.png
deleted file mode 100644
index d889e516..00000000
Binary files a/docs/_pics/AimToOffer/4240a69f-4d51-4d16-b797-2dfe110f30bd.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/424f34ab-a9fd-49a6-9969-d76b42251365.png b/docs/_pics/AimToOffer/424f34ab-a9fd-49a6-9969-d76b42251365.png
deleted file mode 100644
index d5c1a58d..00000000
Binary files a/docs/_pics/AimToOffer/424f34ab-a9fd-49a6-9969-d76b42251365.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/42661013-750f-420b-b3c1-437e9a11fb65.png b/docs/_pics/AimToOffer/42661013-750f-420b-b3c1-437e9a11fb65.png
deleted file mode 100644
index 964f97f8..00000000
Binary files a/docs/_pics/AimToOffer/42661013-750f-420b-b3c1-437e9a11fb65.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/45be9587-6069-4ab7-b9ac-840db1a53744.jpg b/docs/_pics/AimToOffer/45be9587-6069-4ab7-b9ac-840db1a53744.jpg
deleted file mode 100644
index 336ee59b..00000000
Binary files a/docs/_pics/AimToOffer/45be9587-6069-4ab7-b9ac-840db1a53744.jpg and /dev/null differ
diff --git a/docs/_pics/AimToOffer/48517227-324c-4664-bd26-a2d2cffe2bfe.png b/docs/_pics/AimToOffer/48517227-324c-4664-bd26-a2d2cffe2bfe.png
deleted file mode 100644
index ca11ce32..00000000
Binary files a/docs/_pics/AimToOffer/48517227-324c-4664-bd26-a2d2cffe2bfe.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/48b1d459-8832-4e92-938a-728aae730739.jpg b/docs/_pics/AimToOffer/48b1d459-8832-4e92-938a-728aae730739.jpg
deleted file mode 100644
index 8adfea82..00000000
Binary files a/docs/_pics/AimToOffer/48b1d459-8832-4e92-938a-728aae730739.jpg and /dev/null differ
diff --git a/docs/_pics/AimToOffer/49d2adc1-b28a-44bf-babb-d44993f4a2e3.gif b/docs/_pics/AimToOffer/49d2adc1-b28a-44bf-babb-d44993f4a2e3.gif
deleted file mode 100644
index e2af5f10..00000000
Binary files a/docs/_pics/AimToOffer/49d2adc1-b28a-44bf-babb-d44993f4a2e3.gif and /dev/null differ
diff --git a/docs/_pics/AimToOffer/4bf8d0ba-36f0-459e-83a0-f15278a5a157.png b/docs/_pics/AimToOffer/4bf8d0ba-36f0-459e-83a0-f15278a5a157.png
deleted file mode 100644
index 4b485ecd..00000000
Binary files a/docs/_pics/AimToOffer/4bf8d0ba-36f0-459e-83a0-f15278a5a157.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/508c6e52-9f93-44ed-b6b9-e69050e14807.jpg b/docs/_pics/AimToOffer/508c6e52-9f93-44ed-b6b9-e69050e14807.jpg
deleted file mode 100644
index f7f3ca5b..00000000
Binary files a/docs/_pics/AimToOffer/508c6e52-9f93-44ed-b6b9-e69050e14807.jpg and /dev/null differ
diff --git a/docs/_pics/AimToOffer/5f1cb999-cb9a-4f6c-a0af-d90377295ab8.png b/docs/_pics/AimToOffer/5f1cb999-cb9a-4f6c-a0af-d90377295ab8.png
deleted file mode 100644
index a3fdc228..00000000
Binary files a/docs/_pics/AimToOffer/5f1cb999-cb9a-4f6c-a0af-d90377295ab8.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/66a01953-5303-43b1-8646-0c77b825e980.png b/docs/_pics/AimToOffer/66a01953-5303-43b1-8646-0c77b825e980.png
deleted file mode 100644
index 48a120be..00000000
Binary files a/docs/_pics/AimToOffer/66a01953-5303-43b1-8646-0c77b825e980.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/6980aef0-debe-4b4b-8da5-8b1befbc1408.gif b/docs/_pics/AimToOffer/6980aef0-debe-4b4b-8da5-8b1befbc1408.gif
deleted file mode 100644
index 05704a44..00000000
Binary files a/docs/_pics/AimToOffer/6980aef0-debe-4b4b-8da5-8b1befbc1408.gif and /dev/null differ
diff --git a/docs/_pics/AimToOffer/6b504f1f-bf76-4aab-a146-a9c7a58c2029.png b/docs/_pics/AimToOffer/6b504f1f-bf76-4aab-a146-a9c7a58c2029.png
deleted file mode 100644
index b613aa38..00000000
Binary files a/docs/_pics/AimToOffer/6b504f1f-bf76-4aab-a146-a9c7a58c2029.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/72aac98a-d5df-4bfa-a71a-4bb16a87474c.png b/docs/_pics/AimToOffer/72aac98a-d5df-4bfa-a71a-4bb16a87474c.png
deleted file mode 100644
index 125a804c..00000000
Binary files a/docs/_pics/AimToOffer/72aac98a-d5df-4bfa-a71a-4bb16a87474c.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/84a5b15a-86c5-4d8e-9439-d9fd5a4699a1.jpg b/docs/_pics/AimToOffer/84a5b15a-86c5-4d8e-9439-d9fd5a4699a1.jpg
deleted file mode 100644
index 22bf89a3..00000000
Binary files a/docs/_pics/AimToOffer/84a5b15a-86c5-4d8e-9439-d9fd5a4699a1.jpg and /dev/null differ
diff --git a/docs/_pics/AimToOffer/95080fae-de40-463d-a76e-783a0c677fec.gif b/docs/_pics/AimToOffer/95080fae-de40-463d-a76e-783a0c677fec.gif
deleted file mode 100644
index 9de55285..00000000
Binary files a/docs/_pics/AimToOffer/95080fae-de40-463d-a76e-783a0c677fec.gif and /dev/null differ
diff --git a/docs/_pics/AimToOffer/9d1deeba-4ae1-41dc-98f4-47d85b9831bc.gif b/docs/_pics/AimToOffer/9d1deeba-4ae1-41dc-98f4-47d85b9831bc.gif
deleted file mode 100644
index c34f7419..00000000
Binary files a/docs/_pics/AimToOffer/9d1deeba-4ae1-41dc-98f4-47d85b9831bc.gif and /dev/null differ
diff --git a/docs/_pics/AimToOffer/9dae7475-934f-42e5-b3b3-12724337170a.png b/docs/_pics/AimToOffer/9dae7475-934f-42e5-b3b3-12724337170a.png
deleted file mode 100644
index 7508fa08..00000000
Binary files a/docs/_pics/AimToOffer/9dae7475-934f-42e5-b3b3-12724337170a.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/af1d1166-63af-47b6-9aa3-2bf2bd37bd03.jpg b/docs/_pics/AimToOffer/af1d1166-63af-47b6-9aa3-2bf2bd37bd03.jpg
deleted file mode 100644
index 00ea4f6b..00000000
Binary files a/docs/_pics/AimToOffer/af1d1166-63af-47b6-9aa3-2bf2bd37bd03.jpg and /dev/null differ
diff --git a/docs/_pics/AimToOffer/b0611f89-1e5f-4494-a795-3544bf65042a.gif b/docs/_pics/AimToOffer/b0611f89-1e5f-4494-a795-3544bf65042a.gif
deleted file mode 100644
index 3e1fdb8b..00000000
Binary files a/docs/_pics/AimToOffer/b0611f89-1e5f-4494-a795-3544bf65042a.gif and /dev/null differ
diff --git a/docs/_pics/AimToOffer/b903fda8-07d0-46a7-91a7-e803892895cf.gif b/docs/_pics/AimToOffer/b903fda8-07d0-46a7-91a7-e803892895cf.gif
deleted file mode 100644
index 873aac86..00000000
Binary files a/docs/_pics/AimToOffer/b903fda8-07d0-46a7-91a7-e803892895cf.gif and /dev/null differ
diff --git a/docs/_pics/AimToOffer/ba355101-4a93-4c71-94fb-1da83639727b.jpg b/docs/_pics/AimToOffer/ba355101-4a93-4c71-94fb-1da83639727b.jpg
deleted file mode 100644
index b5625ae0..00000000
Binary files a/docs/_pics/AimToOffer/ba355101-4a93-4c71-94fb-1da83639727b.jpg and /dev/null differ
diff --git a/docs/_pics/AimToOffer/bb7fc182-98c2-4860-8ea3-630e27a5f29f.png b/docs/_pics/AimToOffer/bb7fc182-98c2-4860-8ea3-630e27a5f29f.png
deleted file mode 100644
index 92dfa7f5..00000000
Binary files a/docs/_pics/AimToOffer/bb7fc182-98c2-4860-8ea3-630e27a5f29f.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/c094d2bc-ec75-444b-af77-d369dfb6b3b4.png b/docs/_pics/AimToOffer/c094d2bc-ec75-444b-af77-d369dfb6b3b4.png
deleted file mode 100644
index 9e8e93c9..00000000
Binary files a/docs/_pics/AimToOffer/c094d2bc-ec75-444b-af77-d369dfb6b3b4.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/c13e2a3d-b01c-4a08-a69b-db2c4e821e09.png b/docs/_pics/AimToOffer/c13e2a3d-b01c-4a08-a69b-db2c4e821e09.png
deleted file mode 100644
index 69fe1ba2..00000000
Binary files a/docs/_pics/AimToOffer/c13e2a3d-b01c-4a08-a69b-db2c4e821e09.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/c269e362-1128-4212-9cf3-d4c12b363b2f.gif b/docs/_pics/AimToOffer/c269e362-1128-4212-9cf3-d4c12b363b2f.gif
deleted file mode 100644
index e372dea1..00000000
Binary files a/docs/_pics/AimToOffer/c269e362-1128-4212-9cf3-d4c12b363b2f.gif and /dev/null differ
diff --git a/docs/_pics/AimToOffer/cafbfeb8-7dfe-4c0a-a3c9-750eeb824068.png b/docs/_pics/AimToOffer/cafbfeb8-7dfe-4c0a-a3c9-750eeb824068.png
deleted file mode 100644
index 8cd71a87..00000000
Binary files a/docs/_pics/AimToOffer/cafbfeb8-7dfe-4c0a-a3c9-750eeb824068.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/cd411a94-3786-4c94-9e08-f28320e010d5.png b/docs/_pics/AimToOffer/cd411a94-3786-4c94-9e08-f28320e010d5.png
deleted file mode 100644
index d941a7cb..00000000
Binary files a/docs/_pics/AimToOffer/cd411a94-3786-4c94-9e08-f28320e010d5.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/d03a2efa-ef19-4c96-97e8-ff61df8061d3.png b/docs/_pics/AimToOffer/d03a2efa-ef19-4c96-97e8-ff61df8061d3.png
deleted file mode 100644
index 5a4fdbcf..00000000
Binary files a/docs/_pics/AimToOffer/d03a2efa-ef19-4c96-97e8-ff61df8061d3.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/d27c99f0-7881-4f2d-9675-c75cbdee3acd.jpg b/docs/_pics/AimToOffer/d27c99f0-7881-4f2d-9675-c75cbdee3acd.jpg
deleted file mode 100644
index fe765547..00000000
Binary files a/docs/_pics/AimToOffer/d27c99f0-7881-4f2d-9675-c75cbdee3acd.jpg and /dev/null differ
diff --git a/docs/_pics/AimToOffer/d5e838cf-d8a2-49af-90df-1b2a714ee676.jpg b/docs/_pics/AimToOffer/d5e838cf-d8a2-49af-90df-1b2a714ee676.jpg
deleted file mode 100644
index dca06e46..00000000
Binary files a/docs/_pics/AimToOffer/d5e838cf-d8a2-49af-90df-1b2a714ee676.jpg and /dev/null differ
diff --git a/docs/_pics/AimToOffer/dc964b86-7a08-4bde-a3d9-e6ddceb29f98.png b/docs/_pics/AimToOffer/dc964b86-7a08-4bde-a3d9-e6ddceb29f98.png
deleted file mode 100644
index a08e6be1..00000000
Binary files a/docs/_pics/AimToOffer/dc964b86-7a08-4bde-a3d9-e6ddceb29f98.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/dfd5d3f8-673c-486b-8ecf-d2082107b67b.png b/docs/_pics/AimToOffer/dfd5d3f8-673c-486b-8ecf-d2082107b67b.png
deleted file mode 100644
index 11aaa325..00000000
Binary files a/docs/_pics/AimToOffer/dfd5d3f8-673c-486b-8ecf-d2082107b67b.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/e151b5df-5390-4365-b66e-b130cd253c12.png b/docs/_pics/AimToOffer/e151b5df-5390-4365-b66e-b130cd253c12.png
deleted file mode 100644
index d1ea8287..00000000
Binary files a/docs/_pics/AimToOffer/e151b5df-5390-4365-b66e-b130cd253c12.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/eaa506b6-0747-4bee-81f8-3cda795d8154.png b/docs/_pics/AimToOffer/eaa506b6-0747-4bee-81f8-3cda795d8154.png
deleted file mode 100644
index 2cf0d857..00000000
Binary files a/docs/_pics/AimToOffer/eaa506b6-0747-4bee-81f8-3cda795d8154.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/ed77b0e6-38d9-4a34-844f-724f3ffa2c12.jpg b/docs/_pics/AimToOffer/ed77b0e6-38d9-4a34-844f-724f3ffa2c12.jpg
deleted file mode 100644
index 9aac1677..00000000
Binary files a/docs/_pics/AimToOffer/ed77b0e6-38d9-4a34-844f-724f3ffa2c12.jpg and /dev/null differ
diff --git a/docs/_pics/AimToOffer/f5792051-d9b2-4ca4-a234-a4a2de3d5a57.png b/docs/_pics/AimToOffer/f5792051-d9b2-4ca4-a234-a4a2de3d5a57.png
deleted file mode 100644
index 95a55e94..00000000
Binary files a/docs/_pics/AimToOffer/f5792051-d9b2-4ca4-a234-a4a2de3d5a57.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/f6e146f1-57ad-411b-beb3-770a142164ef.png b/docs/_pics/AimToOffer/f6e146f1-57ad-411b-beb3-770a142164ef.png
deleted file mode 100644
index 8b25cf20..00000000
Binary files a/docs/_pics/AimToOffer/f6e146f1-57ad-411b-beb3-770a142164ef.png and /dev/null differ
diff --git a/docs/_pics/AimToOffer/fb3b8f7a-4293-4a38-aae1-62284db979a3.png b/docs/_pics/AimToOffer/fb3b8f7a-4293-4a38-aae1-62284db979a3.png
deleted file mode 100644
index 6575dc98..00000000
Binary files a/docs/_pics/AimToOffer/fb3b8f7a-4293-4a38-aae1-62284db979a3.png and /dev/null differ
diff --git a/docs/_pics/JVM/005b481b-502b-4e3f-985d-d043c2b330aa.png b/docs/_pics/JVM/005b481b-502b-4e3f-985d-d043c2b330aa.png
deleted file mode 100644
index 0f8543c2..00000000
Binary files a/docs/_pics/JVM/005b481b-502b-4e3f-985d-d043c2b330aa.png and /dev/null differ
diff --git a/docs/_pics/JVM/08f32fd3-f736-4a67-81ca-295b2a7972f2.jpg b/docs/_pics/JVM/08f32fd3-f736-4a67-81ca-295b2a7972f2.jpg
deleted file mode 100644
index c87a6f86..00000000
Binary files a/docs/_pics/JVM/08f32fd3-f736-4a67-81ca-295b2a7972f2.jpg and /dev/null differ
diff --git a/docs/_pics/JVM/0dd2d40a-5b2b-4d45-b176-e75a4cd4bdbf.png b/docs/_pics/JVM/0dd2d40a-5b2b-4d45-b176-e75a4cd4bdbf.png
deleted file mode 100644
index 1bb834c8..00000000
Binary files a/docs/_pics/JVM/0dd2d40a-5b2b-4d45-b176-e75a4cd4bdbf.png and /dev/null differ
diff --git a/docs/_pics/JVM/22fda4ae-4dd5-489d-ab10-9ebfdad22ae0.jpg b/docs/_pics/JVM/22fda4ae-4dd5-489d-ab10-9ebfdad22ae0.jpg
deleted file mode 100644
index b45bb546..00000000
Binary files a/docs/_pics/JVM/22fda4ae-4dd5-489d-ab10-9ebfdad22ae0.jpg and /dev/null differ
diff --git a/docs/_pics/JVM/278fe431-af88-4a95-a895-9c3b80117de3.jpg b/docs/_pics/JVM/278fe431-af88-4a95-a895-9c3b80117de3.jpg
deleted file mode 100644
index c2697572..00000000
Binary files a/docs/_pics/JVM/278fe431-af88-4a95-a895-9c3b80117de3.jpg and /dev/null differ
diff --git a/docs/_pics/JVM/335fe19c-4a76-45ab-9320-88c90d6a0d7e.png b/docs/_pics/JVM/335fe19c-4a76-45ab-9320-88c90d6a0d7e.png
deleted file mode 100644
index 57fad732..00000000
Binary files a/docs/_pics/JVM/335fe19c-4a76-45ab-9320-88c90d6a0d7e.png and /dev/null differ
diff --git a/docs/_pics/JVM/4cf711a8-7ab2-4152-b85c-d5c226733807.png b/docs/_pics/JVM/4cf711a8-7ab2-4152-b85c-d5c226733807.png
deleted file mode 100644
index 03d1e447..00000000
Binary files a/docs/_pics/JVM/4cf711a8-7ab2-4152-b85c-d5c226733807.png and /dev/null differ
diff --git a/docs/_pics/JVM/5778d113-8e13-4c53-b5bf-801e58080b97.png b/docs/_pics/JVM/5778d113-8e13-4c53-b5bf-801e58080b97.png
deleted file mode 100644
index b0f94a99..00000000
Binary files a/docs/_pics/JVM/5778d113-8e13-4c53-b5bf-801e58080b97.png and /dev/null differ
diff --git a/docs/_pics/JVM/62e77997-6957-4b68-8d12-bfd609bb2c68.jpg b/docs/_pics/JVM/62e77997-6957-4b68-8d12-bfd609bb2c68.jpg
deleted file mode 100644
index 2c6a953e..00000000
Binary files a/docs/_pics/JVM/62e77997-6957-4b68-8d12-bfd609bb2c68.jpg and /dev/null differ
diff --git a/docs/_pics/JVM/66a6899d-c6b0-4a47-8569-9d08f0baf86c.png b/docs/_pics/JVM/66a6899d-c6b0-4a47-8569-9d08f0baf86c.png
deleted file mode 100644
index a8536c94..00000000
Binary files a/docs/_pics/JVM/66a6899d-c6b0-4a47-8569-9d08f0baf86c.png and /dev/null differ
diff --git a/docs/_pics/JVM/81538cd5-1bcf-4e31-86e5-e198df1e013b.jpg b/docs/_pics/JVM/81538cd5-1bcf-4e31-86e5-e198df1e013b.jpg
deleted file mode 100644
index ecf6a7d0..00000000
Binary files a/docs/_pics/JVM/81538cd5-1bcf-4e31-86e5-e198df1e013b.jpg and /dev/null differ
diff --git a/docs/_pics/JVM/83d909d2-3858-4fe1-8ff4-16471db0b180.png b/docs/_pics/JVM/83d909d2-3858-4fe1-8ff4-16471db0b180.png
deleted file mode 100644
index 5904529b..00000000
Binary files a/docs/_pics/JVM/83d909d2-3858-4fe1-8ff4-16471db0b180.png and /dev/null differ
diff --git a/docs/_pics/JVM/8442519f-0b4d-48f4-8229-56f984363c69.png b/docs/_pics/JVM/8442519f-0b4d-48f4-8229-56f984363c69.png
deleted file mode 100644
index b8290f0b..00000000
Binary files a/docs/_pics/JVM/8442519f-0b4d-48f4-8229-56f984363c69.png and /dev/null differ
diff --git a/docs/_pics/JVM/9bbddeeb-e939-41f0-8e8e-2b1a0aa7e0a7.png b/docs/_pics/JVM/9bbddeeb-e939-41f0-8e8e-2b1a0aa7e0a7.png
deleted file mode 100644
index 02b1f35a..00000000
Binary files a/docs/_pics/JVM/9bbddeeb-e939-41f0-8e8e-2b1a0aa7e0a7.png and /dev/null differ
diff --git a/docs/_pics/JVM/b2b77b9e-958c-4016-8ae5-9c6edd83871e.png b/docs/_pics/JVM/b2b77b9e-958c-4016-8ae5-9c6edd83871e.png
deleted file mode 100644
index c376a027..00000000
Binary files a/docs/_pics/JVM/b2b77b9e-958c-4016-8ae5-9c6edd83871e.png and /dev/null differ
diff --git a/docs/_pics/JVM/c625baa0-dde6-449e-93df-c3a67f2f430f.jpg b/docs/_pics/JVM/c625baa0-dde6-449e-93df-c3a67f2f430f.jpg
deleted file mode 100644
index 4a6d5197..00000000
Binary files a/docs/_pics/JVM/c625baa0-dde6-449e-93df-c3a67f2f430f.jpg and /dev/null differ
diff --git a/docs/_pics/JVM/ccd773a5-ad38-4022-895c-7ac318f31437.png b/docs/_pics/JVM/ccd773a5-ad38-4022-895c-7ac318f31437.png
deleted file mode 100644
index e4706e59..00000000
Binary files a/docs/_pics/JVM/ccd773a5-ad38-4022-895c-7ac318f31437.png and /dev/null differ
diff --git a/docs/_pics/JVM/f99ee771-c56f-47fb-9148-c0036695b5fe.jpg b/docs/_pics/JVM/f99ee771-c56f-47fb-9148-c0036695b5fe.jpg
deleted file mode 100644
index 96e22a72..00000000
Binary files a/docs/_pics/JVM/f99ee771-c56f-47fb-9148-c0036695b5fe.jpg and /dev/null differ
diff --git a/docs/_pics/JVM/j_1.png b/docs/_pics/JVM/j_1.png
deleted file mode 100644
index a0a2f2b1..00000000
Binary files a/docs/_pics/JVM/j_1.png and /dev/null differ
diff --git a/docs/_pics/JVM/j_2.png b/docs/_pics/JVM/j_2.png
deleted file mode 100644
index a490d7a4..00000000
Binary files a/docs/_pics/JVM/j_2.png and /dev/null differ
diff --git a/docs/_pics/JVM/j_3.png b/docs/_pics/JVM/j_3.png
deleted file mode 100644
index 7b03cc79..00000000
Binary files a/docs/_pics/JVM/j_3.png and /dev/null differ
diff --git a/docs/_pics/JVM/j_4.jpg b/docs/_pics/JVM/j_4.jpg
deleted file mode 100644
index f926506d..00000000
Binary files a/docs/_pics/JVM/j_4.jpg and /dev/null differ
diff --git a/docs/_pics/JVM/j_5.png b/docs/_pics/JVM/j_5.png
deleted file mode 100644
index b08d3f66..00000000
Binary files a/docs/_pics/JVM/j_5.png and /dev/null differ
diff --git a/docs/_pics/JVM/j_6.png b/docs/_pics/JVM/j_6.png
deleted file mode 100644
index 23d123f0..00000000
Binary files a/docs/_pics/JVM/j_6.png and /dev/null differ
diff --git a/docs/_pics/JVM/j_7.png b/docs/_pics/JVM/j_7.png
deleted file mode 100644
index 6d883eb0..00000000
Binary files a/docs/_pics/JVM/j_7.png and /dev/null differ
diff --git a/docs/_pics/JVM/j_8.jpg b/docs/_pics/JVM/j_8.jpg
deleted file mode 100644
index 6320473b..00000000
Binary files a/docs/_pics/JVM/j_8.jpg and /dev/null differ
diff --git a/docs/_pics/MessageQueuue/mq_1.png b/docs/_pics/MessageQueuue/mq_1.png
deleted file mode 100644
index 069b7e17..00000000
Binary files a/docs/_pics/MessageQueuue/mq_1.png and /dev/null differ
diff --git a/docs/_pics/MessageQueuue/mq_2.png b/docs/_pics/MessageQueuue/mq_2.png
deleted file mode 100644
index b48fb693..00000000
Binary files a/docs/_pics/MessageQueuue/mq_2.png and /dev/null differ
diff --git a/docs/_pics/MessageQueuue/mq_3.png b/docs/_pics/MessageQueuue/mq_3.png
deleted file mode 100644
index 656e6501..00000000
Binary files a/docs/_pics/MessageQueuue/mq_3.png and /dev/null differ
diff --git a/docs/_pics/MessageQueuue/mq_4.png b/docs/_pics/MessageQueuue/mq_4.png
deleted file mode 100644
index fd93e1ab..00000000
Binary files a/docs/_pics/MessageQueuue/mq_4.png and /dev/null differ
diff --git a/docs/_pics/MessageQueuue/mq_5.png b/docs/_pics/MessageQueuue/mq_5.png
deleted file mode 100644
index 875b8ec3..00000000
Binary files a/docs/_pics/MessageQueuue/mq_5.png and /dev/null differ
diff --git a/docs/_pics/MessageQueuue/mq_6.png b/docs/_pics/MessageQueuue/mq_6.png
deleted file mode 100644
index 25e1d0ab..00000000
Binary files a/docs/_pics/MessageQueuue/mq_6.png and /dev/null differ
diff --git a/docs/_pics/baseball/b_1.jpg b/docs/_pics/baseball/b_1.jpg
deleted file mode 100644
index db55d014..00000000
Binary files a/docs/_pics/baseball/b_1.jpg and /dev/null differ
diff --git a/docs/_pics/baseball/b_2.jpg b/docs/_pics/baseball/b_2.jpg
deleted file mode 100644
index ff90fcf6..00000000
Binary files a/docs/_pics/baseball/b_2.jpg and /dev/null differ
diff --git a/docs/_pics/draw.io/JVM.drawio b/docs/_pics/draw.io/JVM.drawio
deleted file mode 100644
index a397820e..00000000
--- a/docs/_pics/draw.io/JVM.drawio
+++ /dev/null
@@ -1 +0,0 @@
-5Z1bd5s4EMc/jR67B3EzPPqW5HQ3J93tbvb0KYcaxaZLUIpxk+ynX2EgNhqlZamRkJyX2OL++0ujGY2EkTN/eL7Mo8fNNY1JimwrfkbOAtk2trDF/pUlL1WJ59UF6zyJ650OBR+Tf0lzZF26S2Kybe1YUJoWyWO7cEWzjKyKVlmU5/Spvds9TdtXfYzWBBR8XEUpLP07iYtNXYpt67DhiiTrTX1p1wqrDQ9Rs3O953YTxfTpqMhZImeeU1pUn+jnL+UD2FYafWYQ9/tVRzagDkc9PM9JykBfVF/Zh/ro1lYr4Z81J1lxfFMXbxwQz26+bW9+/W1q39z+9fX29+2Vc/fOqc7yLUp35Pj2tsVLQyunuywm5Uks5MyeNklBPj5Gq3LrE6sfrGxTPJTPhtnH+yRN5zSlOfue0YztNFvnUZywe2yKke3c7//YtvrqJC/I85uPhY8QXRL6QIr8he3SHODXWrw0YlVfnw7KBnXRpqVpXZ/qurR+PbF9LEFN8X8QdY0jancj6gyG1BMg9dOihEOzosXW/7qjzYZ3273lmbIdcPD4fNjIPq3L/+9vr9k2tPRRMEfBBC1dNJuhqducnd1sdYFqd6AjQ1y0xcoJu2b0eb9Dqe0jTbJij8ObIW/BSqJdQav72h8Qpck6Y59Tcl+eqtQtYYZqWhcXtKwNW1Y5kmz9Z/llwSrYSVR22yL7UORQILI9lMaTNzVmT5/11xgtPTTDiFXYZYgCB02DsiS4QGGwL5mUn5cBmuJy00H46qpnIDwWGEyMZUofDia9j0IHBYt9w16gcL4vYfVh3+anFgrOUnGRQZfa1pvaNYDik7IVB1WrnzZNe1m27oP0HgrDM23sjqW6sWMMtE+Yn78t7qwO5LdFTv8hnDsk8JAa4CuGieQC5A9JHJeXEXpfbf/sFB5V0JbBgyq4UkWw9XdSOaRYYNRETP3BmBoQSgU/7ihETAdz/DEMpqCV0AyqyATLbfyicIpjSrJ4Wg60HCgdMaz2JjEYZPkhkqNH9gSP3JTlJI2K5Fv79CIO9RU+lP3vd0yDF/7itU+ypbt8RerjjsdMuFO9qvD2qYooX5MCnGovzeuj/4Ra/rmp5ZxOLdeSrZYojDVJLffHDaKrWi43zIR96WoFhqv12tf8fNty4LCBbLVE4wRGq9W/bQG1pLetxk4Yq5bHI+7ftjy+C5TetmwYlZulFghtTudl2EOqNbUXHz6tLz5d/TH38M3q+st7+t6ApJ3NyyExxSREqn/WzrVGhrRDmDlypB7f0lUj7RALjhypz+ciVCPtELCNHOlEYbpeiLRDVDVypMHYuqcOoc/IkWJrbP2TKBO1LWhO7rSDy7tTEudAidFCdypJaRQLcnwjJ8t7VcrJQq+qIot1I8s7V8rJQucqieJYN6y8g6UcK3SwdLWyvKOlHC10tCpboB1Z3t9SThb6W0lOil2e6UYWuF2q0XYZFx45UzBOL3HqiZhph9HbkTMFeUXlTG3tmYIMhXKm+g9c+3zSWjlT/UeuJwqn8omZ6j90HY6ujxKNCp5qln81lb+c8x2g6eQsJnbjidcS2AmgwKJ86immFYoF1n+MknfsZM5/FSd69XeWecdOPVP9nWXesVPPVH9nmXfs1DPV31nmHTv1TPV3lnnHTj1T6Cxrl4vgO36ZazTEUGEyQruayvf86qHCVISjG1S+61cPFcZ1rm5Q+b5fPVQYS3m6QeU7f+VQm4sdQfV1g8r3/uqhmj5xHCQm+k8cBwuepE8cdzvEFFqrBVIe/ZfQgEUZQy6hEavVIVrRWi2QTOnftib8eLf8tmX6smqgVv+2BdSS37ZMX1YNkmqsbTFvwcKBgy3P9YOgn3SBYI319847tI6mL7gGOYnTLeGVv3DNM91bBGnX/mqFMhdci9UyfcE1yE2dzreX37aaGzBWLZD1Ot2Ca/lqTUy3hMD/4GeW9HY4fCxXKdP9etBn9VUK9FiylTLdpwc5aj6p1zf+sl3JSpnutYPMd/++ird/8vuqwPS+CuTU+7Yr3gLKbleBDZSaAKlGnuLA1tjyxgEch4UzHIx9V23XmcPD4e8yF8Jc/IIFW3Lxw77aOh/8XadXDYcfzq8wuPaDpXXKaz8cAzPY9vdd2TgY/uZnCc7D+AD8gh9lkYsfev4G1/6+SxWGww/deYNtP5hpo9r2h3C2jMHGB+BXbnxg2GVw7e+7pmc4/F3m9ZuLX7nxgVGvwcYHzNtTbnxg1Gtw7e/79o3h8MOwCy7VMAZ/37WHg+HHTSBynn2vcs8TW2cVePV9Uc2A/GHkZTD/vi+1GZA/DL0Mtj+Av3r70+WH18zlr9r7xNZZBV99XwA1IP+zyjkC/urtT5el2ubyV29/YNbRYPvT92VpA/KH8a/B9gfwV25/BL9QbrD9eXMGsDr+MP49I/4Djv+wrzkt35/4uu2SPdTmmsak3OM/7Vldj6M2FP01ltqHqfgyYx4hYbZ9WGmkWanTfakccAgtYArOJumv7zXY4bMhqy2jqtN5GHyv7Wt8zvG1TZC9yc8fKloePvKYZcgy4jOyt8iyTMM04CE9l9aDsXIkVRqrRp3jJf2T6Z7Ke0xjVg8aCs4zkZZDZ8SLgkVi4KNVxU/DZnueDUctacImjpeIZlPvz2ksDq3XMYzO/yNLk4Ma2dYVOdVtlaM+0Jifei47RPam4ly0Jb77Tb6/ZWR0Bxg27dqeGqfaPuBffzrnT59f/U8vu+fANz8+dKHy84ZlAP5Ta0JBhRzU3o52nW3FCrE0qh7pvtBqMl9odmT92dXiorE+HVLBXkoaSfsEekJ2cBC5BMOEIq3LluF9emYwVLBPs2zDM16Br+AF9AqSisYpvLt2I8veN39Qp16AVYKdR+QuTNfsgfyB8ZyJ6gL9VBRLc64kTpR56vRiusp36Gnl6qRKo8k1tNWnUeH7FVjby1hX/FjEEsWtAdAsIP8vAdpZxJm8KczODMxuJiRgvBADvN0/jlxXPNRNlvOhgemU564SSknzDF3kG4gQFGJEXESwLPhb5BE9ALxvO4bqMaYXkBdDDmtR8d/ZiMUZYmmWJgWYETDFwB9IHlNIiL6qyNM4lsPMimYoq7WEgPGSEPCMEKy1dIBX0wFudOD+r4O/ybx4MSPMJd7VhOCumHdlgiURi6IJh1CzI9jBayI9Sr2mdV/uddZC+nGCdPnOtO+OGLGnjDhvqX2yrvZjzEjszGmfWDvbdd/wfDcn/tkDHlkLa2+CdUFzBp7GMIqjDNFuELtK7w3yoqNbGNNqeNJcclDs6vIdbiXjDIfvy3D2WhzrC/CtBcWK2Jd3XIltRus6jYYEsXMqXnvlXySIP2Blbc8K08a4aKOAt3/tG20vC2u769dYlwEzLJ7cp+/hBabFj1XEljdXQauE3YpH5nleOBxqX8UyKtIvwznMkatGeOZpc8TTYrSHMrLHO2A7TdWrf4ceByLDQJY3CtTiMAnUaO067W+QnzmVH1xLyAaRR3kKhdfxzOY4+oQCTxYCH3kOCh+R5yPizCSYG6dZ6OV7MkLoIe8RBc47yz7mOPuY9+3mq11tzennmmdW1byQc+02GnaC/23Fd9+/8x3ENIa30pkDmfmm11Jz5jNQf8W16xQWNZiwiuWi3qDAaApbpPPPTf4qBndYumsaSGxLmY6aeeAA4a1k7ih4e89tv+EpvjK2FzM0Ci75qoG+tEg+SWP74Kz5IWGUZB1y16a/HmUzn5RuU6bSL0GBifw2IYfIC1HooCBEpMm6niXztuyFG34hwQZNiv7P83tl6gbB5j90TQKz+5rfbsPdTyJ2+Bc=
\ No newline at end of file
diff --git a/docs/_pics/draw.io/kafka.drawio b/docs/_pics/draw.io/kafka.drawio
deleted file mode 100644
index 39ee7e7b..00000000
--- a/docs/_pics/draw.io/kafka.drawio
+++ /dev/null
@@ -1 +0,0 @@
-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
\ No newline at end of file
diff --git "a/docs/_pics/draw.io/345円215円241円345円214円205円351円241円271円347円233円256円.drawio" "b/docs/_pics/draw.io/345円215円241円345円214円205円351円241円271円347円233円256円.drawio"
deleted file mode 100644
index 056336aa..00000000
--- "a/docs/_pics/draw.io/345円215円241円345円214円205円351円241円271円347円233円256円.drawio"
+++ /dev/null
@@ -1 +0,0 @@
-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
\ No newline at end of file
diff --git "a/docs/_pics/draw.io/346円266円210円346円201円257円351円230円237円345円210円227円.drawio" "b/docs/_pics/draw.io/346円266円210円346円201円257円351円230円237円345円210円227円.drawio"
deleted file mode 100644
index e5f1acab..00000000
--- "a/docs/_pics/draw.io/346円266円210円346円201円257円351円230円237円345円210円227円.drawio"
+++ /dev/null
@@ -1 +0,0 @@
-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
\ No newline at end of file
diff --git a/docs/_pics/hbase/h_1.png b/docs/_pics/hbase/h_1.png
deleted file mode 100644
index a3c980dd..00000000
Binary files a/docs/_pics/hbase/h_1.png and /dev/null differ
diff --git a/docs/_pics/hbase/h_10.jpg b/docs/_pics/hbase/h_10.jpg
deleted file mode 100644
index 8a8808f4..00000000
Binary files a/docs/_pics/hbase/h_10.jpg and /dev/null differ
diff --git a/docs/_pics/hbase/h_11.jpg b/docs/_pics/hbase/h_11.jpg
deleted file mode 100644
index 0d661cbe..00000000
Binary files a/docs/_pics/hbase/h_11.jpg and /dev/null differ
diff --git a/docs/_pics/hbase/h_12.png b/docs/_pics/hbase/h_12.png
deleted file mode 100644
index 106e433d..00000000
Binary files a/docs/_pics/hbase/h_12.png and /dev/null differ
diff --git a/docs/_pics/hbase/h_13.png b/docs/_pics/hbase/h_13.png
deleted file mode 100644
index 196d2a2a..00000000
Binary files a/docs/_pics/hbase/h_13.png and /dev/null differ
diff --git a/docs/_pics/hbase/h_14.png b/docs/_pics/hbase/h_14.png
deleted file mode 100644
index 34de5769..00000000
Binary files a/docs/_pics/hbase/h_14.png and /dev/null differ
diff --git a/docs/_pics/hbase/h_15.png b/docs/_pics/hbase/h_15.png
deleted file mode 100644
index c27ebee1..00000000
Binary files a/docs/_pics/hbase/h_15.png and /dev/null differ
diff --git a/docs/_pics/hbase/h_16.png b/docs/_pics/hbase/h_16.png
deleted file mode 100644
index 58d687c2..00000000
Binary files a/docs/_pics/hbase/h_16.png and /dev/null differ
diff --git a/docs/_pics/hbase/h_17.png b/docs/_pics/hbase/h_17.png
deleted file mode 100644
index 7061e461..00000000
Binary files a/docs/_pics/hbase/h_17.png and /dev/null differ
diff --git a/docs/_pics/hbase/h_18.png b/docs/_pics/hbase/h_18.png
deleted file mode 100644
index 729e2375..00000000
Binary files a/docs/_pics/hbase/h_18.png and /dev/null differ
diff --git a/docs/_pics/hbase/h_19.jpg b/docs/_pics/hbase/h_19.jpg
deleted file mode 100644
index 81b4ef27..00000000
Binary files a/docs/_pics/hbase/h_19.jpg and /dev/null differ
diff --git a/docs/_pics/hbase/h_2.jpg b/docs/_pics/hbase/h_2.jpg
deleted file mode 100644
index 0592ad2a..00000000
Binary files a/docs/_pics/hbase/h_2.jpg and /dev/null differ
diff --git a/docs/_pics/hbase/h_20.png b/docs/_pics/hbase/h_20.png
deleted file mode 100644
index baa82860..00000000
Binary files a/docs/_pics/hbase/h_20.png and /dev/null differ
diff --git a/docs/_pics/hbase/h_21.jpg b/docs/_pics/hbase/h_21.jpg
deleted file mode 100644
index 8efad160..00000000
Binary files a/docs/_pics/hbase/h_21.jpg and /dev/null differ
diff --git a/docs/_pics/hbase/h_22.jpg b/docs/_pics/hbase/h_22.jpg
deleted file mode 100644
index 27bbff6b..00000000
Binary files a/docs/_pics/hbase/h_22.jpg and /dev/null differ
diff --git a/docs/_pics/hbase/h_23.jpg b/docs/_pics/hbase/h_23.jpg
deleted file mode 100644
index 7a191277..00000000
Binary files a/docs/_pics/hbase/h_23.jpg and /dev/null differ
diff --git a/docs/_pics/hbase/h_24.jpg b/docs/_pics/hbase/h_24.jpg
deleted file mode 100644
index 1067eeac..00000000
Binary files a/docs/_pics/hbase/h_24.jpg and /dev/null differ
diff --git a/docs/_pics/hbase/h_25.jpg b/docs/_pics/hbase/h_25.jpg
deleted file mode 100644
index 8e0dd086..00000000
Binary files a/docs/_pics/hbase/h_25.jpg and /dev/null differ
diff --git a/docs/_pics/hbase/h_26.png b/docs/_pics/hbase/h_26.png
deleted file mode 100644
index 9b7fa021..00000000
Binary files a/docs/_pics/hbase/h_26.png and /dev/null differ
diff --git a/docs/_pics/hbase/h_3.jpg b/docs/_pics/hbase/h_3.jpg
deleted file mode 100644
index 27f0cec0..00000000
Binary files a/docs/_pics/hbase/h_3.jpg and /dev/null differ
diff --git a/docs/_pics/hbase/h_4.jpg b/docs/_pics/hbase/h_4.jpg
deleted file mode 100644
index a1b7b87a..00000000
Binary files a/docs/_pics/hbase/h_4.jpg and /dev/null differ
diff --git a/docs/_pics/hbase/h_5.jpg b/docs/_pics/hbase/h_5.jpg
deleted file mode 100644
index e1a1b630..00000000
Binary files a/docs/_pics/hbase/h_5.jpg and /dev/null differ
diff --git a/docs/_pics/hbase/h_6.jpg b/docs/_pics/hbase/h_6.jpg
deleted file mode 100644
index b73f85d4..00000000
Binary files a/docs/_pics/hbase/h_6.jpg and /dev/null differ
diff --git a/docs/_pics/hbase/h_7.jpg b/docs/_pics/hbase/h_7.jpg
deleted file mode 100644
index 70d82114..00000000
Binary files a/docs/_pics/hbase/h_7.jpg and /dev/null differ
diff --git a/docs/_pics/hbase/h_8.jpg b/docs/_pics/hbase/h_8.jpg
deleted file mode 100644
index 60af46e4..00000000
Binary files a/docs/_pics/hbase/h_8.jpg and /dev/null differ
diff --git a/docs/_pics/hbase/h_9.jpg b/docs/_pics/hbase/h_9.jpg
deleted file mode 100644
index e571c5fd..00000000
Binary files a/docs/_pics/hbase/h_9.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_1.png b/docs/_pics/java-notes/book/book_1.png
deleted file mode 100644
index 19d4da8b..00000000
Binary files a/docs/_pics/java-notes/book/book_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_10.jpg b/docs/_pics/java-notes/book/book_10.jpg
deleted file mode 100644
index 14bac71c..00000000
Binary files a/docs/_pics/java-notes/book/book_10.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_11.jpg b/docs/_pics/java-notes/book/book_11.jpg
deleted file mode 100644
index 0dd78c71..00000000
Binary files a/docs/_pics/java-notes/book/book_11.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_12.jpg b/docs/_pics/java-notes/book/book_12.jpg
deleted file mode 100644
index a76d4c70..00000000
Binary files a/docs/_pics/java-notes/book/book_12.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_13.jpg b/docs/_pics/java-notes/book/book_13.jpg
deleted file mode 100644
index 2230c4aa..00000000
Binary files a/docs/_pics/java-notes/book/book_13.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_14.jpg b/docs/_pics/java-notes/book/book_14.jpg
deleted file mode 100644
index 86686f9a..00000000
Binary files a/docs/_pics/java-notes/book/book_14.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_15.jpg b/docs/_pics/java-notes/book/book_15.jpg
deleted file mode 100644
index c01e0ed1..00000000
Binary files a/docs/_pics/java-notes/book/book_15.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_16.jpg b/docs/_pics/java-notes/book/book_16.jpg
deleted file mode 100644
index 7454069e..00000000
Binary files a/docs/_pics/java-notes/book/book_16.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_17.jpg b/docs/_pics/java-notes/book/book_17.jpg
deleted file mode 100644
index 00769928..00000000
Binary files a/docs/_pics/java-notes/book/book_17.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_18.jpg b/docs/_pics/java-notes/book/book_18.jpg
deleted file mode 100644
index 1837ec8c..00000000
Binary files a/docs/_pics/java-notes/book/book_18.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_19.jpg b/docs/_pics/java-notes/book/book_19.jpg
deleted file mode 100644
index 8faa080a..00000000
Binary files a/docs/_pics/java-notes/book/book_19.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_2.png b/docs/_pics/java-notes/book/book_2.png
deleted file mode 100644
index bf39b5ee..00000000
Binary files a/docs/_pics/java-notes/book/book_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_20.jpg b/docs/_pics/java-notes/book/book_20.jpg
deleted file mode 100644
index 3e18c643..00000000
Binary files a/docs/_pics/java-notes/book/book_20.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_21.jpg b/docs/_pics/java-notes/book/book_21.jpg
deleted file mode 100644
index b893c5fb..00000000
Binary files a/docs/_pics/java-notes/book/book_21.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_22.jpg b/docs/_pics/java-notes/book/book_22.jpg
deleted file mode 100644
index 481b7ffd..00000000
Binary files a/docs/_pics/java-notes/book/book_22.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_23.jpg b/docs/_pics/java-notes/book/book_23.jpg
deleted file mode 100644
index 94a4d901..00000000
Binary files a/docs/_pics/java-notes/book/book_23.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_3.png b/docs/_pics/java-notes/book/book_3.png
deleted file mode 100644
index b2062a70..00000000
Binary files a/docs/_pics/java-notes/book/book_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_4.jpg b/docs/_pics/java-notes/book/book_4.jpg
deleted file mode 100644
index 2a76e311..00000000
Binary files a/docs/_pics/java-notes/book/book_4.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_5.jpg b/docs/_pics/java-notes/book/book_5.jpg
deleted file mode 100644
index 9c57f957..00000000
Binary files a/docs/_pics/java-notes/book/book_5.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_6.jpg b/docs/_pics/java-notes/book/book_6.jpg
deleted file mode 100644
index 9f380a82..00000000
Binary files a/docs/_pics/java-notes/book/book_6.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_7.jpg b/docs/_pics/java-notes/book/book_7.jpg
deleted file mode 100644
index a856d63f..00000000
Binary files a/docs/_pics/java-notes/book/book_7.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_8.jpg b/docs/_pics/java-notes/book/book_8.jpg
deleted file mode 100644
index 49d6012a..00000000
Binary files a/docs/_pics/java-notes/book/book_8.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/book/book_9.jpg b/docs/_pics/java-notes/book/book_9.jpg
deleted file mode 100644
index 0a27b6b3..00000000
Binary files a/docs/_pics/java-notes/book/book_9.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/1.png b/docs/_pics/java-notes/dataStructure/1.png
deleted file mode 100644
index 048a68a4..00000000
Binary files a/docs/_pics/java-notes/dataStructure/1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/2.png b/docs/_pics/java-notes/dataStructure/2.png
deleted file mode 100644
index 022ba597..00000000
Binary files a/docs/_pics/java-notes/dataStructure/2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/3.png b/docs/_pics/java-notes/dataStructure/3.png
deleted file mode 100644
index 81810b7c..00000000
Binary files a/docs/_pics/java-notes/dataStructure/3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/4.png b/docs/_pics/java-notes/dataStructure/4.png
deleted file mode 100644
index 2625c4d8..00000000
Binary files a/docs/_pics/java-notes/dataStructure/4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/array/array_1.png b/docs/_pics/java-notes/dataStructure/array/array_1.png
deleted file mode 100644
index 1fdfd6df..00000000
Binary files a/docs/_pics/java-notes/dataStructure/array/array_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/array/array_2.png b/docs/_pics/java-notes/dataStructure/array/array_2.png
deleted file mode 100644
index 5550a76e..00000000
Binary files a/docs/_pics/java-notes/dataStructure/array/array_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/array/array_3.png b/docs/_pics/java-notes/dataStructure/array/array_3.png
deleted file mode 100644
index 839c48e4..00000000
Binary files a/docs/_pics/java-notes/dataStructure/array/array_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/array/array_4.png b/docs/_pics/java-notes/dataStructure/array/array_4.png
deleted file mode 100644
index 818492ea..00000000
Binary files a/docs/_pics/java-notes/dataStructure/array/array_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/array/array_5.png b/docs/_pics/java-notes/dataStructure/array/array_5.png
deleted file mode 100644
index 429ca838..00000000
Binary files a/docs/_pics/java-notes/dataStructure/array/array_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/avl/avl_1.png b/docs/_pics/java-notes/dataStructure/avl/avl_1.png
deleted file mode 100644
index cb24300b..00000000
Binary files a/docs/_pics/java-notes/dataStructure/avl/avl_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/avl/avl_10.png b/docs/_pics/java-notes/dataStructure/avl/avl_10.png
deleted file mode 100644
index d16d06fd..00000000
Binary files a/docs/_pics/java-notes/dataStructure/avl/avl_10.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/avl/avl_11.png b/docs/_pics/java-notes/dataStructure/avl/avl_11.png
deleted file mode 100644
index f075d70b..00000000
Binary files a/docs/_pics/java-notes/dataStructure/avl/avl_11.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/avl/avl_12.png b/docs/_pics/java-notes/dataStructure/avl/avl_12.png
deleted file mode 100644
index 3888a84e..00000000
Binary files a/docs/_pics/java-notes/dataStructure/avl/avl_12.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/avl/avl_13.png b/docs/_pics/java-notes/dataStructure/avl/avl_13.png
deleted file mode 100644
index 31fe8bce..00000000
Binary files a/docs/_pics/java-notes/dataStructure/avl/avl_13.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/avl/avl_14.png b/docs/_pics/java-notes/dataStructure/avl/avl_14.png
deleted file mode 100644
index ea6332f3..00000000
Binary files a/docs/_pics/java-notes/dataStructure/avl/avl_14.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/avl/avl_15.png b/docs/_pics/java-notes/dataStructure/avl/avl_15.png
deleted file mode 100644
index 0f02b43b..00000000
Binary files a/docs/_pics/java-notes/dataStructure/avl/avl_15.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/avl/avl_2.png b/docs/_pics/java-notes/dataStructure/avl/avl_2.png
deleted file mode 100644
index 22f8286a..00000000
Binary files a/docs/_pics/java-notes/dataStructure/avl/avl_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/avl/avl_3.png b/docs/_pics/java-notes/dataStructure/avl/avl_3.png
deleted file mode 100644
index 1d31f6d0..00000000
Binary files a/docs/_pics/java-notes/dataStructure/avl/avl_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/avl/avl_4.png b/docs/_pics/java-notes/dataStructure/avl/avl_4.png
deleted file mode 100644
index 7827e574..00000000
Binary files a/docs/_pics/java-notes/dataStructure/avl/avl_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/avl/avl_5.png b/docs/_pics/java-notes/dataStructure/avl/avl_5.png
deleted file mode 100644
index f329dae5..00000000
Binary files a/docs/_pics/java-notes/dataStructure/avl/avl_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/avl/avl_6.png b/docs/_pics/java-notes/dataStructure/avl/avl_6.png
deleted file mode 100644
index f0d72c7f..00000000
Binary files a/docs/_pics/java-notes/dataStructure/avl/avl_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/avl/avl_7.png b/docs/_pics/java-notes/dataStructure/avl/avl_7.png
deleted file mode 100644
index e83e07d7..00000000
Binary files a/docs/_pics/java-notes/dataStructure/avl/avl_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/avl/avl_8.png b/docs/_pics/java-notes/dataStructure/avl/avl_8.png
deleted file mode 100644
index 3101c610..00000000
Binary files a/docs/_pics/java-notes/dataStructure/avl/avl_8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/avl/avl_9.png b/docs/_pics/java-notes/dataStructure/avl/avl_9.png
deleted file mode 100644
index 23ef04c9..00000000
Binary files a/docs/_pics/java-notes/dataStructure/avl/avl_9.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_00.png b/docs/_pics/java-notes/dataStructure/bst/bst_00.png
deleted file mode 100644
index babc7b96..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_00.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_01.png b/docs/_pics/java-notes/dataStructure/bst/bst_01.png
deleted file mode 100644
index 2764e6a5..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_01.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_02.png b/docs/_pics/java-notes/dataStructure/bst/bst_02.png
deleted file mode 100644
index ccd50d82..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_02.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_03.png b/docs/_pics/java-notes/dataStructure/bst/bst_03.png
deleted file mode 100644
index 4b1d56a7..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_03.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_04.png b/docs/_pics/java-notes/dataStructure/bst/bst_04.png
deleted file mode 100644
index c19043c2..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_04.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_05.png b/docs/_pics/java-notes/dataStructure/bst/bst_05.png
deleted file mode 100644
index 05cacf0a..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_05.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_06.png b/docs/_pics/java-notes/dataStructure/bst/bst_06.png
deleted file mode 100644
index 25dd1819..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_06.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_07.png b/docs/_pics/java-notes/dataStructure/bst/bst_07.png
deleted file mode 100644
index 5d0aadc7..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_07.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_08.png b/docs/_pics/java-notes/dataStructure/bst/bst_08.png
deleted file mode 100644
index f0ff9ed6..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_08.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_09.png b/docs/_pics/java-notes/dataStructure/bst/bst_09.png
deleted file mode 100644
index 3e3596db..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_09.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_10.png b/docs/_pics/java-notes/dataStructure/bst/bst_10.png
deleted file mode 100644
index d93b45d9..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_10.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_11.png b/docs/_pics/java-notes/dataStructure/bst/bst_11.png
deleted file mode 100644
index 5739bf60..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_11.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_12.png b/docs/_pics/java-notes/dataStructure/bst/bst_12.png
deleted file mode 100644
index 84f35f4a..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_12.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_13.png b/docs/_pics/java-notes/dataStructure/bst/bst_13.png
deleted file mode 100644
index 88677f2b..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_13.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_14.png b/docs/_pics/java-notes/dataStructure/bst/bst_14.png
deleted file mode 100644
index 22cd89ad..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_14.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_15.png b/docs/_pics/java-notes/dataStructure/bst/bst_15.png
deleted file mode 100644
index 8dd45a29..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_15.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_16.png b/docs/_pics/java-notes/dataStructure/bst/bst_16.png
deleted file mode 100644
index b6b7e060..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_16.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_17.png b/docs/_pics/java-notes/dataStructure/bst/bst_17.png
deleted file mode 100644
index b7a4fc43..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_17.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_18.png b/docs/_pics/java-notes/dataStructure/bst/bst_18.png
deleted file mode 100644
index 48b3f41c..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_18.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_19.png b/docs/_pics/java-notes/dataStructure/bst/bst_19.png
deleted file mode 100644
index 689a0d74..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_19.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/bst_20.png b/docs/_pics/java-notes/dataStructure/bst/bst_20.png
deleted file mode 100644
index e32f8e19..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/bst_20.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/stack_1.png b/docs/_pics/java-notes/dataStructure/bst/stack_1.png
deleted file mode 100644
index 46c36a6e..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/stack_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/stack_2.png b/docs/_pics/java-notes/dataStructure/bst/stack_2.png
deleted file mode 100644
index 03c91208..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/stack_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/stack_3.png b/docs/_pics/java-notes/dataStructure/bst/stack_3.png
deleted file mode 100644
index 8bd22f76..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/stack_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/stack_4.png b/docs/_pics/java-notes/dataStructure/bst/stack_4.png
deleted file mode 100644
index 5bf4fdbb..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/stack_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/stack_5.png b/docs/_pics/java-notes/dataStructure/bst/stack_5.png
deleted file mode 100644
index 04e4cfcd..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/stack_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/stack_6.png b/docs/_pics/java-notes/dataStructure/bst/stack_6.png
deleted file mode 100644
index bf97bff9..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/stack_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/bst/stack_7.png b/docs/_pics/java-notes/dataStructure/bst/stack_7.png
deleted file mode 100644
index 4bf60208..00000000
Binary files a/docs/_pics/java-notes/dataStructure/bst/stack_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_1.png b/docs/_pics/java-notes/dataStructure/ds_1.png
deleted file mode 100644
index 609571bf..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_10.png b/docs/_pics/java-notes/dataStructure/ds_10.png
deleted file mode 100644
index 9970a6c4..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_10.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_11.png b/docs/_pics/java-notes/dataStructure/ds_11.png
deleted file mode 100644
index 2f8b2d9a..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_11.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_12.png b/docs/_pics/java-notes/dataStructure/ds_12.png
deleted file mode 100644
index f8037339..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_12.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_13.png b/docs/_pics/java-notes/dataStructure/ds_13.png
deleted file mode 100644
index 0635fe9f..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_13.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_14.png b/docs/_pics/java-notes/dataStructure/ds_14.png
deleted file mode 100644
index 73c04e73..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_14.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_15.png b/docs/_pics/java-notes/dataStructure/ds_15.png
deleted file mode 100644
index 86943cd6..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_15.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_16.png b/docs/_pics/java-notes/dataStructure/ds_16.png
deleted file mode 100644
index bfcf76c9..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_16.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_17.png b/docs/_pics/java-notes/dataStructure/ds_17.png
deleted file mode 100644
index 82fa2a1e..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_17.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_18.png b/docs/_pics/java-notes/dataStructure/ds_18.png
deleted file mode 100644
index 3132f10f..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_18.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_19.png b/docs/_pics/java-notes/dataStructure/ds_19.png
deleted file mode 100644
index dbac0f3a..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_19.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_2.png b/docs/_pics/java-notes/dataStructure/ds_2.png
deleted file mode 100644
index 9c954ec2..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_20.png b/docs/_pics/java-notes/dataStructure/ds_20.png
deleted file mode 100644
index 273ae055..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_20.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_21.png b/docs/_pics/java-notes/dataStructure/ds_21.png
deleted file mode 100644
index 03935e3f..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_21.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_22.png b/docs/_pics/java-notes/dataStructure/ds_22.png
deleted file mode 100644
index 4d25b1d3..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_22.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_23.png b/docs/_pics/java-notes/dataStructure/ds_23.png
deleted file mode 100644
index 810d88a4..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_23.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_3.png b/docs/_pics/java-notes/dataStructure/ds_3.png
deleted file mode 100644
index 9c901543..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_4.png b/docs/_pics/java-notes/dataStructure/ds_4.png
deleted file mode 100644
index f96603ad..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_5.png b/docs/_pics/java-notes/dataStructure/ds_5.png
deleted file mode 100644
index e86adf53..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_6.png b/docs/_pics/java-notes/dataStructure/ds_6.png
deleted file mode 100644
index 76feac80..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_7.png b/docs/_pics/java-notes/dataStructure/ds_7.png
deleted file mode 100644
index f8b7a7aa..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_8.png b/docs/_pics/java-notes/dataStructure/ds_8.png
deleted file mode 100644
index d926fa86..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/ds_9.png b/docs/_pics/java-notes/dataStructure/ds_9.png
deleted file mode 100644
index 42aa0197..00000000
Binary files a/docs/_pics/java-notes/dataStructure/ds_9.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/graph/14_1.png b/docs/_pics/java-notes/dataStructure/graph/14_1.png
deleted file mode 100644
index e4e8daac..00000000
Binary files a/docs/_pics/java-notes/dataStructure/graph/14_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/graph/14_2.png b/docs/_pics/java-notes/dataStructure/graph/14_2.png
deleted file mode 100644
index 9515ba5b..00000000
Binary files a/docs/_pics/java-notes/dataStructure/graph/14_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/graph/14_3.png b/docs/_pics/java-notes/dataStructure/graph/14_3.png
deleted file mode 100644
index e3856961..00000000
Binary files a/docs/_pics/java-notes/dataStructure/graph/14_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/graph/14_4.png b/docs/_pics/java-notes/dataStructure/graph/14_4.png
deleted file mode 100644
index 5e8c304d..00000000
Binary files a/docs/_pics/java-notes/dataStructure/graph/14_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/hash/13_1.png b/docs/_pics/java-notes/dataStructure/hash/13_1.png
deleted file mode 100644
index 5be4bb04..00000000
Binary files a/docs/_pics/java-notes/dataStructure/hash/13_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/hash/13_2.png b/docs/_pics/java-notes/dataStructure/hash/13_2.png
deleted file mode 100644
index d096905f..00000000
Binary files a/docs/_pics/java-notes/dataStructure/hash/13_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/hash/13_3.png b/docs/_pics/java-notes/dataStructure/hash/13_3.png
deleted file mode 100644
index f41c13dd..00000000
Binary files a/docs/_pics/java-notes/dataStructure/hash/13_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/hash/13_4.png b/docs/_pics/java-notes/dataStructure/hash/13_4.png
deleted file mode 100644
index b9a9e8a2..00000000
Binary files a/docs/_pics/java-notes/dataStructure/hash/13_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/hash/13_5.png b/docs/_pics/java-notes/dataStructure/hash/13_5.png
deleted file mode 100644
index d24ffc10..00000000
Binary files a/docs/_pics/java-notes/dataStructure/hash/13_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/hash/13_6.png b/docs/_pics/java-notes/dataStructure/hash/13_6.png
deleted file mode 100644
index 6b422f33..00000000
Binary files a/docs/_pics/java-notes/dataStructure/hash/13_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/hash/13_7.png b/docs/_pics/java-notes/dataStructure/hash/13_7.png
deleted file mode 100644
index fd31f45e..00000000
Binary files a/docs/_pics/java-notes/dataStructure/hash/13_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/heap/heap_1.png b/docs/_pics/java-notes/dataStructure/heap/heap_1.png
deleted file mode 100644
index 679349fa..00000000
Binary files a/docs/_pics/java-notes/dataStructure/heap/heap_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/heap/heap_2.png b/docs/_pics/java-notes/dataStructure/heap/heap_2.png
deleted file mode 100644
index 5a8f6121..00000000
Binary files a/docs/_pics/java-notes/dataStructure/heap/heap_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/heap/heap_3.png b/docs/_pics/java-notes/dataStructure/heap/heap_3.png
deleted file mode 100644
index beb6d5f5..00000000
Binary files a/docs/_pics/java-notes/dataStructure/heap/heap_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/heap/heap_4.png b/docs/_pics/java-notes/dataStructure/heap/heap_4.png
deleted file mode 100644
index 324a9606..00000000
Binary files a/docs/_pics/java-notes/dataStructure/heap/heap_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/heap/heap_5.png b/docs/_pics/java-notes/dataStructure/heap/heap_5.png
deleted file mode 100644
index ca89c4c0..00000000
Binary files a/docs/_pics/java-notes/dataStructure/heap/heap_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_1.png b/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_1.png
deleted file mode 100644
index 60319a11..00000000
Binary files a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_10.png b/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_10.png
deleted file mode 100644
index 13a24ecb..00000000
Binary files a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_10.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_11.png b/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_11.png
deleted file mode 100644
index 9562a271..00000000
Binary files a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_11.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_12.png b/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_12.png
deleted file mode 100644
index 9a664338..00000000
Binary files a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_12.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_13.png b/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_13.png
deleted file mode 100644
index 29c37b9c..00000000
Binary files a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_13.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_14.png b/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_14.png
deleted file mode 100644
index 73c32f05..00000000
Binary files a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_14.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_15.png b/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_15.png
deleted file mode 100644
index 4122bbf3..00000000
Binary files a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_15.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_16.png b/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_16.png
deleted file mode 100644
index 05afeb8e..00000000
Binary files a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_16.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_17.png b/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_17.png
deleted file mode 100644
index 4253aeac..00000000
Binary files a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_17.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_2.png b/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_2.png
deleted file mode 100644
index 445fb91a..00000000
Binary files a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_3.png b/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_3.png
deleted file mode 100644
index 987245a3..00000000
Binary files a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_4.png b/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_4.png
deleted file mode 100644
index 4ad908d4..00000000
Binary files a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_5.png b/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_5.png
deleted file mode 100644
index 2f460915..00000000
Binary files a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_6.png b/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_6.png
deleted file mode 100644
index 33078fe0..00000000
Binary files a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_7.png b/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_7.png
deleted file mode 100644
index 67f1a681..00000000
Binary files a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_8.png b/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_8.png
deleted file mode 100644
index 3b859ee1..00000000
Binary files a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_9.png b/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_9.png
deleted file mode 100644
index bd5c0895..00000000
Binary files a/docs/_pics/java-notes/dataStructure/linkedlist/linkedlist_9.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/lr/lr_1.png b/docs/_pics/java-notes/dataStructure/lr/lr_1.png
deleted file mode 100644
index 37b6112c..00000000
Binary files a/docs/_pics/java-notes/dataStructure/lr/lr_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/lr/lr_2.png b/docs/_pics/java-notes/dataStructure/lr/lr_2.png
deleted file mode 100644
index a54e2388..00000000
Binary files a/docs/_pics/java-notes/dataStructure/lr/lr_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/lr/lr_3.png b/docs/_pics/java-notes/dataStructure/lr/lr_3.png
deleted file mode 100644
index 3f80501a..00000000
Binary files a/docs/_pics/java-notes/dataStructure/lr/lr_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/lr/lr_4.png b/docs/_pics/java-notes/dataStructure/lr/lr_4.png
deleted file mode 100644
index 862d3244..00000000
Binary files a/docs/_pics/java-notes/dataStructure/lr/lr_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/minSpanTree/15_1.png b/docs/_pics/java-notes/dataStructure/minSpanTree/15_1.png
deleted file mode 100644
index bef9f484..00000000
Binary files a/docs/_pics/java-notes/dataStructure/minSpanTree/15_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/minSpanTree/15_2.png b/docs/_pics/java-notes/dataStructure/minSpanTree/15_2.png
deleted file mode 100644
index 8d54ca66..00000000
Binary files a/docs/_pics/java-notes/dataStructure/minSpanTree/15_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/minSpanTree/15_3.png b/docs/_pics/java-notes/dataStructure/minSpanTree/15_3.png
deleted file mode 100644
index dea2df7a..00000000
Binary files a/docs/_pics/java-notes/dataStructure/minSpanTree/15_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/minSpanTree/15_4.png b/docs/_pics/java-notes/dataStructure/minSpanTree/15_4.png
deleted file mode 100644
index ca82370d..00000000
Binary files a/docs/_pics/java-notes/dataStructure/minSpanTree/15_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/minSpanTree/15_5.png b/docs/_pics/java-notes/dataStructure/minSpanTree/15_5.png
deleted file mode 100644
index 96065623..00000000
Binary files a/docs/_pics/java-notes/dataStructure/minSpanTree/15_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_1.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_1.png
deleted file mode 100644
index c9835b8f..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_10.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_10.png
deleted file mode 100644
index 3f02d09c..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_10.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_11.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_11.png
deleted file mode 100644
index 59f9dc4e..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_11.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_12.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_12.png
deleted file mode 100644
index 09adc3c4..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_12.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_13.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_13.png
deleted file mode 100644
index 96d236b6..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_13.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_14.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_14.png
deleted file mode 100644
index 9817e18b..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_14.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_15.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_15.png
deleted file mode 100644
index a1d2707f..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_15.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_16.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_16.png
deleted file mode 100644
index 180ab3d9..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_16.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_17.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_17.png
deleted file mode 100644
index e77f9196..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_17.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_18.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_18.png
deleted file mode 100644
index c525a2b5..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_18.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_19.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_19.png
deleted file mode 100644
index 17d2279b..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_19.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_2.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_2.png
deleted file mode 100644
index a389e992..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_20.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_20.png
deleted file mode 100644
index 6b9b1015..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_20.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_21.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_21.png
deleted file mode 100644
index 446d9e24..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_21.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_23.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_23.png
deleted file mode 100644
index 9d7ea819..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_23.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_24.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_24.png
deleted file mode 100644
index 115e82f2..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_24.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_25.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_25.png
deleted file mode 100644
index a3876e3b..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_25.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_3.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_3.png
deleted file mode 100644
index 658ad0ed..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_4.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_4.png
deleted file mode 100644
index 4858df2a..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_5.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_5.png
deleted file mode 100644
index d90946b5..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_6.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_6.png
deleted file mode 100644
index df6839a5..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_8.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_8.png
deleted file mode 100644
index f99ca2a7..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/redBlackTree/12_9.png b/docs/_pics/java-notes/dataStructure/redBlackTree/12_9.png
deleted file mode 100644
index 920b8f8b..00000000
Binary files a/docs/_pics/java-notes/dataStructure/redBlackTree/12_9.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree.png b/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree.png
deleted file mode 100644
index 17a6f4ca..00000000
Binary files a/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree00.png b/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree00.png
deleted file mode 100644
index 6d70a1a4..00000000
Binary files a/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree00.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree01.png b/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree01.png
deleted file mode 100644
index c3b86b11..00000000
Binary files a/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree01.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree_2.png b/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree_2.png
deleted file mode 100644
index f497d07f..00000000
Binary files a/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree_3.png b/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree_3.png
deleted file mode 100644
index 9e218f40..00000000
Binary files a/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree_4.png b/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree_4.png
deleted file mode 100644
index 991dd72b..00000000
Binary files a/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree_5.png b/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree_5.png
deleted file mode 100644
index 205fec50..00000000
Binary files a/docs/_pics/java-notes/dataStructure/segmentTree/segmentTree_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/setAndMap/map_1.png b/docs/_pics/java-notes/dataStructure/setAndMap/map_1.png
deleted file mode 100644
index a906a105..00000000
Binary files a/docs/_pics/java-notes/dataStructure/setAndMap/map_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/setAndMap/map_2.png b/docs/_pics/java-notes/dataStructure/setAndMap/map_2.png
deleted file mode 100644
index 58083c2f..00000000
Binary files a/docs/_pics/java-notes/dataStructure/setAndMap/map_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/setAndMap/set_1.png b/docs/_pics/java-notes/dataStructure/setAndMap/set_1.png
deleted file mode 100644
index 06b47d84..00000000
Binary files a/docs/_pics/java-notes/dataStructure/setAndMap/set_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/setAndMap/set_2.png b/docs/_pics/java-notes/dataStructure/setAndMap/set_2.png
deleted file mode 100644
index 57ca60b6..00000000
Binary files a/docs/_pics/java-notes/dataStructure/setAndMap/set_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/setAndMap/set_3.png b/docs/_pics/java-notes/dataStructure/setAndMap/set_3.png
deleted file mode 100644
index 4235a13c..00000000
Binary files a/docs/_pics/java-notes/dataStructure/setAndMap/set_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/setAndMap/set_4.png b/docs/_pics/java-notes/dataStructure/setAndMap/set_4.png
deleted file mode 100644
index b3a446e3..00000000
Binary files a/docs/_pics/java-notes/dataStructure/setAndMap/set_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/shortestPath/16_1.png b/docs/_pics/java-notes/dataStructure/shortestPath/16_1.png
deleted file mode 100644
index 35a3fb5d..00000000
Binary files a/docs/_pics/java-notes/dataStructure/shortestPath/16_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/shortestPath/16_10.png b/docs/_pics/java-notes/dataStructure/shortestPath/16_10.png
deleted file mode 100644
index 216fca58..00000000
Binary files a/docs/_pics/java-notes/dataStructure/shortestPath/16_10.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/shortestPath/16_11.png b/docs/_pics/java-notes/dataStructure/shortestPath/16_11.png
deleted file mode 100644
index c4f4ea57..00000000
Binary files a/docs/_pics/java-notes/dataStructure/shortestPath/16_11.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/shortestPath/16_2.png b/docs/_pics/java-notes/dataStructure/shortestPath/16_2.png
deleted file mode 100644
index a0ac3c67..00000000
Binary files a/docs/_pics/java-notes/dataStructure/shortestPath/16_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/shortestPath/16_3.png b/docs/_pics/java-notes/dataStructure/shortestPath/16_3.png
deleted file mode 100644
index 01447a0a..00000000
Binary files a/docs/_pics/java-notes/dataStructure/shortestPath/16_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/shortestPath/16_4.png b/docs/_pics/java-notes/dataStructure/shortestPath/16_4.png
deleted file mode 100644
index 33276f8f..00000000
Binary files a/docs/_pics/java-notes/dataStructure/shortestPath/16_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/shortestPath/16_5.png b/docs/_pics/java-notes/dataStructure/shortestPath/16_5.png
deleted file mode 100644
index 19388d75..00000000
Binary files a/docs/_pics/java-notes/dataStructure/shortestPath/16_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/shortestPath/16_6.png b/docs/_pics/java-notes/dataStructure/shortestPath/16_6.png
deleted file mode 100644
index a526f1c2..00000000
Binary files a/docs/_pics/java-notes/dataStructure/shortestPath/16_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/shortestPath/16_7.png b/docs/_pics/java-notes/dataStructure/shortestPath/16_7.png
deleted file mode 100644
index 26a3f101..00000000
Binary files a/docs/_pics/java-notes/dataStructure/shortestPath/16_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/shortestPath/16_8.png b/docs/_pics/java-notes/dataStructure/shortestPath/16_8.png
deleted file mode 100644
index 9997aabb..00000000
Binary files a/docs/_pics/java-notes/dataStructure/shortestPath/16_8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/shortestPath/16_9.png b/docs/_pics/java-notes/dataStructure/shortestPath/16_9.png
deleted file mode 100644
index d6a11f7f..00000000
Binary files a/docs/_pics/java-notes/dataStructure/shortestPath/16_9.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/stack/queue_1.png b/docs/_pics/java-notes/dataStructure/stack/queue_1.png
deleted file mode 100644
index b1b89409..00000000
Binary files a/docs/_pics/java-notes/dataStructure/stack/queue_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/stack/queue_2.png b/docs/_pics/java-notes/dataStructure/stack/queue_2.png
deleted file mode 100644
index eb14afd9..00000000
Binary files a/docs/_pics/java-notes/dataStructure/stack/queue_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/stack/queue_3.png b/docs/_pics/java-notes/dataStructure/stack/queue_3.png
deleted file mode 100644
index 728e840f..00000000
Binary files a/docs/_pics/java-notes/dataStructure/stack/queue_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/stack/queue_4.png b/docs/_pics/java-notes/dataStructure/stack/queue_4.png
deleted file mode 100644
index 02bd21b3..00000000
Binary files a/docs/_pics/java-notes/dataStructure/stack/queue_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/stack/queue_5.png b/docs/_pics/java-notes/dataStructure/stack/queue_5.png
deleted file mode 100644
index c3b1eaa2..00000000
Binary files a/docs/_pics/java-notes/dataStructure/stack/queue_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/stack/queue_6.png b/docs/_pics/java-notes/dataStructure/stack/queue_6.png
deleted file mode 100644
index 94458b16..00000000
Binary files a/docs/_pics/java-notes/dataStructure/stack/queue_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/stack/queue_7.png b/docs/_pics/java-notes/dataStructure/stack/queue_7.png
deleted file mode 100644
index aae4455a..00000000
Binary files a/docs/_pics/java-notes/dataStructure/stack/queue_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/stack/stack_1.png b/docs/_pics/java-notes/dataStructure/stack/stack_1.png
deleted file mode 100644
index 8c88f27b..00000000
Binary files a/docs/_pics/java-notes/dataStructure/stack/stack_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/stack/stack_2.png b/docs/_pics/java-notes/dataStructure/stack/stack_2.png
deleted file mode 100644
index 658939ab..00000000
Binary files a/docs/_pics/java-notes/dataStructure/stack/stack_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/sz_1.png b/docs/_pics/java-notes/dataStructure/sz_1.png
deleted file mode 100644
index 7763fe92..00000000
Binary files a/docs/_pics/java-notes/dataStructure/sz_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/sz_2.png b/docs/_pics/java-notes/dataStructure/sz_2.png
deleted file mode 100644
index 62e90ee3..00000000
Binary files a/docs/_pics/java-notes/dataStructure/sz_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/sz_3.png b/docs/_pics/java-notes/dataStructure/sz_3.png
deleted file mode 100644
index d4642907..00000000
Binary files a/docs/_pics/java-notes/dataStructure/sz_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/sz_4.png b/docs/_pics/java-notes/dataStructure/sz_4.png
deleted file mode 100644
index ccf10672..00000000
Binary files a/docs/_pics/java-notes/dataStructure/sz_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/sz_5.png b/docs/_pics/java-notes/dataStructure/sz_5.png
deleted file mode 100644
index bc14b56b..00000000
Binary files a/docs/_pics/java-notes/dataStructure/sz_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/sz_6.png b/docs/_pics/java-notes/dataStructure/sz_6.png
deleted file mode 100644
index f8eb1844..00000000
Binary files a/docs/_pics/java-notes/dataStructure/sz_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/trie/trie_1.png b/docs/_pics/java-notes/dataStructure/trie/trie_1.png
deleted file mode 100644
index 40a7e2db..00000000
Binary files a/docs/_pics/java-notes/dataStructure/trie/trie_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/trie/trie_2.png b/docs/_pics/java-notes/dataStructure/trie/trie_2.png
deleted file mode 100644
index a80cdb79..00000000
Binary files a/docs/_pics/java-notes/dataStructure/trie/trie_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/unionFind/uf_1.png b/docs/_pics/java-notes/dataStructure/unionFind/uf_1.png
deleted file mode 100644
index f09e91e1..00000000
Binary files a/docs/_pics/java-notes/dataStructure/unionFind/uf_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/unionFind/uf_10.png b/docs/_pics/java-notes/dataStructure/unionFind/uf_10.png
deleted file mode 100644
index f63f7b1a..00000000
Binary files a/docs/_pics/java-notes/dataStructure/unionFind/uf_10.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/unionFind/uf_2.png b/docs/_pics/java-notes/dataStructure/unionFind/uf_2.png
deleted file mode 100644
index e74ae1b4..00000000
Binary files a/docs/_pics/java-notes/dataStructure/unionFind/uf_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/unionFind/uf_3.png b/docs/_pics/java-notes/dataStructure/unionFind/uf_3.png
deleted file mode 100644
index ed737b84..00000000
Binary files a/docs/_pics/java-notes/dataStructure/unionFind/uf_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/unionFind/uf_4.png b/docs/_pics/java-notes/dataStructure/unionFind/uf_4.png
deleted file mode 100644
index a91b8381..00000000
Binary files a/docs/_pics/java-notes/dataStructure/unionFind/uf_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/unionFind/uf_5.png b/docs/_pics/java-notes/dataStructure/unionFind/uf_5.png
deleted file mode 100644
index e72818a6..00000000
Binary files a/docs/_pics/java-notes/dataStructure/unionFind/uf_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/unionFind/uf_6.png b/docs/_pics/java-notes/dataStructure/unionFind/uf_6.png
deleted file mode 100644
index 0fd49f44..00000000
Binary files a/docs/_pics/java-notes/dataStructure/unionFind/uf_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/unionFind/uf_7.png b/docs/_pics/java-notes/dataStructure/unionFind/uf_7.png
deleted file mode 100644
index 61ea9717..00000000
Binary files a/docs/_pics/java-notes/dataStructure/unionFind/uf_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/unionFind/uf_8.png b/docs/_pics/java-notes/dataStructure/unionFind/uf_8.png
deleted file mode 100644
index a0e0f003..00000000
Binary files a/docs/_pics/java-notes/dataStructure/unionFind/uf_8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/unionFind/uf_9.png b/docs/_pics/java-notes/dataStructure/unionFind/uf_9.png
deleted file mode 100644
index f75a0943..00000000
Binary files a/docs/_pics/java-notes/dataStructure/unionFind/uf_9.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/unionFind/unionFind_1.png b/docs/_pics/java-notes/dataStructure/unionFind/unionFind_1.png
deleted file mode 100644
index a693fe3d..00000000
Binary files a/docs/_pics/java-notes/dataStructure/unionFind/unionFind_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/dataStructure/unionFind/unionFind_2.png b/docs/_pics/java-notes/dataStructure/unionFind/unionFind_2.png
deleted file mode 100644
index afd1b566..00000000
Binary files a/docs/_pics/java-notes/dataStructure/unionFind/unionFind_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/061c88c1-572f-424f-b580-9cbce903a3fe.png b/docs/_pics/java-notes/database/061c88c1-572f-424f-b580-9cbce903a3fe.png
deleted file mode 100644
index eb25a980..00000000
Binary files a/docs/_pics/java-notes/database/061c88c1-572f-424f-b580-9cbce903a3fe.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/0ea37ee2-c224-4c79-b895-e131c6805c40.png b/docs/_pics/java-notes/database/0ea37ee2-c224-4c79-b895-e131c6805c40.png
deleted file mode 100644
index 79ec18df..00000000
Binary files a/docs/_pics/java-notes/database/0ea37ee2-c224-4c79-b895-e131c6805c40.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/1202b2d6-9469-4251-bd47-ca6034fb6116.png b/docs/_pics/java-notes/database/1202b2d6-9469-4251-bd47-ca6034fb6116.png
deleted file mode 100644
index b44fa996..00000000
Binary files a/docs/_pics/java-notes/database/1202b2d6-9469-4251-bd47-ca6034fb6116.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/185b9c49-4c13-4241-a848-fbff85c03a64.png b/docs/_pics/java-notes/database/185b9c49-4c13-4241-a848-fbff85c03a64.png
deleted file mode 100644
index 6f56bc5e..00000000
Binary files a/docs/_pics/java-notes/database/185b9c49-4c13-4241-a848-fbff85c03a64.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/1a851e90-0d5c-4d4f-ac54-34c20ecfb903.jpg b/docs/_pics/java-notes/database/1a851e90-0d5c-4d4f-ac54-34c20ecfb903.jpg
deleted file mode 100644
index 4809984f..00000000
Binary files a/docs/_pics/java-notes/database/1a851e90-0d5c-4d4f-ac54-34c20ecfb903.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/database/292b4a35-4507-4256-84ff-c218f108ee31.jpg b/docs/_pics/java-notes/database/292b4a35-4507-4256-84ff-c218f108ee31.jpg
deleted file mode 100644
index 38e0905b..00000000
Binary files a/docs/_pics/java-notes/database/292b4a35-4507-4256-84ff-c218f108ee31.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/database/395a9e83-b1a1-4a1d-b170-d081e7bb5bab.png b/docs/_pics/java-notes/database/395a9e83-b1a1-4a1d-b170-d081e7bb5bab.png
deleted file mode 100644
index b486ec02..00000000
Binary files a/docs/_pics/java-notes/database/395a9e83-b1a1-4a1d-b170-d081e7bb5bab.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/423f2a40-bee1-488e-b460-8e76c48ee560.png b/docs/_pics/java-notes/database/423f2a40-bee1-488e-b460-8e76c48ee560.png
deleted file mode 100644
index 7b8c8c08..00000000
Binary files a/docs/_pics/java-notes/database/423f2a40-bee1-488e-b460-8e76c48ee560.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/485fdf34-ccf8-4185-97c6-17374ee719a0.png b/docs/_pics/java-notes/database/485fdf34-ccf8-4185-97c6-17374ee719a0.png
deleted file mode 100644
index f9f73faf..00000000
Binary files a/docs/_pics/java-notes/database/485fdf34-ccf8-4185-97c6-17374ee719a0.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/6019b2db-bc3e-4408-b6d8-96025f4481d6.png b/docs/_pics/java-notes/database/6019b2db-bc3e-4408-b6d8-96025f4481d6.png
deleted file mode 100644
index 900ee963..00000000
Binary files a/docs/_pics/java-notes/database/6019b2db-bc3e-4408-b6d8-96025f4481d6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/63c2909f-0c5f-496f-9fe5-ee9176b31aba.jpg b/docs/_pics/java-notes/database/63c2909f-0c5f-496f-9fe5-ee9176b31aba.jpg
deleted file mode 100644
index d6471621..00000000
Binary files a/docs/_pics/java-notes/database/63c2909f-0c5f-496f-9fe5-ee9176b31aba.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/database/72fe492e-f1cb-4cfc-92f8-412fb3ae6fec.png b/docs/_pics/java-notes/database/72fe492e-f1cb-4cfc-92f8-412fb3ae6fec.png
deleted file mode 100644
index 748980c4..00000000
Binary files a/docs/_pics/java-notes/database/72fe492e-f1cb-4cfc-92f8-412fb3ae6fec.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/7ab8ca28-2a41-4adf-9502-cc0a21e63b51.jpg b/docs/_pics/java-notes/database/7ab8ca28-2a41-4adf-9502-cc0a21e63b51.jpg
deleted file mode 100644
index 31c70314..00000000
Binary files a/docs/_pics/java-notes/database/7ab8ca28-2a41-4adf-9502-cc0a21e63b51.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/database/7bd202a7-93d4-4f3a-a878-af68ae25539a.png b/docs/_pics/java-notes/database/7bd202a7-93d4-4f3a-a878-af68ae25539a.png
deleted file mode 100644
index 711fb45b..00000000
Binary files a/docs/_pics/java-notes/database/7bd202a7-93d4-4f3a-a878-af68ae25539a.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/7c54de21-e2ff-402e-bc42-4037de1c1592.png b/docs/_pics/java-notes/database/7c54de21-e2ff-402e-bc42-4037de1c1592.png
deleted file mode 100644
index 8b5ce204..00000000
Binary files a/docs/_pics/java-notes/database/7c54de21-e2ff-402e-bc42-4037de1c1592.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/7ec9d619-fa60-4a2b-95aa-bf1a62aad408.jpg b/docs/_pics/java-notes/database/7ec9d619-fa60-4a2b-95aa-bf1a62aad408.jpg
deleted file mode 100644
index 5753388e..00000000
Binary files a/docs/_pics/java-notes/database/7ec9d619-fa60-4a2b-95aa-bf1a62aad408.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/database/88ff46b3-028a-4dbb-a572-1f062b8b96d3.png b/docs/_pics/java-notes/database/88ff46b3-028a-4dbb-a572-1f062b8b96d3.png
deleted file mode 100644
index c6344ad2..00000000
Binary files a/docs/_pics/java-notes/database/88ff46b3-028a-4dbb-a572-1f062b8b96d3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/8b798007-e0fb-420c-b981-ead215692417.jpg b/docs/_pics/java-notes/database/8b798007-e0fb-420c-b981-ead215692417.jpg
deleted file mode 100644
index dd218133..00000000
Binary files a/docs/_pics/java-notes/database/8b798007-e0fb-420c-b981-ead215692417.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/database/9ea86eb5-000a-4281-b948-7b567bd6f1d8.png b/docs/_pics/java-notes/database/9ea86eb5-000a-4281-b948-7b567bd6f1d8.png
deleted file mode 100644
index ba045e20..00000000
Binary files a/docs/_pics/java-notes/database/9ea86eb5-000a-4281-b948-7b567bd6f1d8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/B_plus_tree.png b/docs/_pics/java-notes/database/B_plus_tree.png
deleted file mode 100644
index c5e8961d..00000000
Binary files a/docs/_pics/java-notes/database/B_plus_tree.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/MySQL_1.png b/docs/_pics/java-notes/database/MySQL_1.png
deleted file mode 100644
index 74d42d53..00000000
Binary files a/docs/_pics/java-notes/database/MySQL_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/MySQL_2.png b/docs/_pics/java-notes/database/MySQL_2.png
deleted file mode 100644
index 8764a2f9..00000000
Binary files a/docs/_pics/java-notes/database/MySQL_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/MySQL_3.png b/docs/_pics/java-notes/database/MySQL_3.png
deleted file mode 100644
index 503ef3b2..00000000
Binary files a/docs/_pics/java-notes/database/MySQL_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/MySQL_4.png b/docs/_pics/java-notes/database/MySQL_4.png
deleted file mode 100644
index 7d57aae5..00000000
Binary files a/docs/_pics/java-notes/database/MySQL_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/MySQL_6.gif b/docs/_pics/java-notes/database/MySQL_6.gif
deleted file mode 100644
index cac12c03..00000000
Binary files a/docs/_pics/java-notes/database/MySQL_6.gif and /dev/null differ
diff --git a/docs/_pics/java-notes/database/MySQL_7.png b/docs/_pics/java-notes/database/MySQL_7.png
deleted file mode 100644
index 47a0dc18..00000000
Binary files a/docs/_pics/java-notes/database/MySQL_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/MySQL_8.png b/docs/_pics/java-notes/database/MySQL_8.png
deleted file mode 100644
index 7fef7ba5..00000000
Binary files a/docs/_pics/java-notes/database/MySQL_8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/a58e294a-615d-4ea0-9fbf-064a6daec4b2.png b/docs/_pics/java-notes/database/a58e294a-615d-4ea0-9fbf-064a6daec4b2.png
deleted file mode 100644
index fdefb823..00000000
Binary files a/docs/_pics/java-notes/database/a58e294a-615d-4ea0-9fbf-064a6daec4b2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/beba612e-dc5b-4fc2-869d-0b23408ac90a.png b/docs/_pics/java-notes/database/beba612e-dc5b-4fc2-869d-0b23408ac90a.png
deleted file mode 100644
index b24241d1..00000000
Binary files a/docs/_pics/java-notes/database/beba612e-dc5b-4fc2-869d-0b23408ac90a.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/c0a9fa91-da2e-4892-8c9f-80206a6f7047.png b/docs/_pics/java-notes/database/c0a9fa91-da2e-4892-8c9f-80206a6f7047.png
deleted file mode 100644
index add3c5d4..00000000
Binary files a/docs/_pics/java-notes/database/c0a9fa91-da2e-4892-8c9f-80206a6f7047.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/c28c6fbc-2bc1-47d9-9b2e-cf3d4034f877.jpg b/docs/_pics/java-notes/database/c28c6fbc-2bc1-47d9-9b2e-cf3d4034f877.jpg
deleted file mode 100644
index 593513fe..00000000
Binary files a/docs/_pics/java-notes/database/c28c6fbc-2bc1-47d9-9b2e-cf3d4034f877.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/database/c2d343f7-604c-4856-9a3c-c71d6f67fecc.png b/docs/_pics/java-notes/database/c2d343f7-604c-4856-9a3c-c71d6f67fecc.png
deleted file mode 100644
index 84b2898b..00000000
Binary files a/docs/_pics/java-notes/database/c2d343f7-604c-4856-9a3c-c71d6f67fecc.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/c8d18ca9-0b09-441a-9a0c-fb063630d708.png b/docs/_pics/java-notes/database/c8d18ca9-0b09-441a-9a0c-fb063630d708.png
deleted file mode 100644
index 514ab054..00000000
Binary files a/docs/_pics/java-notes/database/c8d18ca9-0b09-441a-9a0c-fb063630d708.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/cd5fbcff-3f35-43a6-8ffa-082a93ce0f0e.png b/docs/_pics/java-notes/database/cd5fbcff-3f35-43a6-8ffa-082a93ce0f0e.png
deleted file mode 100644
index f8550a11..00000000
Binary files a/docs/_pics/java-notes/database/cd5fbcff-3f35-43a6-8ffa-082a93ce0f0e.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db.png b/docs/_pics/java-notes/database/db.png
deleted file mode 100644
index a41b0eb8..00000000
Binary files a/docs/_pics/java-notes/database/db.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_1.png b/docs/_pics/java-notes/database/db_1.png
deleted file mode 100644
index f097290d..00000000
Binary files a/docs/_pics/java-notes/database/db_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_10.png b/docs/_pics/java-notes/database/db_10.png
deleted file mode 100644
index 5d20fba8..00000000
Binary files a/docs/_pics/java-notes/database/db_10.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_11.png b/docs/_pics/java-notes/database/db_11.png
deleted file mode 100644
index 7c8b3df9..00000000
Binary files a/docs/_pics/java-notes/database/db_11.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_12.png b/docs/_pics/java-notes/database/db_12.png
deleted file mode 100644
index 67b11d24..00000000
Binary files a/docs/_pics/java-notes/database/db_12.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_13.png b/docs/_pics/java-notes/database/db_13.png
deleted file mode 100644
index 3916e93b..00000000
Binary files a/docs/_pics/java-notes/database/db_13.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_14.png b/docs/_pics/java-notes/database/db_14.png
deleted file mode 100644
index 968f5b58..00000000
Binary files a/docs/_pics/java-notes/database/db_14.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_15.png b/docs/_pics/java-notes/database/db_15.png
deleted file mode 100644
index dd2b185a..00000000
Binary files a/docs/_pics/java-notes/database/db_15.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_16.png b/docs/_pics/java-notes/database/db_16.png
deleted file mode 100644
index a9d55fd4..00000000
Binary files a/docs/_pics/java-notes/database/db_16.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_17.png b/docs/_pics/java-notes/database/db_17.png
deleted file mode 100644
index 8f1f54f6..00000000
Binary files a/docs/_pics/java-notes/database/db_17.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_18.png b/docs/_pics/java-notes/database/db_18.png
deleted file mode 100644
index e7399df8..00000000
Binary files a/docs/_pics/java-notes/database/db_18.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_19.png b/docs/_pics/java-notes/database/db_19.png
deleted file mode 100644
index f5ee41cc..00000000
Binary files a/docs/_pics/java-notes/database/db_19.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_2.png b/docs/_pics/java-notes/database/db_2.png
deleted file mode 100644
index bf345f40..00000000
Binary files a/docs/_pics/java-notes/database/db_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_3.png b/docs/_pics/java-notes/database/db_3.png
deleted file mode 100644
index 5c50f36b..00000000
Binary files a/docs/_pics/java-notes/database/db_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_4.png b/docs/_pics/java-notes/database/db_4.png
deleted file mode 100644
index 8c44e8c0..00000000
Binary files a/docs/_pics/java-notes/database/db_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_5.png b/docs/_pics/java-notes/database/db_5.png
deleted file mode 100644
index 81c9f2c8..00000000
Binary files a/docs/_pics/java-notes/database/db_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_6.png b/docs/_pics/java-notes/database/db_6.png
deleted file mode 100644
index 22d5b499..00000000
Binary files a/docs/_pics/java-notes/database/db_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_7.png b/docs/_pics/java-notes/database/db_7.png
deleted file mode 100644
index ec99338f..00000000
Binary files a/docs/_pics/java-notes/database/db_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_8.png b/docs/_pics/java-notes/database/db_8.png
deleted file mode 100644
index c3b8b28b..00000000
Binary files a/docs/_pics/java-notes/database/db_8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/db_9.png b/docs/_pics/java-notes/database/db_9.png
deleted file mode 100644
index 6e35eb8a..00000000
Binary files a/docs/_pics/java-notes/database/db_9.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/dd782132-d830-4c55-9884-cfac0a541b8e.png b/docs/_pics/java-notes/database/dd782132-d830-4c55-9884-cfac0a541b8e.png
deleted file mode 100644
index e338c1bb..00000000
Binary files a/docs/_pics/java-notes/database/dd782132-d830-4c55-9884-cfac0a541b8e.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/de9b9ea0-1327-4865-93e5-6f805c48bc9e.png b/docs/_pics/java-notes/database/de9b9ea0-1327-4865-93e5-6f805c48bc9e.png
deleted file mode 100644
index cfabd4d7..00000000
Binary files a/docs/_pics/java-notes/database/de9b9ea0-1327-4865-93e5-6f805c48bc9e.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/e130e5b8-b19a-4f1e-b860-223040525cf6.jpg b/docs/_pics/java-notes/database/e130e5b8-b19a-4f1e-b860-223040525cf6.jpg
deleted file mode 100644
index 0968e1bc..00000000
Binary files a/docs/_pics/java-notes/database/e130e5b8-b19a-4f1e-b860-223040525cf6.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/database/e41405a8-7c05-4f70-8092-e961e28d3112.jpg b/docs/_pics/java-notes/database/e41405a8-7c05-4f70-8092-e961e28d3112.jpg
deleted file mode 100644
index 7fef7ba5..00000000
Binary files a/docs/_pics/java-notes/database/e41405a8-7c05-4f70-8092-e961e28d3112.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/database/f7d170a3-e446-4a64-ac2d-cb95028f81a8.png b/docs/_pics/java-notes/database/f7d170a3-e446-4a64-ac2d-cb95028f81a8.png
deleted file mode 100644
index 26799762..00000000
Binary files a/docs/_pics/java-notes/database/f7d170a3-e446-4a64-ac2d-cb95028f81a8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/fb327611-7e2b-4f2f-9f5b-38592d408f07.png b/docs/_pics/java-notes/database/fb327611-7e2b-4f2f-9f5b-38592d408f07.png
deleted file mode 100644
index 774ecf10..00000000
Binary files a/docs/_pics/java-notes/database/fb327611-7e2b-4f2f-9f5b-38592d408f07.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/leetcode_1.png b/docs/_pics/java-notes/database/leetcode_1.png
deleted file mode 100644
index 88583f00..00000000
Binary files a/docs/_pics/java-notes/database/leetcode_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/leetcode_2.png b/docs/_pics/java-notes/database/leetcode_2.png
deleted file mode 100644
index 1fe2db8d..00000000
Binary files a/docs/_pics/java-notes/database/leetcode_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/leetcode_3.png b/docs/_pics/java-notes/database/leetcode_3.png
deleted file mode 100644
index 21cd8fe0..00000000
Binary files a/docs/_pics/java-notes/database/leetcode_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/master-slave-proxy.png b/docs/_pics/java-notes/database/master-slave-proxy.png
deleted file mode 100644
index 66be0d61..00000000
Binary files a/docs/_pics/java-notes/database/master-slave-proxy.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/master-slave.png b/docs/_pics/java-notes/database/master-slave.png
deleted file mode 100644
index 594a183a..00000000
Binary files a/docs/_pics/java-notes/database/master-slave.png and /dev/null differ
diff --git a/docs/_pics/java-notes/database/r_1 b/docs/_pics/java-notes/database/r_1
deleted file mode 100644
index 9f0d22dc..00000000
Binary files a/docs/_pics/java-notes/database/r_1 and /dev/null differ
diff --git a/docs/_pics/java-notes/database/r_2 b/docs/_pics/java-notes/database/r_2
deleted file mode 100644
index 69aac318..00000000
Binary files a/docs/_pics/java-notes/database/r_2 and /dev/null differ
diff --git a/docs/_pics/java-notes/distribution/cap.png b/docs/_pics/java-notes/distribution/cap.png
deleted file mode 100644
index 5000a877..00000000
Binary files a/docs/_pics/java-notes/distribution/cap.png and /dev/null differ
diff --git a/docs/_pics/java-notes/distribution/cap_2.png b/docs/_pics/java-notes/distribution/cap_2.png
deleted file mode 100644
index 4a99129a..00000000
Binary files a/docs/_pics/java-notes/distribution/cap_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/00_1.png b/docs/_pics/java-notes/java/00_1.png
deleted file mode 100644
index db310c1f..00000000
Binary files a/docs/_pics/java-notes/java/00_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/01_1.png b/docs/_pics/java-notes/java/01_1.png
deleted file mode 100644
index d5884935..00000000
Binary files a/docs/_pics/java-notes/java/01_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/01_2.png b/docs/_pics/java-notes/java/01_2.png
deleted file mode 100644
index b8624ac1..00000000
Binary files a/docs/_pics/java-notes/java/01_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/02_1.png b/docs/_pics/java-notes/java/02_1.png
deleted file mode 100644
index 897a510b..00000000
Binary files a/docs/_pics/java-notes/java/02_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/02_2.png b/docs/_pics/java-notes/java/02_2.png
deleted file mode 100644
index 7a3d9fc1..00000000
Binary files a/docs/_pics/java-notes/java/02_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/04_01.png b/docs/_pics/java-notes/java/04_01.png
deleted file mode 100644
index cf9e87d9..00000000
Binary files a/docs/_pics/java-notes/java/04_01.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/06_00.png b/docs/_pics/java-notes/java/06_00.png
deleted file mode 100644
index 994c15c4..00000000
Binary files a/docs/_pics/java-notes/java/06_00.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/16_00.jpg b/docs/_pics/java-notes/java/16_00.jpg
deleted file mode 100644
index 7701e8b1..00000000
Binary files a/docs/_pics/java-notes/java/16_00.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/java/16_03.jpg b/docs/_pics/java-notes/java/16_03.jpg
deleted file mode 100644
index 43e9fed1..00000000
Binary files a/docs/_pics/java-notes/java/16_03.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/java/1bea398f-17a7-4f67-a90b-9e2d243eaa9a.png b/docs/_pics/java-notes/java/1bea398f-17a7-4f67-a90b-9e2d243eaa9a.png
deleted file mode 100644
index e4286077..00000000
Binary files a/docs/_pics/java-notes/java/1bea398f-17a7-4f67-a90b-9e2d243eaa9a.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/3fdfc89d-719e-4d93-b518-29fa612b3b18.png b/docs/_pics/java-notes/java/3fdfc89d-719e-4d93-b518-29fa612b3b18.png
deleted file mode 100644
index 781dca88..00000000
Binary files a/docs/_pics/java-notes/java/3fdfc89d-719e-4d93-b518-29fa612b3b18.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/49495c95-52e5-4c9a-b27b-92cf235ff5ec.png b/docs/_pics/java-notes/java/49495c95-52e5-4c9a-b27b-92cf235ff5ec.png
deleted file mode 100644
index 662d99c3..00000000
Binary files a/docs/_pics/java-notes/java/49495c95-52e5-4c9a-b27b-92cf235ff5ec.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/49d6de7b-0d0d-425c-9e49-a1559dc23b10.png b/docs/_pics/java-notes/java/49d6de7b-0d0d-425c-9e49-a1559dc23b10.png
deleted file mode 100644
index eea3c6b4..00000000
Binary files a/docs/_pics/java-notes/java/49d6de7b-0d0d-425c-9e49-a1559dc23b10.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/4d930e22-f493-49ae-8dff-ea21cd6895dc.png b/docs/_pics/java-notes/java/4d930e22-f493-49ae-8dff-ea21cd6895dc.png
deleted file mode 100644
index 7ee2ffb4..00000000
Binary files a/docs/_pics/java-notes/java/4d930e22-f493-49ae-8dff-ea21cd6895dc.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/67bf5487-c45d-49b6-b9c0-a058d8c68902.png b/docs/_pics/java-notes/java/67bf5487-c45d-49b6-b9c0-a058d8c68902.png
deleted file mode 100644
index b63baeb2..00000000
Binary files a/docs/_pics/java-notes/java/67bf5487-c45d-49b6-b9c0-a058d8c68902.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/80804f52-8815-4096-b506-48eef3eed5c6.png b/docs/_pics/java-notes/java/80804f52-8815-4096-b506-48eef3eed5c6.png
deleted file mode 100644
index 06c8760b..00000000
Binary files a/docs/_pics/java-notes/java/80804f52-8815-4096-b506-48eef3eed5c6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/8fe838e3-ef77-4f63-bf45-417b6bc5c6bb.png b/docs/_pics/java-notes/java/8fe838e3-ef77-4f63-bf45-417b6bc5c6bb.png
deleted file mode 100644
index 2e53fbe3..00000000
Binary files a/docs/_pics/java-notes/java/8fe838e3-ef77-4f63-bf45-417b6bc5c6bb.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/952e06bd-5a65-4cab-82e4-dd1536462f38.png b/docs/_pics/java-notes/java/952e06bd-5a65-4cab-82e4-dd1536462f38.png
deleted file mode 100644
index 4983142a..00000000
Binary files a/docs/_pics/java-notes/java/952e06bd-5a65-4cab-82e4-dd1536462f38.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/ClienteServidorSockets1521731145260.jpg b/docs/_pics/java-notes/java/ClienteServidorSockets1521731145260.jpg
deleted file mode 100644
index 18976fb3..00000000
Binary files a/docs/_pics/java-notes/java/ClienteServidorSockets1521731145260.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/java/PPjwP.png b/docs/_pics/java-notes/java/PPjwP.png
deleted file mode 100644
index 80631505..00000000
Binary files a/docs/_pics/java-notes/java/PPjwP.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/SoWkIImgAStDuUBAp2j9BKfBJ4vLy0G.png b/docs/_pics/java-notes/java/SoWkIImgAStDuUBAp2j9BKfBJ4vLy0G.png
deleted file mode 100644
index 124ec977..00000000
Binary files a/docs/_pics/java-notes/java/SoWkIImgAStDuUBAp2j9BKfBJ4vLy0G.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/SoWkIImgAStDuUBAp2j9BKfBJ4vLy4q.png b/docs/_pics/java-notes/java/SoWkIImgAStDuUBAp2j9BKfBJ4vLy4q.png
deleted file mode 100644
index 7a202d35..00000000
Binary files a/docs/_pics/java-notes/java/SoWkIImgAStDuUBAp2j9BKfBJ4vLy4q.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/VP6n3i8W48Ptde8NQ9_0eSR5eOD6uqx.png b/docs/_pics/java-notes/java/VP6n3i8W48Ptde8NQ9_0eSR5eOD6uqx.png
deleted file mode 100644
index d2559cf3..00000000
Binary files a/docs/_pics/java-notes/java/VP6n3i8W48Ptde8NQ9_0eSR5eOD6uqx.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/b5bdcbe2-b958-4aef-9151-6ad963cb28b4.png b/docs/_pics/java-notes/java/b5bdcbe2-b958-4aef-9151-6ad963cb28b4.png
deleted file mode 100644
index dd32da70..00000000
Binary files a/docs/_pics/java-notes/java/b5bdcbe2-b958-4aef-9151-6ad963cb28b4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/java/f76067a5-7d5f-4135-9549-8199c77d8f1c.jpg b/docs/_pics/java-notes/java/f76067a5-7d5f-4135-9549-8199c77d8f1c.jpg
deleted file mode 100644
index d710e659..00000000
Binary files a/docs/_pics/java-notes/java/f76067a5-7d5f-4135-9549-8199c77d8f1c.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/java/threadPool.png b/docs/_pics/java-notes/java/threadPool.png
deleted file mode 100644
index 7efa6898..00000000
Binary files a/docs/_pics/java-notes/java/threadPool.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/array/array_01.png b/docs/_pics/java-notes/leetcode/array/array_01.png
deleted file mode 100644
index c7cf3d0d..00000000
Binary files a/docs/_pics/java-notes/leetcode/array/array_01.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/array/array_02.png b/docs/_pics/java-notes/leetcode/array/array_02.png
deleted file mode 100644
index d4aaffa5..00000000
Binary files a/docs/_pics/java-notes/leetcode/array/array_02.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/array/array_03.png b/docs/_pics/java-notes/leetcode/array/array_03.png
deleted file mode 100644
index 1450b10d..00000000
Binary files a/docs/_pics/java-notes/leetcode/array/array_03.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/array/array_04.png b/docs/_pics/java-notes/leetcode/array/array_04.png
deleted file mode 100644
index e7663a64..00000000
Binary files a/docs/_pics/java-notes/leetcode/array/array_04.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/array/array_05.png b/docs/_pics/java-notes/leetcode/array/array_05.png
deleted file mode 100644
index d68a40da..00000000
Binary files a/docs/_pics/java-notes/leetcode/array/array_05.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_1.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_1.png
deleted file mode 100644
index 6e1f1b5e..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_10.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_10.png
deleted file mode 100644
index 44aebf9e..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_10.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_11.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_11.png
deleted file mode 100644
index 8ed6eecf..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_11.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_12.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_12.png
deleted file mode 100644
index ba3163fe..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_12.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_13.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_13.png
deleted file mode 100644
index e2f6d4d3..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_13.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_14.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_14.png
deleted file mode 100644
index b6331d27..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_14.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_15.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_15.png
deleted file mode 100644
index 909aeeb1..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_15.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_16.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_16.png
deleted file mode 100644
index 0ea9cad5..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_16.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_17.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_17.png
deleted file mode 100644
index 66736fef..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_17.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_18.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_18.png
deleted file mode 100644
index 920e918b..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_18.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_19.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_19.png
deleted file mode 100644
index 3763557e..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_19.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_2.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_2.png
deleted file mode 100644
index f59c0c48..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_20.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_20.png
deleted file mode 100644
index 58f6da7c..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_20.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_21.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_21.png
deleted file mode 100644
index 73142c37..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_21.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_22.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_22.png
deleted file mode 100644
index 3ed5fb51..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_22.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_23.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_23.png
deleted file mode 100644
index 42b7c305..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_23.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_24.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_24.png
deleted file mode 100644
index 1ea5720a..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_24.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_25.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_25.png
deleted file mode 100644
index 888cb6c4..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_25.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_26.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_26.png
deleted file mode 100644
index 8c7b8942..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_26.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_27.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_27.png
deleted file mode 100644
index e6b99579..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_27.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_28.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_28.png
deleted file mode 100644
index 3969ba13..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_28.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_3.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_3.png
deleted file mode 100644
index 0036f91e..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_4.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_4.png
deleted file mode 100644
index 958005ec..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_5.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_5.png
deleted file mode 100644
index 443e3a88..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_6.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_6.png
deleted file mode 100644
index cc09d8e7..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_7.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_7.png
deleted file mode 100644
index 29cd4865..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_8.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_8.png
deleted file mode 100644
index c5476080..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/backtrack/backtrack_9.png b/docs/_pics/java-notes/leetcode/backtrack/backtrack_9.png
deleted file mode 100644
index 0a054ea6..00000000
Binary files a/docs/_pics/java-notes/leetcode/backtrack/backtrack_9.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_1.png b/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_1.png
deleted file mode 100644
index 81d04271..00000000
Binary files a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_10.png b/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_10.png
deleted file mode 100644
index 8fcb0561..00000000
Binary files a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_10.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_11.png b/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_11.png
deleted file mode 100644
index 6ed45552..00000000
Binary files a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_11.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_13.png b/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_13.png
deleted file mode 100644
index 317dddf4..00000000
Binary files a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_13.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_14.png b/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_14.png
deleted file mode 100644
index c6d75749..00000000
Binary files a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_14.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_15.png b/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_15.png
deleted file mode 100644
index fc77e5de..00000000
Binary files a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_15.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_2.png b/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_2.png
deleted file mode 100644
index 73dbce00..00000000
Binary files a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_3.png b/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_3.png
deleted file mode 100644
index bda5a311..00000000
Binary files a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_4.png b/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_4.png
deleted file mode 100644
index 432c2b9b..00000000
Binary files a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_5.png b/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_5.png
deleted file mode 100644
index 79892231..00000000
Binary files a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_6.png b/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_6.png
deleted file mode 100644
index d3a8c107..00000000
Binary files a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_7.png b/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_7.png
deleted file mode 100644
index 43bf7d20..00000000
Binary files a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_8.png b/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_8.png
deleted file mode 100644
index ea13e9ac..00000000
Binary files a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_9.png b/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_9.png
deleted file mode 100644
index 017952d8..00000000
Binary files a/docs/_pics/java-notes/leetcode/binaryTree/binaryTree_9.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_1.png b/docs/_pics/java-notes/leetcode/dp/dp_1.png
deleted file mode 100644
index 33b55e33..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_10.png b/docs/_pics/java-notes/leetcode/dp/dp_10.png
deleted file mode 100644
index 1ff25c9a..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_10.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_11.png b/docs/_pics/java-notes/leetcode/dp/dp_11.png
deleted file mode 100644
index a5f200e7..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_11.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_12.png b/docs/_pics/java-notes/leetcode/dp/dp_12.png
deleted file mode 100644
index d3b94fba..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_12.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_13.png b/docs/_pics/java-notes/leetcode/dp/dp_13.png
deleted file mode 100644
index 16ddd43f..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_13.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_14.png b/docs/_pics/java-notes/leetcode/dp/dp_14.png
deleted file mode 100644
index 1ea45c5c..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_14.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_15.png b/docs/_pics/java-notes/leetcode/dp/dp_15.png
deleted file mode 100644
index f4abec3e..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_15.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_16.png b/docs/_pics/java-notes/leetcode/dp/dp_16.png
deleted file mode 100644
index 2756995c..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_16.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_17.png b/docs/_pics/java-notes/leetcode/dp/dp_17.png
deleted file mode 100644
index 6dff07c8..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_17.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_18.png b/docs/_pics/java-notes/leetcode/dp/dp_18.png
deleted file mode 100644
index ffcd62f6..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_18.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_19.png b/docs/_pics/java-notes/leetcode/dp/dp_19.png
deleted file mode 100644
index 3f3c9aca..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_19.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_2.png b/docs/_pics/java-notes/leetcode/dp/dp_2.png
deleted file mode 100644
index 3d9fd50d..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_20.png b/docs/_pics/java-notes/leetcode/dp/dp_20.png
deleted file mode 100644
index 9f49363c..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_20.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_21.png b/docs/_pics/java-notes/leetcode/dp/dp_21.png
deleted file mode 100644
index e4f48597..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_21.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_22.png b/docs/_pics/java-notes/leetcode/dp/dp_22.png
deleted file mode 100644
index 2e4f6b4e..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_22.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_23.png b/docs/_pics/java-notes/leetcode/dp/dp_23.png
deleted file mode 100644
index bd3815ea..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_23.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_24.png b/docs/_pics/java-notes/leetcode/dp/dp_24.png
deleted file mode 100644
index 4a8e68e8..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_24.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_25.gif b/docs/_pics/java-notes/leetcode/dp/dp_25.gif
deleted file mode 100644
index c0522889..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_25.gif and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_3.png b/docs/_pics/java-notes/leetcode/dp/dp_3.png
deleted file mode 100644
index eb37b4c9..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_4.png b/docs/_pics/java-notes/leetcode/dp/dp_4.png
deleted file mode 100644
index 951b4776..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_5.png b/docs/_pics/java-notes/leetcode/dp/dp_5.png
deleted file mode 100644
index 57e1b081..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_6.png b/docs/_pics/java-notes/leetcode/dp/dp_6.png
deleted file mode 100644
index b17fce41..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_7.png b/docs/_pics/java-notes/leetcode/dp/dp_7.png
deleted file mode 100644
index ea11b879..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_8.png b/docs/_pics/java-notes/leetcode/dp/dp_8.png
deleted file mode 100644
index 402929d1..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/dp/dp_9.png b/docs/_pics/java-notes/leetcode/dp/dp_9.png
deleted file mode 100644
index d1fa7e64..00000000
Binary files a/docs/_pics/java-notes/leetcode/dp/dp_9.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/find/find_1.png b/docs/_pics/java-notes/leetcode/find/find_1.png
deleted file mode 100644
index 83246508..00000000
Binary files a/docs/_pics/java-notes/leetcode/find/find_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/greedyAlgorithms/ga_1.png b/docs/_pics/java-notes/leetcode/greedyAlgorithms/ga_1.png
deleted file mode 100644
index 1ff25c9a..00000000
Binary files a/docs/_pics/java-notes/leetcode/greedyAlgorithms/ga_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/greedyAlgorithms/ga_2.png b/docs/_pics/java-notes/leetcode/greedyAlgorithms/ga_2.png
deleted file mode 100644
index 266a4687..00000000
Binary files a/docs/_pics/java-notes/leetcode/greedyAlgorithms/ga_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_1.png b/docs/_pics/java-notes/leetcode/list/list_1.png
deleted file mode 100644
index 585d1d56..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_10.png b/docs/_pics/java-notes/leetcode/list/list_10.png
deleted file mode 100644
index e382e8a0..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_10.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_11.png b/docs/_pics/java-notes/leetcode/list/list_11.png
deleted file mode 100644
index f77a2d89..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_11.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_12.png b/docs/_pics/java-notes/leetcode/list/list_12.png
deleted file mode 100644
index 4a4c57d7..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_12.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_13.png b/docs/_pics/java-notes/leetcode/list/list_13.png
deleted file mode 100644
index 61020ab2..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_13.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_14.png b/docs/_pics/java-notes/leetcode/list/list_14.png
deleted file mode 100644
index a5aa664d..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_14.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_15.png b/docs/_pics/java-notes/leetcode/list/list_15.png
deleted file mode 100644
index 54fefaf9..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_15.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_16.png b/docs/_pics/java-notes/leetcode/list/list_16.png
deleted file mode 100644
index 4146c34a..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_16.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_17.png b/docs/_pics/java-notes/leetcode/list/list_17.png
deleted file mode 100644
index c502f049..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_17.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_18.png b/docs/_pics/java-notes/leetcode/list/list_18.png
deleted file mode 100644
index d55ea3f9..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_18.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_19.png b/docs/_pics/java-notes/leetcode/list/list_19.png
deleted file mode 100644
index f353582b..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_19.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_2.png b/docs/_pics/java-notes/leetcode/list/list_2.png
deleted file mode 100644
index 2a0833b3..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_20.png b/docs/_pics/java-notes/leetcode/list/list_20.png
deleted file mode 100644
index e0eef68f..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_20.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_21.png b/docs/_pics/java-notes/leetcode/list/list_21.png
deleted file mode 100644
index 09b342d9..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_21.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_22.png b/docs/_pics/java-notes/leetcode/list/list_22.png
deleted file mode 100644
index 2afc066d..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_22.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_23.png b/docs/_pics/java-notes/leetcode/list/list_23.png
deleted file mode 100644
index f627b2a7..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_23.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_24.png b/docs/_pics/java-notes/leetcode/list/list_24.png
deleted file mode 100644
index edfa8365..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_24.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_3.png b/docs/_pics/java-notes/leetcode/list/list_3.png
deleted file mode 100644
index eaa78050..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_4.png b/docs/_pics/java-notes/leetcode/list/list_4.png
deleted file mode 100644
index 2e98e4f7..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_5.png b/docs/_pics/java-notes/leetcode/list/list_5.png
deleted file mode 100644
index 34a23477..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_6.png b/docs/_pics/java-notes/leetcode/list/list_6.png
deleted file mode 100644
index 24581d88..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_7.png b/docs/_pics/java-notes/leetcode/list/list_7.png
deleted file mode 100644
index 16cc8c39..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_8.png b/docs/_pics/java-notes/leetcode/list/list_8.png
deleted file mode 100644
index f44ecf7d..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/list/list_9.png b/docs/_pics/java-notes/leetcode/list/list_9.png
deleted file mode 100644
index 205a3bfb..00000000
Binary files a/docs/_pics/java-notes/leetcode/list/list_9.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/math/math_1.png b/docs/_pics/java-notes/leetcode/math/math_1.png
deleted file mode 100644
index 930382c5..00000000
Binary files a/docs/_pics/java-notes/leetcode/math/math_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/stackQueue/stack_1.png b/docs/_pics/java-notes/leetcode/stackQueue/stack_1.png
deleted file mode 100644
index b37208eb..00000000
Binary files a/docs/_pics/java-notes/leetcode/stackQueue/stack_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/stackQueue/stack_10.png b/docs/_pics/java-notes/leetcode/stackQueue/stack_10.png
deleted file mode 100644
index 0b52e1be..00000000
Binary files a/docs/_pics/java-notes/leetcode/stackQueue/stack_10.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/stackQueue/stack_11.png b/docs/_pics/java-notes/leetcode/stackQueue/stack_11.png
deleted file mode 100644
index 09931d48..00000000
Binary files a/docs/_pics/java-notes/leetcode/stackQueue/stack_11.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/stackQueue/stack_12.png b/docs/_pics/java-notes/leetcode/stackQueue/stack_12.png
deleted file mode 100644
index 74ef244f..00000000
Binary files a/docs/_pics/java-notes/leetcode/stackQueue/stack_12.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/stackQueue/stack_2.png b/docs/_pics/java-notes/leetcode/stackQueue/stack_2.png
deleted file mode 100644
index 493ff443..00000000
Binary files a/docs/_pics/java-notes/leetcode/stackQueue/stack_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/stackQueue/stack_3.png b/docs/_pics/java-notes/leetcode/stackQueue/stack_3.png
deleted file mode 100644
index 8d683d6d..00000000
Binary files a/docs/_pics/java-notes/leetcode/stackQueue/stack_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/stackQueue/stack_4.png b/docs/_pics/java-notes/leetcode/stackQueue/stack_4.png
deleted file mode 100644
index e79cb1b2..00000000
Binary files a/docs/_pics/java-notes/leetcode/stackQueue/stack_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/stackQueue/stack_5.png b/docs/_pics/java-notes/leetcode/stackQueue/stack_5.png
deleted file mode 100644
index 28326468..00000000
Binary files a/docs/_pics/java-notes/leetcode/stackQueue/stack_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/stackQueue/stack_6.png b/docs/_pics/java-notes/leetcode/stackQueue/stack_6.png
deleted file mode 100644
index e78336b4..00000000
Binary files a/docs/_pics/java-notes/leetcode/stackQueue/stack_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/stackQueue/stack_7.png b/docs/_pics/java-notes/leetcode/stackQueue/stack_7.png
deleted file mode 100644
index 7b6ac17e..00000000
Binary files a/docs/_pics/java-notes/leetcode/stackQueue/stack_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/stackQueue/stack_8.png b/docs/_pics/java-notes/leetcode/stackQueue/stack_8.png
deleted file mode 100644
index 5fbd2d38..00000000
Binary files a/docs/_pics/java-notes/leetcode/stackQueue/stack_8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/stackQueue/stack_9.png b/docs/_pics/java-notes/leetcode/stackQueue/stack_9.png
deleted file mode 100644
index 2fac440e..00000000
Binary files a/docs/_pics/java-notes/leetcode/stackQueue/stack_9.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/string/str_1.png b/docs/_pics/java-notes/leetcode/string/str_1.png
deleted file mode 100644
index 07acaafe..00000000
Binary files a/docs/_pics/java-notes/leetcode/string/str_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/timeComplexity/tc.png b/docs/_pics/java-notes/leetcode/timeComplexity/tc.png
deleted file mode 100644
index dc99e67c..00000000
Binary files a/docs/_pics/java-notes/leetcode/timeComplexity/tc.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/timeComplexity/tc_2.png b/docs/_pics/java-notes/leetcode/timeComplexity/tc_2.png
deleted file mode 100644
index 6c374d39..00000000
Binary files a/docs/_pics/java-notes/leetcode/timeComplexity/tc_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/timeComplexity/tc_3.png b/docs/_pics/java-notes/leetcode/timeComplexity/tc_3.png
deleted file mode 100644
index e1570b18..00000000
Binary files a/docs/_pics/java-notes/leetcode/timeComplexity/tc_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/timeComplexity/tc_4.png b/docs/_pics/java-notes/leetcode/timeComplexity/tc_4.png
deleted file mode 100644
index 2755f443..00000000
Binary files a/docs/_pics/java-notes/leetcode/timeComplexity/tc_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/timeComplexity/tc_5.png b/docs/_pics/java-notes/leetcode/timeComplexity/tc_5.png
deleted file mode 100644
index 61641485..00000000
Binary files a/docs/_pics/java-notes/leetcode/timeComplexity/tc_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/timeComplexity/tc_6.png b/docs/_pics/java-notes/leetcode/timeComplexity/tc_6.png
deleted file mode 100644
index 34c5de21..00000000
Binary files a/docs/_pics/java-notes/leetcode/timeComplexity/tc_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/timeComplexity/tc_7.png b/docs/_pics/java-notes/leetcode/timeComplexity/tc_7.png
deleted file mode 100644
index aff5087a..00000000
Binary files a/docs/_pics/java-notes/leetcode/timeComplexity/tc_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/leetcode/timeComplexity/tc_8.png b/docs/_pics/java-notes/leetcode/timeComplexity/tc_8.png
deleted file mode 100644
index 6286cbed..00000000
Binary files a/docs/_pics/java-notes/leetcode/timeComplexity/tc_8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/03f47940-3843-4b51-9e42-5dcaff44858b.jpg b/docs/_pics/java-notes/network/03f47940-3843-4b51-9e42-5dcaff44858b.jpg
deleted file mode 100644
index 9a6f75c6..00000000
Binary files a/docs/_pics/java-notes/network/03f47940-3843-4b51-9e42-5dcaff44858b.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/0a9f4125-b6ab-4e94-a807-fd7070ae726a.png b/docs/_pics/java-notes/network/0a9f4125-b6ab-4e94-a807-fd7070ae726a.png
deleted file mode 100644
index 395d9201..00000000
Binary files a/docs/_pics/java-notes/network/0a9f4125-b6ab-4e94-a807-fd7070ae726a.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/1492928105791_3.png b/docs/_pics/java-notes/network/1492928105791_3.png
deleted file mode 100644
index d18fc1ca..00000000
Binary files a/docs/_pics/java-notes/network/1492928105791_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/1492928416812_4.png b/docs/_pics/java-notes/network/1492928416812_4.png
deleted file mode 100644
index a43a731b..00000000
Binary files a/docs/_pics/java-notes/network/1492928416812_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/1492929000361_5.png b/docs/_pics/java-notes/network/1492929000361_5.png
deleted file mode 100644
index 919d1222..00000000
Binary files a/docs/_pics/java-notes/network/1492929000361_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/1492929444818_6.png b/docs/_pics/java-notes/network/1492929444818_6.png
deleted file mode 100644
index 0aea3f9a..00000000
Binary files a/docs/_pics/java-notes/network/1492929444818_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/1492929553651_7.png b/docs/_pics/java-notes/network/1492929553651_7.png
deleted file mode 100644
index 13cf0b4e..00000000
Binary files a/docs/_pics/java-notes/network/1492929553651_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/1492930243286_8.png b/docs/_pics/java-notes/network/1492930243286_8.png
deleted file mode 100644
index 6ee721ff..00000000
Binary files a/docs/_pics/java-notes/network/1492930243286_8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/1556770b-8c01-4681-af10-46f1df69202c.jpg b/docs/_pics/java-notes/network/1556770b-8c01-4681-af10-46f1df69202c.jpg
deleted file mode 100644
index 94d1adc2..00000000
Binary files a/docs/_pics/java-notes/network/1556770b-8c01-4681-af10-46f1df69202c.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/168e893c-e4a0-4ba4-b81f-9d993483abd0.jpg b/docs/_pics/java-notes/network/168e893c-e4a0-4ba4-b81f-9d993483abd0.jpg
deleted file mode 100644
index cbb68f98..00000000
Binary files a/docs/_pics/java-notes/network/168e893c-e4a0-4ba4-b81f-9d993483abd0.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/1ab49e39-012b-4383-8284-26570987e3c4.jpg b/docs/_pics/java-notes/network/1ab49e39-012b-4383-8284-26570987e3c4.jpg
deleted file mode 100644
index 48a91211..00000000
Binary files a/docs/_pics/java-notes/network/1ab49e39-012b-4383-8284-26570987e3c4.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/2017-06-11-ca.png b/docs/_pics/java-notes/network/2017-06-11-ca.png
deleted file mode 100644
index 550292c1..00000000
Binary files a/docs/_pics/java-notes/network/2017-06-11-ca.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/21041ec2-babb-483f-bf47-8b8148eec162.png b/docs/_pics/java-notes/network/21041ec2-babb-483f-bf47-8b8148eec162.png
deleted file mode 100644
index 7de9b57a..00000000
Binary files a/docs/_pics/java-notes/network/21041ec2-babb-483f-bf47-8b8148eec162.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/23ba890e-e11c-45e2-a20c-64d217f83430.png b/docs/_pics/java-notes/network/23ba890e-e11c-45e2-a20c-64d217f83430.png
deleted file mode 100644
index 5fccbd1c..00000000
Binary files a/docs/_pics/java-notes/network/23ba890e-e11c-45e2-a20c-64d217f83430.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/2719067e-b299-4639-9065-bed6729dbf0b.png b/docs/_pics/java-notes/network/2719067e-b299-4639-9065-bed6729dbf0b.png
deleted file mode 100644
index 95057e05..00000000
Binary files a/docs/_pics/java-notes/network/2719067e-b299-4639-9065-bed6729dbf0b.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/2ad244f5-939c-49fa-9385-69bc688677ab.jpg b/docs/_pics/java-notes/network/2ad244f5-939c-49fa-9385-69bc688677ab.jpg
deleted file mode 100644
index 5c1e0af9..00000000
Binary files a/docs/_pics/java-notes/network/2ad244f5-939c-49fa-9385-69bc688677ab.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/2d09a847-b854-439c-9198-b29c65810944.png b/docs/_pics/java-notes/network/2d09a847-b854-439c-9198-b29c65810944.png
deleted file mode 100644
index 384f7ef0..00000000
Binary files a/docs/_pics/java-notes/network/2d09a847-b854-439c-9198-b29c65810944.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/3939369b-3a4a-48a0-b9eb-3efae26dd400.png b/docs/_pics/java-notes/network/3939369b-3a4a-48a0-b9eb-3efae26dd400.png
deleted file mode 100644
index c2cf9d1b..00000000
Binary files a/docs/_pics/java-notes/network/3939369b-3a4a-48a0-b9eb-3efae26dd400.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/39ccb299-ee99-4dd1-b8b4-2f9ec9495cb4.png b/docs/_pics/java-notes/network/39ccb299-ee99-4dd1-b8b4-2f9ec9495cb4.png
deleted file mode 100644
index 8e363e47..00000000
Binary files a/docs/_pics/java-notes/network/39ccb299-ee99-4dd1-b8b4-2f9ec9495cb4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/426df589-6f97-4622-b74d-4a81fcb1da8e.png b/docs/_pics/java-notes/network/426df589-6f97-4622-b74d-4a81fcb1da8e.png
deleted file mode 100644
index 98327bba..00000000
Binary files a/docs/_pics/java-notes/network/426df589-6f97-4622-b74d-4a81fcb1da8e.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/45e0e0bf-386d-4280-a341-a0b9496c7674.png b/docs/_pics/java-notes/network/45e0e0bf-386d-4280-a341-a0b9496c7674.png
deleted file mode 100644
index 32fb94aa..00000000
Binary files a/docs/_pics/java-notes/network/45e0e0bf-386d-4280-a341-a0b9496c7674.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/46cec213-3048-4a80-aded-fdd577542801.jpg b/docs/_pics/java-notes/network/46cec213-3048-4a80-aded-fdd577542801.jpg
deleted file mode 100644
index 32e1f3d5..00000000
Binary files a/docs/_pics/java-notes/network/46cec213-3048-4a80-aded-fdd577542801.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/50d38e84-238f-4081-8876-14ef6d7938b5.jpg b/docs/_pics/java-notes/network/50d38e84-238f-4081-8876-14ef6d7938b5.jpg
deleted file mode 100644
index 6546cefa..00000000
Binary files a/docs/_pics/java-notes/network/50d38e84-238f-4081-8876-14ef6d7938b5.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/51e2ed95-65b8-4ae9-8af3-65602d452a25.jpg b/docs/_pics/java-notes/network/51e2ed95-65b8-4ae9-8af3-65602d452a25.jpg
deleted file mode 100644
index 595cdc58..00000000
Binary files a/docs/_pics/java-notes/network/51e2ed95-65b8-4ae9-8af3-65602d452a25.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/55dc4e84-573d-4c13-a765-52ed1dd251f9.png b/docs/_pics/java-notes/network/55dc4e84-573d-4c13-a765-52ed1dd251f9.png
deleted file mode 100644
index 525b323a..00000000
Binary files a/docs/_pics/java-notes/network/55dc4e84-573d-4c13-a765-52ed1dd251f9.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/5999e5de-7c16-4b52-b3aa-6dc7b58c7894.png b/docs/_pics/java-notes/network/5999e5de-7c16-4b52-b3aa-6dc7b58c7894.png
deleted file mode 100644
index a61a7dc4..00000000
Binary files a/docs/_pics/java-notes/network/5999e5de-7c16-4b52-b3aa-6dc7b58c7894.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/5aa82b89-f266-44da-887d-18f31f01d8ef.png b/docs/_pics/java-notes/network/5aa82b89-f266-44da-887d-18f31f01d8ef.png
deleted file mode 100644
index 68310502..00000000
Binary files a/docs/_pics/java-notes/network/5aa82b89-f266-44da-887d-18f31f01d8ef.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/66192382-558b-4b05-a35d-ac4a2b1a9811.jpg b/docs/_pics/java-notes/network/66192382-558b-4b05-a35d-ac4a2b1a9811.jpg
deleted file mode 100644
index eec226c5..00000000
Binary files a/docs/_pics/java-notes/network/66192382-558b-4b05-a35d-ac4a2b1a9811.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/69f16984-a66f-4288-82e4-79b4aa43e835.jpg b/docs/_pics/java-notes/network/69f16984-a66f-4288-82e4-79b4aa43e835.jpg
deleted file mode 100644
index 03b7f3da..00000000
Binary files a/docs/_pics/java-notes/network/69f16984-a66f-4288-82e4-79b4aa43e835.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/7b038838-c75b-4538-ae84-6299386704e5.jpg b/docs/_pics/java-notes/network/7b038838-c75b-4538-ae84-6299386704e5.jpg
deleted file mode 100644
index 919a0e58..00000000
Binary files a/docs/_pics/java-notes/network/7b038838-c75b-4538-ae84-6299386704e5.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/7b3efa99-d306-4982-8cfb-e7153c33aab4.png b/docs/_pics/java-notes/network/7b3efa99-d306-4982-8cfb-e7153c33aab4.png
deleted file mode 100644
index 21aafd0a..00000000
Binary files a/docs/_pics/java-notes/network/7b3efa99-d306-4982-8cfb-e7153c33aab4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/7fffa4b8-b36d-471f-ad0c-a88ee763bb76.png b/docs/_pics/java-notes/network/7fffa4b8-b36d-471f-ad0c-a88ee763bb76.png
deleted file mode 100644
index b636edf5..00000000
Binary files a/docs/_pics/java-notes/network/7fffa4b8-b36d-471f-ad0c-a88ee763bb76.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/8006a450-6c2f-498c-a928-c927f758b1d0.png b/docs/_pics/java-notes/network/8006a450-6c2f-498c-a928-c927f758b1d0.png
deleted file mode 100644
index ac453eeb..00000000
Binary files a/docs/_pics/java-notes/network/8006a450-6c2f-498c-a928-c927f758b1d0.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/85c05fb1-5546-4c50-9221-21f231cdc8c5.jpg b/docs/_pics/java-notes/network/85c05fb1-5546-4c50-9221-21f231cdc8c5.jpg
deleted file mode 100644
index 4b911193..00000000
Binary files a/docs/_pics/java-notes/network/85c05fb1-5546-4c50-9221-21f231cdc8c5.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/86e6a91d-a285-447a-9345-c5484b8d0c47.png b/docs/_pics/java-notes/network/86e6a91d-a285-447a-9345-c5484b8d0c47.png
deleted file mode 100644
index 56f83eaf..00000000
Binary files a/docs/_pics/java-notes/network/86e6a91d-a285-447a-9345-c5484b8d0c47.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/910f613f-514f-4534-87dd-9b4699d59d31.png b/docs/_pics/java-notes/network/910f613f-514f-4534-87dd-9b4699d59d31.png
deleted file mode 100644
index 28362d47..00000000
Binary files a/docs/_pics/java-notes/network/910f613f-514f-4534-87dd-9b4699d59d31.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/92ad9bae-7d02-43ba-8115-a9d6f530ca28.png b/docs/_pics/java-notes/network/92ad9bae-7d02-43ba-8115-a9d6f530ca28.png
deleted file mode 100644
index 7b85c49a..00000000
Binary files a/docs/_pics/java-notes/network/92ad9bae-7d02-43ba-8115-a9d6f530ca28.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/9cd0ae20-4fb5-4017-a000-f7d3a0eb3529.png b/docs/_pics/java-notes/network/9cd0ae20-4fb5-4017-a000-f7d3a0eb3529.png
deleted file mode 100644
index 49da824e..00000000
Binary files a/docs/_pics/java-notes/network/9cd0ae20-4fb5-4017-a000-f7d3a0eb3529.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/HTTP1_x_Connections.png b/docs/_pics/java-notes/network/HTTP1_x_Connections.png
deleted file mode 100644
index d8c18a3c..00000000
Binary files a/docs/_pics/java-notes/network/HTTP1_x_Connections.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/HTTP_RequestMessageExample.png b/docs/_pics/java-notes/network/HTTP_RequestMessageExample.png
deleted file mode 100644
index 8fd213cb..00000000
Binary files a/docs/_pics/java-notes/network/HTTP_RequestMessageExample.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/HTTP_ResponseMessageExample.png b/docs/_pics/java-notes/network/HTTP_ResponseMessageExample.png
deleted file mode 100644
index 1adf26c5..00000000
Binary files a/docs/_pics/java-notes/network/HTTP_ResponseMessageExample.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/How-HTTPS-Works.png b/docs/_pics/java-notes/network/How-HTTPS-Works.png
deleted file mode 100644
index c10605f7..00000000
Binary files a/docs/_pics/java-notes/network/How-HTTPS-Works.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/_u4E0B_u8F7D.png b/docs/_pics/java-notes/network/_u4E0B_u8F7D.png
deleted file mode 100644
index 9da97330..00000000
Binary files a/docs/_pics/java-notes/network/_u4E0B_u8F7D.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/a314bb79-5b18-4e63-a976-3448bffa6f1b.png b/docs/_pics/java-notes/network/a314bb79-5b18-4e63-a976-3448bffa6f1b.png
deleted file mode 100644
index 1a5a6474..00000000
Binary files a/docs/_pics/java-notes/network/a314bb79-5b18-4e63-a976-3448bffa6f1b.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/a3253deb-8d21-40a1-aae4-7d178e4aa319.jpg b/docs/_pics/java-notes/network/a3253deb-8d21-40a1-aae4-7d178e4aa319.jpg
deleted file mode 100644
index 23258afa..00000000
Binary files a/docs/_pics/java-notes/network/a3253deb-8d21-40a1-aae4-7d178e4aa319.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/a6026bb4-3daf-439f-b1ec-a5a24e19d2fb.jpg b/docs/_pics/java-notes/network/a6026bb4-3daf-439f-b1ec-a5a24e19d2fb.jpg
deleted file mode 100644
index 4ff577e2..00000000
Binary files a/docs/_pics/java-notes/network/a6026bb4-3daf-439f-b1ec-a5a24e19d2fb.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/a74b70ac-323a-4b31-b4d5-90569b8a944b.png b/docs/_pics/java-notes/network/a74b70ac-323a-4b31-b4d5-90569b8a944b.png
deleted file mode 100644
index 3d686121..00000000
Binary files a/docs/_pics/java-notes/network/a74b70ac-323a-4b31-b4d5-90569b8a944b.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/aa29cc88-7256-4399-8c7f-3cf4a6489559.png b/docs/_pics/java-notes/network/aa29cc88-7256-4399-8c7f-3cf4a6489559.png
deleted file mode 100644
index 9b93237e..00000000
Binary files a/docs/_pics/java-notes/network/aa29cc88-7256-4399-8c7f-3cf4a6489559.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/ac106e7e-489a-4082-abd9-dabebe48394c.jpg b/docs/_pics/java-notes/network/ac106e7e-489a-4082-abd9-dabebe48394c.jpg
deleted file mode 100644
index 0d323411..00000000
Binary files a/docs/_pics/java-notes/network/ac106e7e-489a-4082-abd9-dabebe48394c.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/af198da1-2480-4043-b07f-a3b91a88b815.png b/docs/_pics/java-notes/network/af198da1-2480-4043-b07f-a3b91a88b815.png
deleted file mode 100644
index 34d7a286..00000000
Binary files a/docs/_pics/java-notes/network/af198da1-2480-4043-b07f-a3b91a88b815.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/b54eeb16-0b0e-484c-be62-306f57c40d77.jpg b/docs/_pics/java-notes/network/b54eeb16-0b0e-484c-be62-306f57c40d77.jpg
deleted file mode 100644
index 692a0357..00000000
Binary files a/docs/_pics/java-notes/network/b54eeb16-0b0e-484c-be62-306f57c40d77.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/b9d79a5a-e7af-499b-b989-f10483e71b8b.jpg b/docs/_pics/java-notes/network/b9d79a5a-e7af-499b-b989-f10483e71b8b.jpg
deleted file mode 100644
index b7502831..00000000
Binary files a/docs/_pics/java-notes/network/b9d79a5a-e7af-499b-b989-f10483e71b8b.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/be5c2c61-86d2-4dba-a289-b48ea23219de.jpg b/docs/_pics/java-notes/network/be5c2c61-86d2-4dba-a289-b48ea23219de.jpg
deleted file mode 100644
index a2965a7d..00000000
Binary files a/docs/_pics/java-notes/network/be5c2c61-86d2-4dba-a289-b48ea23219de.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/bf16c541-0717-473b-b75d-4115864f4fbf.jpg b/docs/_pics/java-notes/network/bf16c541-0717-473b-b75d-4115864f4fbf.jpg
deleted file mode 100644
index a83ba275..00000000
Binary files a/docs/_pics/java-notes/network/bf16c541-0717-473b-b75d-4115864f4fbf.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/c3369072-c740-43b0-b276-202bd1d3960d.jpg b/docs/_pics/java-notes/network/c3369072-c740-43b0-b276-202bd1d3960d.jpg
deleted file mode 100644
index 17a2e9bf..00000000
Binary files a/docs/_pics/java-notes/network/c3369072-c740-43b0-b276-202bd1d3960d.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/c4c14368-519c-4a0e-8331-0a553715e3e7.jpg b/docs/_pics/java-notes/network/c4c14368-519c-4a0e-8331-0a553715e3e7.jpg
deleted file mode 100644
index 0cb4f0a0..00000000
Binary files a/docs/_pics/java-notes/network/c4c14368-519c-4a0e-8331-0a553715e3e7.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/c5022dd3-be22-4250-b9f6-38ae984a04d7.jpg b/docs/_pics/java-notes/network/c5022dd3-be22-4250-b9f6-38ae984a04d7.jpg
deleted file mode 100644
index 3eb79406..00000000
Binary files a/docs/_pics/java-notes/network/c5022dd3-be22-4250-b9f6-38ae984a04d7.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/c9cfcd20-c901-435f-9a07-3e46830c359f.jpg b/docs/_pics/java-notes/network/c9cfcd20-c901-435f-9a07-3e46830c359f.jpg
deleted file mode 100644
index 813b5142..00000000
Binary files a/docs/_pics/java-notes/network/c9cfcd20-c901-435f-9a07-3e46830c359f.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/cbf50eb8-22b4-4528-a2e7-d187143d57f7.png b/docs/_pics/java-notes/network/cbf50eb8-22b4-4528-a2e7-d187143d57f7.png
deleted file mode 100644
index 27f2b742..00000000
Binary files a/docs/_pics/java-notes/network/cbf50eb8-22b4-4528-a2e7-d187143d57f7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/d4c3a4a1-0846-46ec-9cc3-eaddfca71254.jpg b/docs/_pics/java-notes/network/d4c3a4a1-0846-46ec-9cc3-eaddfca71254.jpg
deleted file mode 100644
index bbc7f102..00000000
Binary files a/docs/_pics/java-notes/network/d4c3a4a1-0846-46ec-9cc3-eaddfca71254.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/d4eef1e2-5703-4ca4-82ab-8dda93d6b81f.png b/docs/_pics/java-notes/network/d4eef1e2-5703-4ca4-82ab-8dda93d6b81f.png
deleted file mode 100644
index 4f62e6f5..00000000
Binary files a/docs/_pics/java-notes/network/d4eef1e2-5703-4ca4-82ab-8dda93d6b81f.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/dc00f70e-c5c8-4d20-baf1-2d70014a97e3.jpg b/docs/_pics/java-notes/network/dc00f70e-c5c8-4d20-baf1-2d70014a97e3.jpg
deleted file mode 100644
index 8090706b..00000000
Binary files a/docs/_pics/java-notes/network/dc00f70e-c5c8-4d20-baf1-2d70014a97e3.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/ddcf2327-8d84-425d-8535-121a94bcb88d.jpg b/docs/_pics/java-notes/network/ddcf2327-8d84-425d-8535-121a94bcb88d.jpg
deleted file mode 100644
index 2a95d92d..00000000
Binary files a/docs/_pics/java-notes/network/ddcf2327-8d84-425d-8535-121a94bcb88d.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/e3124763-f75e-46c3-ba82-341e6c98d862.jpg b/docs/_pics/java-notes/network/e3124763-f75e-46c3-ba82-341e6c98d862.jpg
deleted file mode 100644
index 80643657..00000000
Binary files a/docs/_pics/java-notes/network/e3124763-f75e-46c3-ba82-341e6c98d862.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/e3f1657c-80fc-4dfa-9643-bf51abd201c6.png b/docs/_pics/java-notes/network/e3f1657c-80fc-4dfa-9643-bf51abd201c6.png
deleted file mode 100644
index 105916c6..00000000
Binary files a/docs/_pics/java-notes/network/e3f1657c-80fc-4dfa-9643-bf51abd201c6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/e92d0ebc-7d46-413b-aec1-34a39602f787.png b/docs/_pics/java-notes/network/e92d0ebc-7d46-413b-aec1-34a39602f787.png
deleted file mode 100644
index 1090a779..00000000
Binary files a/docs/_pics/java-notes/network/e92d0ebc-7d46-413b-aec1-34a39602f787.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/ea5f3efe-d5e6-499b-b278-9e898af61257.jpg b/docs/_pics/java-notes/network/ea5f3efe-d5e6-499b-b278-9e898af61257.jpg
deleted file mode 100644
index a07e736d..00000000
Binary files a/docs/_pics/java-notes/network/ea5f3efe-d5e6-499b-b278-9e898af61257.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/ed5522bb-3a60-481c-8654-43e7195a48fe.png b/docs/_pics/java-notes/network/ed5522bb-3a60-481c-8654-43e7195a48fe.png
deleted file mode 100644
index 1c153a8a..00000000
Binary files a/docs/_pics/java-notes/network/ed5522bb-3a60-481c-8654-43e7195a48fe.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/f0a31c04-6e26-408c-8395-88f4e2ae928b.jpg b/docs/_pics/java-notes/network/f0a31c04-6e26-408c-8395-88f4e2ae928b.jpg
deleted file mode 100644
index 99eb3168..00000000
Binary files a/docs/_pics/java-notes/network/f0a31c04-6e26-408c-8395-88f4e2ae928b.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/f61b5419-c94a-4df1-8d4d-aed9ae8cc6d5.png b/docs/_pics/java-notes/network/f61b5419-c94a-4df1-8d4d-aed9ae8cc6d5.png
deleted file mode 100644
index dc0d4e34..00000000
Binary files a/docs/_pics/java-notes/network/f61b5419-c94a-4df1-8d4d-aed9ae8cc6d5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/f87afe72-c2df-4c12-ac03-9b8d581a8af8.jpg b/docs/_pics/java-notes/network/f87afe72-c2df-4c12-ac03-9b8d581a8af8.jpg
deleted file mode 100644
index 6a090993..00000000
Binary files a/docs/_pics/java-notes/network/f87afe72-c2df-4c12-ac03-9b8d581a8af8.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/fa2273c3-1b5f-48ce-8e8b-441a4116c1c4.jpg b/docs/_pics/java-notes/network/fa2273c3-1b5f-48ce-8e8b-441a4116c1c4.jpg
deleted file mode 100644
index 42d3c743..00000000
Binary files a/docs/_pics/java-notes/network/fa2273c3-1b5f-48ce-8e8b-441a4116c1c4.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/net_1.png b/docs/_pics/java-notes/network/net_1.png
deleted file mode 100644
index 819f735a..00000000
Binary files a/docs/_pics/java-notes/network/net_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/net_2.png b/docs/_pics/java-notes/network/net_2.png
deleted file mode 100644
index e5939399..00000000
Binary files a/docs/_pics/java-notes/network/net_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/network-of-networks.gif b/docs/_pics/java-notes/network/network-of-networks.gif
deleted file mode 100644
index 7473f913..00000000
Binary files a/docs/_pics/java-notes/network/network-of-networks.gif and /dev/null differ
diff --git a/docs/_pics/java-notes/network/socket_tcp.png b/docs/_pics/java-notes/network/socket_tcp.png
deleted file mode 100644
index 912c7e9b..00000000
Binary files a/docs/_pics/java-notes/network/socket_tcp.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/socket_tcp_struct.png b/docs/_pics/java-notes/network/socket_tcp_struct.png
deleted file mode 100644
index 8faa8b2a..00000000
Binary files a/docs/_pics/java-notes/network/socket_tcp_struct.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/socket_udp.png b/docs/_pics/java-notes/network/socket_udp.png
deleted file mode 100644
index 8d240886..00000000
Binary files a/docs/_pics/java-notes/network/socket_udp.png and /dev/null differ
diff --git a/docs/_pics/java-notes/network/ssl-offloading.jpg b/docs/_pics/java-notes/network/ssl-offloading.jpg
deleted file mode 100644
index 8f01a418..00000000
Binary files a/docs/_pics/java-notes/network/ssl-offloading.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/network/urlnuri.jpg b/docs/_pics/java-notes/network/urlnuri.jpg
deleted file mode 100644
index be05f018..00000000
Binary files a/docs/_pics/java-notes/network/urlnuri.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/01_1.png b/docs/_pics/java-notes/oo/01_1.png
deleted file mode 100644
index 19408656..00000000
Binary files a/docs/_pics/java-notes/oo/01_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/02_01.png b/docs/_pics/java-notes/oo/02_01.png
deleted file mode 100644
index 74ef6cf0..00000000
Binary files a/docs/_pics/java-notes/oo/02_01.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/02_2.png b/docs/_pics/java-notes/oo/02_2.png
deleted file mode 100644
index 3a21ee3f..00000000
Binary files a/docs/_pics/java-notes/oo/02_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/04_1.png b/docs/_pics/java-notes/oo/04_1.png
deleted file mode 100644
index f8f072a8..00000000
Binary files a/docs/_pics/java-notes/oo/04_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/04_2.png b/docs/_pics/java-notes/oo/04_2.png
deleted file mode 100644
index 6b24cfe7..00000000
Binary files a/docs/_pics/java-notes/oo/04_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/04_3.png b/docs/_pics/java-notes/oo/04_3.png
deleted file mode 100644
index c3dba285..00000000
Binary files a/docs/_pics/java-notes/oo/04_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/0889c0b4-07b4-45fc-873c-e0e16b97f67d.png b/docs/_pics/java-notes/oo/0889c0b4-07b4-45fc-873c-e0e16b97f67d.png
deleted file mode 100644
index 4d9e3e21..00000000
Binary files a/docs/_pics/java-notes/oo/0889c0b4-07b4-45fc-873c-e0e16b97f67d.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/0df5d84c-e7ca-4e3a-a688-bb8e68894467.png b/docs/_pics/java-notes/oo/0df5d84c-e7ca-4e3a-a688-bb8e68894467.png
deleted file mode 100644
index 78a69978..00000000
Binary files a/docs/_pics/java-notes/oo/0df5d84c-e7ca-4e3a-a688-bb8e68894467.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/11236498-1417-46ce-a1b0-e10054256955.png b/docs/_pics/java-notes/oo/11236498-1417-46ce-a1b0-e10054256955.png
deleted file mode 100644
index 19cd1543..00000000
Binary files a/docs/_pics/java-notes/oo/11236498-1417-46ce-a1b0-e10054256955.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/137c593d-0a9e-47b8-a9e6-b71f540b82dd.png b/docs/_pics/java-notes/oo/137c593d-0a9e-47b8-a9e6-b71f540b82dd.png
deleted file mode 100644
index a5ac33ca..00000000
Binary files a/docs/_pics/java-notes/oo/137c593d-0a9e-47b8-a9e6-b71f540b82dd.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/13b0940e-d1d7-4b17-af4f-b70cb0a75e08.png b/docs/_pics/java-notes/oo/13b0940e-d1d7-4b17-af4f-b70cb0a75e08.png
deleted file mode 100644
index 27f1c9f1..00000000
Binary files a/docs/_pics/java-notes/oo/13b0940e-d1d7-4b17-af4f-b70cb0a75e08.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/1818e141-8700-4026-99f7-900a545875f5.png b/docs/_pics/java-notes/oo/1818e141-8700-4026-99f7-900a545875f5.png
deleted file mode 100644
index 1523ad79..00000000
Binary files a/docs/_pics/java-notes/oo/1818e141-8700-4026-99f7-900a545875f5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/1fc969e4-0e7c-441b-b53c-01950d2f2be5.png b/docs/_pics/java-notes/oo/1fc969e4-0e7c-441b-b53c-01950d2f2be5.png
deleted file mode 100644
index 0f7d6660..00000000
Binary files a/docs/_pics/java-notes/oo/1fc969e4-0e7c-441b-b53c-01950d2f2be5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/396be981-3f2c-4fd9-8101-dbf9c841504b.jpg b/docs/_pics/java-notes/oo/396be981-3f2c-4fd9-8101-dbf9c841504b.jpg
deleted file mode 100644
index 60c19f88..00000000
Binary files a/docs/_pics/java-notes/oo/396be981-3f2c-4fd9-8101-dbf9c841504b.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/3d5b828e-5c4d-48d8-a440-281e4a8e1c92.png b/docs/_pics/java-notes/oo/3d5b828e-5c4d-48d8-a440-281e4a8e1c92.png
deleted file mode 100644
index 2f39530c..00000000
Binary files a/docs/_pics/java-notes/oo/3d5b828e-5c4d-48d8-a440-281e4a8e1c92.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/5359cbf5-5a79-4874-9b17-f23c53c2cb80.jpg b/docs/_pics/java-notes/oo/5359cbf5-5a79-4874-9b17-f23c53c2cb80.jpg
deleted file mode 100644
index a449f38c..00000000
Binary files a/docs/_pics/java-notes/oo/5359cbf5-5a79-4874-9b17-f23c53c2cb80.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/562f2844-d77c-40e0-887a-28a7128abd42.png b/docs/_pics/java-notes/oo/562f2844-d77c-40e0-887a-28a7128abd42.png
deleted file mode 100644
index b74f69b7..00000000
Binary files a/docs/_pics/java-notes/oo/562f2844-d77c-40e0-887a-28a7128abd42.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/691f11eb-31a7-46be-9de1-61f433c4b3c7.png b/docs/_pics/java-notes/oo/691f11eb-31a7-46be-9de1-61f433c4b3c7.png
deleted file mode 100644
index b61e2174..00000000
Binary files a/docs/_pics/java-notes/oo/691f11eb-31a7-46be-9de1-61f433c4b3c7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/77931a4b-72ba-4016-827d-84b9a6845a51.png b/docs/_pics/java-notes/oo/77931a4b-72ba-4016-827d-84b9a6845a51.png
deleted file mode 100644
index 6f8a3c52..00000000
Binary files a/docs/_pics/java-notes/oo/77931a4b-72ba-4016-827d-84b9a6845a51.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/794239e3-4baf-4aad-92df-f02f59b2a6fe.png b/docs/_pics/java-notes/oo/794239e3-4baf-4aad-92df-f02f59b2a6fe.png
deleted file mode 100644
index 7adddd91..00000000
Binary files a/docs/_pics/java-notes/oo/794239e3-4baf-4aad-92df-f02f59b2a6fe.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/7a3c6a30-c735-4edb-8115-337288a4f0f2.jpg b/docs/_pics/java-notes/oo/7a3c6a30-c735-4edb-8115-337288a4f0f2.jpg
deleted file mode 100644
index 8d40765e..00000000
Binary files a/docs/_pics/java-notes/oo/7a3c6a30-c735-4edb-8115-337288a4f0f2.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/82cfda3b-b53b-4c89-9fdb-26dd2db0cd02.jpg b/docs/_pics/java-notes/oo/82cfda3b-b53b-4c89-9fdb-26dd2db0cd02.jpg
deleted file mode 100644
index 2b510c43..00000000
Binary files a/docs/_pics/java-notes/oo/82cfda3b-b53b-4c89-9fdb-26dd2db0cd02.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/8668a3e1-c9c7-4fcb-98b2-a96a5d841579.png b/docs/_pics/java-notes/oo/8668a3e1-c9c7-4fcb-98b2-a96a5d841579.png
deleted file mode 100644
index 9eda1deb..00000000
Binary files a/docs/_pics/java-notes/oo/8668a3e1-c9c7-4fcb-98b2-a96a5d841579.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/867e93eb-3161-4f39-b2d2-c0cd3788e194.png b/docs/_pics/java-notes/oo/867e93eb-3161-4f39-b2d2-c0cd3788e194.png
deleted file mode 100644
index 26cb0153..00000000
Binary files a/docs/_pics/java-notes/oo/867e93eb-3161-4f39-b2d2-c0cd3788e194.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/LOun2W9134NxVugmbJPp15d4LalxC4O.png b/docs/_pics/java-notes/oo/LOun2W9134NxVugmbJPp15d4LalxC4O.png
deleted file mode 100644
index 188460a5..00000000
Binary files a/docs/_pics/java-notes/oo/LOun2W9134NxVugmbJPp15d4LalxC4O.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/SoWkIImgAStDuU8goIp9ILK8IatCoQn.png b/docs/_pics/java-notes/oo/SoWkIImgAStDuU8goIp9ILK8IatCoQn.png
deleted file mode 100644
index da66da14..00000000
Binary files a/docs/_pics/java-notes/oo/SoWkIImgAStDuU8goIp9ILK8IatCoQn.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/SoWkIImgAStDuU8goIp9ILLmB2xEJyv.png b/docs/_pics/java-notes/oo/SoWkIImgAStDuU8goIp9ILLmB2xEJyv.png
deleted file mode 100644
index e5ae5234..00000000
Binary files a/docs/_pics/java-notes/oo/SoWkIImgAStDuU8goIp9ILLmB2xEJyv.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/SoWkIImgAStDuU8goIp9ILLmJ4ylIar.png b/docs/_pics/java-notes/oo/SoWkIImgAStDuU8goIp9ILLmJ4ylIar.png
deleted file mode 100644
index e31398b6..00000000
Binary files a/docs/_pics/java-notes/oo/SoWkIImgAStDuU8goIp9ILLmJ4ylIar.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/SoWkIImgAStDuU8goIp9ILLmJyrBBKh.png b/docs/_pics/java-notes/oo/SoWkIImgAStDuU8goIp9ILLmJyrBBKh.png
deleted file mode 100644
index 055d995e..00000000
Binary files a/docs/_pics/java-notes/oo/SoWkIImgAStDuU8goIp9ILLmJyrBBKh.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/SoWkIImgAStDuU8goIp9ILLmpiyjo2_.png b/docs/_pics/java-notes/oo/SoWkIImgAStDuU8goIp9ILLmpiyjo2_.png
deleted file mode 100644
index 37f32c4c..00000000
Binary files a/docs/_pics/java-notes/oo/SoWkIImgAStDuU8goIp9ILLmpiyjo2_.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/a40661e4-1a71-46d2-a158-ff36f7fc3331.png b/docs/_pics/java-notes/oo/a40661e4-1a71-46d2-a158-ff36f7fc3331.png
deleted file mode 100644
index e980a2e3..00000000
Binary files a/docs/_pics/java-notes/oo/a40661e4-1a71-46d2-a158-ff36f7fc3331.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/a6c20f60-5eba-427d-9413-352ada4b40fe.png b/docs/_pics/java-notes/oo/a6c20f60-5eba-427d-9413-352ada4b40fe.png
deleted file mode 100644
index 11d36653..00000000
Binary files a/docs/_pics/java-notes/oo/a6c20f60-5eba-427d-9413-352ada4b40fe.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/ae1b27b8-bc13-42e7-ac12-a2242e125499.png b/docs/_pics/java-notes/oo/ae1b27b8-bc13-42e7-ac12-a2242e125499.png
deleted file mode 100644
index 27977740..00000000
Binary files a/docs/_pics/java-notes/oo/ae1b27b8-bc13-42e7-ac12-a2242e125499.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/b0f61ac2-a4b6-4042-9cf0-ccf4238c1ff7.png b/docs/_pics/java-notes/oo/b0f61ac2-a4b6-4042-9cf0-ccf4238c1ff7.png
deleted file mode 100644
index 73dad483..00000000
Binary files a/docs/_pics/java-notes/oo/b0f61ac2-a4b6-4042-9cf0-ccf4238c1ff7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/b1df9732-86ce-4d69-9f06-fba1db7b3b5a.jpg b/docs/_pics/java-notes/oo/b1df9732-86ce-4d69-9f06-fba1db7b3b5a.jpg
deleted file mode 100644
index a71d167e..00000000
Binary files a/docs/_pics/java-notes/oo/b1df9732-86ce-4d69-9f06-fba1db7b3b5a.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/c2cbf5d2-82af-4c78-bd43-495da5adf55f.png b/docs/_pics/java-notes/oo/c2cbf5d2-82af-4c78-bd43-495da5adf55f.png
deleted file mode 100644
index 70ecc3ec..00000000
Binary files a/docs/_pics/java-notes/oo/c2cbf5d2-82af-4c78-bd43-495da5adf55f.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/c3c1c0e8-3a78-4426-961f-b46dd0879dd8.png b/docs/_pics/java-notes/oo/c3c1c0e8-3a78-4426-961f-b46dd0879dd8.png
deleted file mode 100644
index 48e980fc..00000000
Binary files a/docs/_pics/java-notes/oo/c3c1c0e8-3a78-4426-961f-b46dd0879dd8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/c5085437-54df-4304-b62d-44b961711ba7.png b/docs/_pics/java-notes/oo/c5085437-54df-4304-b62d-44b961711ba7.png
deleted file mode 100644
index 36c948aa..00000000
Binary files a/docs/_pics/java-notes/oo/c5085437-54df-4304-b62d-44b961711ba7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/c79da808-0f28-4a36-bc04-33ccc5b83c13.png b/docs/_pics/java-notes/oo/c79da808-0f28-4a36-bc04-33ccc5b83c13.png
deleted file mode 100644
index 91e2c144..00000000
Binary files a/docs/_pics/java-notes/oo/c79da808-0f28-4a36-bc04-33ccc5b83c13.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/c9cfd600-bc91-4f3a-9f99-b42f88a5bb24.jpg b/docs/_pics/java-notes/oo/c9cfd600-bc91-4f3a-9f99-b42f88a5bb24.jpg
deleted file mode 100644
index fa7ce3ae..00000000
Binary files a/docs/_pics/java-notes/oo/c9cfd600-bc91-4f3a-9f99-b42f88a5bb24.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/d0afdd23-c9a5-4d1c-9b3d-404bff3bd0d1.png b/docs/_pics/java-notes/oo/d0afdd23-c9a5-4d1c-9b3d-404bff3bd0d1.png
deleted file mode 100644
index 58ff84fe..00000000
Binary files a/docs/_pics/java-notes/oo/d0afdd23-c9a5-4d1c-9b3d-404bff3bd0d1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/d52270b4-9097-4667-9f18-f405fc661c99.png b/docs/_pics/java-notes/oo/d52270b4-9097-4667-9f18-f405fc661c99.png
deleted file mode 100644
index 347fe316..00000000
Binary files a/docs/_pics/java-notes/oo/d52270b4-9097-4667-9f18-f405fc661c99.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/dd3b289c-d90e-44a6-a44c-4880517eb1de.png b/docs/_pics/java-notes/oo/dd3b289c-d90e-44a6-a44c-4880517eb1de.png
deleted file mode 100644
index 51055a2b..00000000
Binary files a/docs/_pics/java-notes/oo/dd3b289c-d90e-44a6-a44c-4880517eb1de.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/e6bded8e-41a0-489a-88a6-638e88ab7666.jpg b/docs/_pics/java-notes/oo/e6bded8e-41a0-489a-88a6-638e88ab7666.jpg
deleted file mode 100644
index f4aa12a0..00000000
Binary files a/docs/_pics/java-notes/oo/e6bded8e-41a0-489a-88a6-638e88ab7666.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/ec923dc7-864c-47b0-a411-1f2c48d084de.png b/docs/_pics/java-notes/oo/ec923dc7-864c-47b0-a411-1f2c48d084de.png
deleted file mode 100644
index 007e9646..00000000
Binary files a/docs/_pics/java-notes/oo/ec923dc7-864c-47b0-a411-1f2c48d084de.png and /dev/null differ
diff --git a/docs/_pics/java-notes/oo/f9978fa6-9f49-4a0f-8540-02d269ac448f.png b/docs/_pics/java-notes/oo/f9978fa6-9f49-4a0f-8540-02d269ac448f.png
deleted file mode 100644
index 7da6d4b2..00000000
Binary files a/docs/_pics/java-notes/oo/f9978fa6-9f49-4a0f-8540-02d269ac448f.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/014fbc4d-d873-4a12-b160-867ddaed9807.jpg b/docs/_pics/java-notes/os/014fbc4d-d873-4a12-b160-867ddaed9807.jpg
deleted file mode 100644
index 39c003ce..00000000
Binary files a/docs/_pics/java-notes/os/014fbc4d-d873-4a12-b160-867ddaed9807.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/os/042cf928-3c8e-4815-ae9c-f2780202c68f.png b/docs/_pics/java-notes/os/042cf928-3c8e-4815-ae9c-f2780202c68f.png
deleted file mode 100644
index 57d8c810..00000000
Binary files a/docs/_pics/java-notes/os/042cf928-3c8e-4815-ae9c-f2780202c68f.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/075e1977-7846-4928-96c8-bb5b0268693c.jpg b/docs/_pics/java-notes/os/075e1977-7846-4928-96c8-bb5b0268693c.jpg
deleted file mode 100644
index b8b100a0..00000000
Binary files a/docs/_pics/java-notes/os/075e1977-7846-4928-96c8-bb5b0268693c.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/os/22de0538-7c6e-4365-bd3b-8ce3c5900216.png b/docs/_pics/java-notes/os/22de0538-7c6e-4365-bd3b-8ce3c5900216.png
deleted file mode 100644
index 8d7dc098..00000000
Binary files a/docs/_pics/java-notes/os/22de0538-7c6e-4365-bd3b-8ce3c5900216.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/271ce08f-c124-475f-b490-be44fedc6d2e.png b/docs/_pics/java-notes/os/271ce08f-c124-475f-b490-be44fedc6d2e.png
deleted file mode 100644
index 8de6367b..00000000
Binary files a/docs/_pics/java-notes/os/271ce08f-c124-475f-b490-be44fedc6d2e.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/2_14_microkernelArchitecture.jpg b/docs/_pics/java-notes/os/2_14_microkernelArchitecture.jpg
deleted file mode 100644
index 21c2a58f..00000000
Binary files a/docs/_pics/java-notes/os/2_14_microkernelArchitecture.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/os/2ac50b81-d92a-4401-b9ec-f2113ecc3076.png b/docs/_pics/java-notes/os/2ac50b81-d92a-4401-b9ec-f2113ecc3076.png
deleted file mode 100644
index 173ce970..00000000
Binary files a/docs/_pics/java-notes/os/2ac50b81-d92a-4401-b9ec-f2113ecc3076.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/3cd630ea-017c-488d-ad1d-732b4efeddf5.png b/docs/_pics/java-notes/os/3cd630ea-017c-488d-ad1d-732b4efeddf5.png
deleted file mode 100644
index 9dc77733..00000000
Binary files a/docs/_pics/java-notes/os/3cd630ea-017c-488d-ad1d-732b4efeddf5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/47d98583-8bb0-45cc-812d-47eefa0a4a40.jpg b/docs/_pics/java-notes/os/47d98583-8bb0-45cc-812d-47eefa0a4a40.jpg
deleted file mode 100644
index f6ddd2c2..00000000
Binary files a/docs/_pics/java-notes/os/47d98583-8bb0-45cc-812d-47eefa0a4a40.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/os/4e2485e4-34bd-4967-9f02-0c093b797aaa.png b/docs/_pics/java-notes/os/4e2485e4-34bd-4967-9f02-0c093b797aaa.png
deleted file mode 100644
index a5643118..00000000
Binary files a/docs/_pics/java-notes/os/4e2485e4-34bd-4967-9f02-0c093b797aaa.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/50831a6f-2777-46ea-a571-29f23c85cc21.jpg b/docs/_pics/java-notes/os/50831a6f-2777-46ea-a571-29f23c85cc21.jpg
deleted file mode 100644
index 4a3f798b..00000000
Binary files a/docs/_pics/java-notes/os/50831a6f-2777-46ea-a571-29f23c85cc21.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/os/53cd9ade-b0a6-4399-b4de-7f1fbd06cdfb.png b/docs/_pics/java-notes/os/53cd9ade-b0a6-4399-b4de-7f1fbd06cdfb.png
deleted file mode 100644
index 2666f9c2..00000000
Binary files a/docs/_pics/java-notes/os/53cd9ade-b0a6-4399-b4de-7f1fbd06cdfb.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/5942debd-fc00-477a-b390-7c5692cc8070.jpg b/docs/_pics/java-notes/os/5942debd-fc00-477a-b390-7c5692cc8070.jpg
deleted file mode 100644
index 62b39e4b..00000000
Binary files a/docs/_pics/java-notes/os/5942debd-fc00-477a-b390-7c5692cc8070.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/os/5f5ef0b6-98ea-497c-a007-f6c55288eab1.png b/docs/_pics/java-notes/os/5f5ef0b6-98ea-497c-a007-f6c55288eab1.png
deleted file mode 100644
index a3ea0a24..00000000
Binary files a/docs/_pics/java-notes/os/5f5ef0b6-98ea-497c-a007-f6c55288eab1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/62e0dd4f-44c3-43ee-bb6e-fedb9e068519.png b/docs/_pics/java-notes/os/62e0dd4f-44c3-43ee-bb6e-fedb9e068519.png
deleted file mode 100644
index 3a41cdce..00000000
Binary files a/docs/_pics/java-notes/os/62e0dd4f-44c3-43ee-bb6e-fedb9e068519.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/658fc5e7-79c0-4247-9445-d69bf194c539.png b/docs/_pics/java-notes/os/658fc5e7-79c0-4247-9445-d69bf194c539.png
deleted file mode 100644
index f488859e..00000000
Binary files a/docs/_pics/java-notes/os/658fc5e7-79c0-4247-9445-d69bf194c539.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/6729baa0-57d7-4817-b3aa-518cbccf824c.jpg b/docs/_pics/java-notes/os/6729baa0-57d7-4817-b3aa-518cbccf824c.jpg
deleted file mode 100644
index 7035f001..00000000
Binary files a/docs/_pics/java-notes/os/6729baa0-57d7-4817-b3aa-518cbccf824c.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/os/76a49594323247f21c9b3a69945445ee.png b/docs/_pics/java-notes/os/76a49594323247f21c9b3a69945445ee.png
deleted file mode 100644
index 788ba0b1..00000000
Binary files a/docs/_pics/java-notes/os/76a49594323247f21c9b3a69945445ee.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/76dc7769-1aac-4888-9bea-064f1caa8e77.jpg b/docs/_pics/java-notes/os/76dc7769-1aac-4888-9bea-064f1caa8e77.jpg
deleted file mode 100644
index 642aba6b..00000000
Binary files a/docs/_pics/java-notes/os/76dc7769-1aac-4888-9bea-064f1caa8e77.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/os/7b281b1e-0595-402b-ae35-8c91084c33c1.png b/docs/_pics/java-notes/os/7b281b1e-0595-402b-ae35-8c91084c33c1.png
deleted file mode 100644
index 9308ecb6..00000000
Binary files a/docs/_pics/java-notes/os/7b281b1e-0595-402b-ae35-8c91084c33c1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/83185315-793a-453a-a927-5e8d92b5c0ef.jpg b/docs/_pics/java-notes/os/83185315-793a-453a-a927-5e8d92b5c0ef.jpg
deleted file mode 100644
index cb83edea..00000000
Binary files a/docs/_pics/java-notes/os/83185315-793a-453a-a927-5e8d92b5c0ef.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/os/8c662999-c16c-481c-9f40-1fdba5bc9167.png b/docs/_pics/java-notes/os/8c662999-c16c-481c-9f40-1fdba5bc9167.png
deleted file mode 100644
index ff810e91..00000000
Binary files a/docs/_pics/java-notes/os/8c662999-c16c-481c-9f40-1fdba5bc9167.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/924914c0-660c-4e4a-bbc0-1df1146e7516.jpg b/docs/_pics/java-notes/os/924914c0-660c-4e4a-bbc0-1df1146e7516.jpg
deleted file mode 100644
index 5bb29598..00000000
Binary files a/docs/_pics/java-notes/os/924914c0-660c-4e4a-bbc0-1df1146e7516.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/os/BSD_disk.png b/docs/_pics/java-notes/os/BSD_disk.png
deleted file mode 100644
index 48b0e0e8..00000000
Binary files a/docs/_pics/java-notes/os/BSD_disk.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/ProcessState.png b/docs/_pics/java-notes/os/ProcessState.png
deleted file mode 100644
index 39269579..00000000
Binary files a/docs/_pics/java-notes/os/ProcessState.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/a6ac2b08-3861-4e85-baa8-382287bfee9f.png b/docs/_pics/java-notes/os/a6ac2b08-3861-4e85-baa8-382287bfee9f.png
deleted file mode 100644
index 26b0bd03..00000000
Binary files a/docs/_pics/java-notes/os/a6ac2b08-3861-4e85-baa8-382287bfee9f.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/a9077f06-7584-4f2b-8c20-3a8e46928820.jpg b/docs/_pics/java-notes/os/a9077f06-7584-4f2b-8c20-3a8e46928820.jpg
deleted file mode 100644
index 67b2264d..00000000
Binary files a/docs/_pics/java-notes/os/a9077f06-7584-4f2b-8c20-3a8e46928820.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/os/b1fa0453-a4b0-4eae-a352-48acca8fff74.png b/docs/_pics/java-notes/os/b1fa0453-a4b0-4eae-a352-48acca8fff74.png
deleted file mode 100644
index 842b2f6c..00000000
Binary files a/docs/_pics/java-notes/os/b1fa0453-a4b0-4eae-a352-48acca8fff74.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/b396d726-b75f-4a32-89a2-03a7b6e19f6f.jpg b/docs/_pics/java-notes/os/b396d726-b75f-4a32-89a2-03a7b6e19f6f.jpg
deleted file mode 100644
index a3e1a656..00000000
Binary files a/docs/_pics/java-notes/os/b396d726-b75f-4a32-89a2-03a7b6e19f6f.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/os/b8081c84-62c4-4019-b3ee-4bd0e443d647.jpg b/docs/_pics/java-notes/os/b8081c84-62c4-4019-b3ee-4bd0e443d647.jpg
deleted file mode 100644
index 58fb0a05..00000000
Binary files a/docs/_pics/java-notes/os/b8081c84-62c4-4019-b3ee-4bd0e443d647.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/os/c037c901-7eae-4e31-a1e4-9d41329e5c3e.png b/docs/_pics/java-notes/os/c037c901-7eae-4e31-a1e4-9d41329e5c3e.png
deleted file mode 100644
index 9e2feb27..00000000
Binary files a/docs/_pics/java-notes/os/c037c901-7eae-4e31-a1e4-9d41329e5c3e.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/cf4386a1-58c9-4eca-a17f-e12b1e9770eb.png b/docs/_pics/java-notes/os/cf4386a1-58c9-4eca-a17f-e12b1e9770eb.png
deleted file mode 100644
index 9b9f3838..00000000
Binary files a/docs/_pics/java-notes/os/cf4386a1-58c9-4eca-a17f-e12b1e9770eb.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/d160ec2e-cfe2-4640-bda7-62f53e58b8c0.png b/docs/_pics/java-notes/os/d160ec2e-cfe2-4640-bda7-62f53e58b8c0.png
deleted file mode 100644
index cc971351..00000000
Binary files a/docs/_pics/java-notes/os/d160ec2e-cfe2-4640-bda7-62f53e58b8c0.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/e0900bb2-220a-43b7-9aa9-1d5cd55ff56e.png b/docs/_pics/java-notes/os/e0900bb2-220a-43b7-9aa9-1d5cd55ff56e.png
deleted file mode 100644
index b4c565fb..00000000
Binary files a/docs/_pics/java-notes/os/e0900bb2-220a-43b7-9aa9-1d5cd55ff56e.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/e1eda3d5-5ec8-4708-8e25-1a04c5e11f48.png b/docs/_pics/java-notes/os/e1eda3d5-5ec8-4708-8e25-1a04c5e11f48.png
deleted file mode 100644
index bffe7520..00000000
Binary files a/docs/_pics/java-notes/os/e1eda3d5-5ec8-4708-8e25-1a04c5e11f48.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/eb859228-c0f2-4bce-910d-d9f76929352b.png b/docs/_pics/java-notes/os/eb859228-c0f2-4bce-910d-d9f76929352b.png
deleted file mode 100644
index 7104f020..00000000
Binary files a/docs/_pics/java-notes/os/eb859228-c0f2-4bce-910d-d9f76929352b.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/ecf8ad5d-5403-48b9-b6e7-f2e20ffe8fca.png b/docs/_pics/java-notes/os/ecf8ad5d-5403-48b9-b6e7-f2e20ffe8fca.png
deleted file mode 100644
index 25ed7497..00000000
Binary files a/docs/_pics/java-notes/os/ecf8ad5d-5403-48b9-b6e7-f2e20ffe8fca.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/ed523051-608f-4c3f-b343-383e2d194470.png b/docs/_pics/java-notes/os/ed523051-608f-4c3f-b343-383e2d194470.png
deleted file mode 100644
index 1f703e2f..00000000
Binary files a/docs/_pics/java-notes/os/ed523051-608f-4c3f-b343-383e2d194470.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/f0574025-c514-49f5-a591-6d6a71f271f7.jpg b/docs/_pics/java-notes/os/f0574025-c514-49f5-a591-6d6a71f271f7.jpg
deleted file mode 100644
index 66a2ecbe..00000000
Binary files a/docs/_pics/java-notes/os/f0574025-c514-49f5-a591-6d6a71f271f7.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/os/f900f266-a323-42b2-bc43-218fdb8811a8.jpg b/docs/_pics/java-notes/os/f900f266-a323-42b2-bc43-218fdb8811a8.jpg
deleted file mode 100644
index 95b92d60..00000000
Binary files a/docs/_pics/java-notes/os/f900f266-a323-42b2-bc43-218fdb8811a8.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/os/f9f2a16b-4843-44d1-9759-c745772e9bcf.jpg b/docs/_pics/java-notes/os/f9f2a16b-4843-44d1-9759-c745772e9bcf.jpg
deleted file mode 100644
index b6a0ba79..00000000
Binary files a/docs/_pics/java-notes/os/f9f2a16b-4843-44d1-9759-c745772e9bcf.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/os/flow.png b/docs/_pics/java-notes/os/flow.png
deleted file mode 100644
index aa0492a4..00000000
Binary files a/docs/_pics/java-notes/os/flow.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/inode_with_signatures.jpg b/docs/_pics/java-notes/os/inode_with_signatures.jpg
deleted file mode 100644
index 518ba5ac..00000000
Binary files a/docs/_pics/java-notes/os/inode_with_signatures.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/os/linux-filesystem.png b/docs/_pics/java-notes/os/linux-filesystem.png
deleted file mode 100644
index ae965295..00000000
Binary files a/docs/_pics/java-notes/os/linux-filesystem.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/linux_1.png b/docs/_pics/java-notes/os/linux_1.png
deleted file mode 100644
index 592d2095..00000000
Binary files a/docs/_pics/java-notes/os/linux_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/os/tGPV0.png b/docs/_pics/java-notes/os/tGPV0.png
deleted file mode 100644
index 89fb7bfe..00000000
Binary files a/docs/_pics/java-notes/os/tGPV0.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sfatety/safety_1.png b/docs/_pics/java-notes/sfatety/safety_1.png
deleted file mode 100644
index c5a218cc..00000000
Binary files a/docs/_pics/java-notes/sfatety/safety_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sfatety/safety_2.png b/docs/_pics/java-notes/sfatety/safety_2.png
deleted file mode 100644
index a00616a9..00000000
Binary files a/docs/_pics/java-notes/sfatety/safety_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sfatety/safety_3.png b/docs/_pics/java-notes/sfatety/safety_3.png
deleted file mode 100644
index feadf5df..00000000
Binary files a/docs/_pics/java-notes/sfatety/safety_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sfatety/safety_4.png b/docs/_pics/java-notes/sfatety/safety_4.png
deleted file mode 100644
index 0af5922c..00000000
Binary files a/docs/_pics/java-notes/sfatety/safety_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sort/01_1.png b/docs/_pics/java-notes/sort/01_1.png
deleted file mode 100644
index 3b05b25b..00000000
Binary files a/docs/_pics/java-notes/sort/01_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sort/01_2.png b/docs/_pics/java-notes/sort/01_2.png
deleted file mode 100644
index c4592305..00000000
Binary files a/docs/_pics/java-notes/sort/01_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sort/01_3.png b/docs/_pics/java-notes/sort/01_3.png
deleted file mode 100644
index fc0999f9..00000000
Binary files a/docs/_pics/java-notes/sort/01_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sort/02_1.png b/docs/_pics/java-notes/sort/02_1.png
deleted file mode 100644
index 79105257..00000000
Binary files a/docs/_pics/java-notes/sort/02_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sort/02_2.png b/docs/_pics/java-notes/sort/02_2.png
deleted file mode 100644
index e8a69bff..00000000
Binary files a/docs/_pics/java-notes/sort/02_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sort/02_3.png b/docs/_pics/java-notes/sort/02_3.png
deleted file mode 100644
index 86e2294f..00000000
Binary files a/docs/_pics/java-notes/sort/02_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sort/03_1.png b/docs/_pics/java-notes/sort/03_1.png
deleted file mode 100644
index 77868686..00000000
Binary files a/docs/_pics/java-notes/sort/03_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sort/03_2.png b/docs/_pics/java-notes/sort/03_2.png
deleted file mode 100644
index 6e8383f3..00000000
Binary files a/docs/_pics/java-notes/sort/03_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sort/03_3.png b/docs/_pics/java-notes/sort/03_3.png
deleted file mode 100644
index 5299728f..00000000
Binary files a/docs/_pics/java-notes/sort/03_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sort/03_4.png b/docs/_pics/java-notes/sort/03_4.png
deleted file mode 100644
index dc44da3d..00000000
Binary files a/docs/_pics/java-notes/sort/03_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sort/03_5.png b/docs/_pics/java-notes/sort/03_5.png
deleted file mode 100644
index d49b1727..00000000
Binary files a/docs/_pics/java-notes/sort/03_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sort/03_6.png b/docs/_pics/java-notes/sort/03_6.png
deleted file mode 100644
index 3d5adabd..00000000
Binary files a/docs/_pics/java-notes/sort/03_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sort/04_1.gif b/docs/_pics/java-notes/sort/04_1.gif
deleted file mode 100644
index 2a556955..00000000
Binary files a/docs/_pics/java-notes/sort/04_1.gif and /dev/null differ
diff --git a/docs/_pics/java-notes/sort/05_1.png b/docs/_pics/java-notes/sort/05_1.png
deleted file mode 100644
index 9d720f4f..00000000
Binary files a/docs/_pics/java-notes/sort/05_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/sort/06_1.png b/docs/_pics/java-notes/sort/06_1.png
deleted file mode 100644
index 325d983e..00000000
Binary files a/docs/_pics/java-notes/sort/06_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/01_1.png b/docs/_pics/java-notes/spring/01_1.png
deleted file mode 100644
index 1bcb8af0..00000000
Binary files a/docs/_pics/java-notes/spring/01_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/01_2.png b/docs/_pics/java-notes/spring/01_2.png
deleted file mode 100644
index 58360fb4..00000000
Binary files a/docs/_pics/java-notes/spring/01_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/02_1.png b/docs/_pics/java-notes/spring/02_1.png
deleted file mode 100644
index c4748cda..00000000
Binary files a/docs/_pics/java-notes/spring/02_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/03_1.png b/docs/_pics/java-notes/spring/03_1.png
deleted file mode 100644
index 75e9c190..00000000
Binary files a/docs/_pics/java-notes/spring/03_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/03_2.png b/docs/_pics/java-notes/spring/03_2.png
deleted file mode 100644
index 21fb3e30..00000000
Binary files a/docs/_pics/java-notes/spring/03_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/03_3.png b/docs/_pics/java-notes/spring/03_3.png
deleted file mode 100644
index 81b2ba88..00000000
Binary files a/docs/_pics/java-notes/spring/03_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/03_4.png b/docs/_pics/java-notes/spring/03_4.png
deleted file mode 100644
index e91de3b9..00000000
Binary files a/docs/_pics/java-notes/spring/03_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/03_5.png b/docs/_pics/java-notes/spring/03_5.png
deleted file mode 100644
index 59f9aa87..00000000
Binary files a/docs/_pics/java-notes/spring/03_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/05_1.jpg b/docs/_pics/java-notes/spring/05_1.jpg
deleted file mode 100644
index 16f76ddb..00000000
Binary files a/docs/_pics/java-notes/spring/05_1.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/06_1.jpg b/docs/_pics/java-notes/spring/06_1.jpg
deleted file mode 100644
index 19019d55..00000000
Binary files a/docs/_pics/java-notes/spring/06_1.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/06_2.jpg b/docs/_pics/java-notes/spring/06_2.jpg
deleted file mode 100644
index 202d1bf2..00000000
Binary files a/docs/_pics/java-notes/spring/06_2.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/SpringMCVInterview_00.jpg b/docs/_pics/java-notes/spring/SpringMCVInterview_00.jpg
deleted file mode 100644
index 3f21b38b..00000000
Binary files a/docs/_pics/java-notes/spring/SpringMCVInterview_00.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/ioc_1.png b/docs/_pics/java-notes/spring/ioc_1.png
deleted file mode 100644
index 2c3f84df..00000000
Binary files a/docs/_pics/java-notes/spring/ioc_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/ioc_11.png b/docs/_pics/java-notes/spring/ioc_11.png
deleted file mode 100644
index 7fb5fa81..00000000
Binary files a/docs/_pics/java-notes/spring/ioc_11.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/ioc_12.png b/docs/_pics/java-notes/spring/ioc_12.png
deleted file mode 100644
index 3ada545f..00000000
Binary files a/docs/_pics/java-notes/spring/ioc_12.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/ioc_13.png b/docs/_pics/java-notes/spring/ioc_13.png
deleted file mode 100644
index 69570fa5..00000000
Binary files a/docs/_pics/java-notes/spring/ioc_13.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/ioc_14.png b/docs/_pics/java-notes/spring/ioc_14.png
deleted file mode 100644
index 048cf914..00000000
Binary files a/docs/_pics/java-notes/spring/ioc_14.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/ioc_15.png b/docs/_pics/java-notes/spring/ioc_15.png
deleted file mode 100644
index 3f3b6b1e..00000000
Binary files a/docs/_pics/java-notes/spring/ioc_15.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/ioc_16.png b/docs/_pics/java-notes/spring/ioc_16.png
deleted file mode 100644
index d6b807fb..00000000
Binary files a/docs/_pics/java-notes/spring/ioc_16.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/ioc_17.png b/docs/_pics/java-notes/spring/ioc_17.png
deleted file mode 100644
index 29fb311d..00000000
Binary files a/docs/_pics/java-notes/spring/ioc_17.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/ioc_2.png b/docs/_pics/java-notes/spring/ioc_2.png
deleted file mode 100644
index d9073ab8..00000000
Binary files a/docs/_pics/java-notes/spring/ioc_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/ioc_3.png b/docs/_pics/java-notes/spring/ioc_3.png
deleted file mode 100644
index 8dadc8eb..00000000
Binary files a/docs/_pics/java-notes/spring/ioc_3.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/ioc_4.png b/docs/_pics/java-notes/spring/ioc_4.png
deleted file mode 100644
index ce1f0a84..00000000
Binary files a/docs/_pics/java-notes/spring/ioc_4.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/ioc_5.png b/docs/_pics/java-notes/spring/ioc_5.png
deleted file mode 100644
index 29a7f660..00000000
Binary files a/docs/_pics/java-notes/spring/ioc_5.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/ioc_6.png b/docs/_pics/java-notes/spring/ioc_6.png
deleted file mode 100644
index 5a4c4332..00000000
Binary files a/docs/_pics/java-notes/spring/ioc_6.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/ioc_7.png b/docs/_pics/java-notes/spring/ioc_7.png
deleted file mode 100644
index 84cbfe90..00000000
Binary files a/docs/_pics/java-notes/spring/ioc_7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/ioc_8.png b/docs/_pics/java-notes/spring/ioc_8.png
deleted file mode 100644
index aa0aaba8..00000000
Binary files a/docs/_pics/java-notes/spring/ioc_8.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/ioc_9.png b/docs/_pics/java-notes/spring/ioc_9.png
deleted file mode 100644
index 3032221e..00000000
Binary files a/docs/_pics/java-notes/spring/ioc_9.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/spring_1.gif b/docs/_pics/java-notes/spring/spring_1.gif
deleted file mode 100644
index 2671173e..00000000
Binary files a/docs/_pics/java-notes/spring/spring_1.gif and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/spring_1.png b/docs/_pics/java-notes/spring/spring_1.png
deleted file mode 100644
index 03d3d768..00000000
Binary files a/docs/_pics/java-notes/spring/spring_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/spring_2.png b/docs/_pics/java-notes/spring/spring_2.png
deleted file mode 100644
index 08ef4ee4..00000000
Binary files a/docs/_pics/java-notes/spring/spring_2.png and /dev/null differ
diff --git a/docs/_pics/java-notes/spring/springmvc_1.png b/docs/_pics/java-notes/spring/springmvc_1.png
deleted file mode 100644
index 8891be88..00000000
Binary files a/docs/_pics/java-notes/spring/springmvc_1.png and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/04f41228-375d-4b7d-bfef-738c5a7c8f07.jpg b/docs/_pics/java-notes/systemDesign/04f41228-375d-4b7d-bfef-738c5a7c8f07.jpg
deleted file mode 100644
index 17eb93b6..00000000
Binary files a/docs/_pics/java-notes/systemDesign/04f41228-375d-4b7d-bfef-738c5a7c8f07.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/0b587744-c0a8-46f2-8d72-e8f070d67b4b.jpg b/docs/_pics/java-notes/systemDesign/0b587744-c0a8-46f2-8d72-e8f070d67b4b.jpg
deleted file mode 100644
index 7b88e7a0..00000000
Binary files a/docs/_pics/java-notes/systemDesign/0b587744-c0a8-46f2-8d72-e8f070d67b4b.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/0ee0f61b-c782-441e-bf34-665650198ae0.jpg b/docs/_pics/java-notes/systemDesign/0ee0f61b-c782-441e-bf34-665650198ae0.jpg
deleted file mode 100644
index f3e7163b..00000000
Binary files a/docs/_pics/java-notes/systemDesign/0ee0f61b-c782-441e-bf34-665650198ae0.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/10.gif b/docs/_pics/java-notes/systemDesign/10.gif
deleted file mode 100644
index d52a911e..00000000
Binary files a/docs/_pics/java-notes/systemDesign/10.gif and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/11.gif b/docs/_pics/java-notes/systemDesign/11.gif
deleted file mode 100644
index 5d9c6f00..00000000
Binary files a/docs/_pics/java-notes/systemDesign/11.gif and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/111521118015898.gif b/docs/_pics/java-notes/systemDesign/111521118015898.gif
deleted file mode 100644
index 5c31da1d..00000000
Binary files a/docs/_pics/java-notes/systemDesign/111521118015898.gif and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/111521118445538.gif b/docs/_pics/java-notes/systemDesign/111521118445538.gif
deleted file mode 100644
index 323d129c..00000000
Binary files a/docs/_pics/java-notes/systemDesign/111521118445538.gif and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/111521118483039.gif b/docs/_pics/java-notes/systemDesign/111521118483039.gif
deleted file mode 100644
index a81124dd..00000000
Binary files a/docs/_pics/java-notes/systemDesign/111521118483039.gif and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/111521118640738.gif b/docs/_pics/java-notes/systemDesign/111521118640738.gif
deleted file mode 100644
index 7a7b05a9..00000000
Binary files a/docs/_pics/java-notes/systemDesign/111521118640738.gif and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/111521119203347.gif b/docs/_pics/java-notes/systemDesign/111521119203347.gif
deleted file mode 100644
index 37cdb5a5..00000000
Binary files a/docs/_pics/java-notes/systemDesign/111521119203347.gif and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/111521119368714.gif b/docs/_pics/java-notes/systemDesign/111521119368714.gif
deleted file mode 100644
index 216c3033..00000000
Binary files a/docs/_pics/java-notes/systemDesign/111521119368714.gif and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/15313ed8-a520-4799-a300-2b6b36be314f.jpg b/docs/_pics/java-notes/systemDesign/15313ed8-a520-4799-a300-2b6b36be314f.jpg
deleted file mode 100644
index cbba7f36..00000000
Binary files a/docs/_pics/java-notes/systemDesign/15313ed8-a520-4799-a300-2b6b36be314f.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/1a9977e4-2f5c-49a6-aec9-f3027c9f46a7.png b/docs/_pics/java-notes/systemDesign/1a9977e4-2f5c-49a6-aec9-f3027c9f46a7.png
deleted file mode 100644
index 590a4299..00000000
Binary files a/docs/_pics/java-notes/systemDesign/1a9977e4-2f5c-49a6-aec9-f3027c9f46a7.png and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/1f4a7f10-52b2-4bd7-a67d-a9581d66dc62.jpg b/docs/_pics/java-notes/systemDesign/1f4a7f10-52b2-4bd7-a67d-a9581d66dc62.jpg
deleted file mode 100644
index e4f0f3ac..00000000
Binary files a/docs/_pics/java-notes/systemDesign/1f4a7f10-52b2-4bd7-a67d-a9581d66dc62.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/2018040302.jpg b/docs/_pics/java-notes/systemDesign/2018040302.jpg
deleted file mode 100644
index 27daefae..00000000
Binary files a/docs/_pics/java-notes/systemDesign/2018040302.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/211c60d4-75ca-4acd-8a4f-171458ed58b4.jpg b/docs/_pics/java-notes/systemDesign/211c60d4-75ca-4acd-8a4f-171458ed58b4.jpg
deleted file mode 100644
index efb47ffc..00000000
Binary files a/docs/_pics/java-notes/systemDesign/211c60d4-75ca-4acd-8a4f-171458ed58b4.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/2766d04f-7dad-42e4-99d1-60682c9d5c61.jpg b/docs/_pics/java-notes/systemDesign/2766d04f-7dad-42e4-99d1-60682c9d5c61.jpg
deleted file mode 100644
index f9a9489b..00000000
Binary files a/docs/_pics/java-notes/systemDesign/2766d04f-7dad-42e4-99d1-60682c9d5c61.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/2991c772-fb1c-4051-a9c7-932b68e76bd7.jpg b/docs/_pics/java-notes/systemDesign/2991c772-fb1c-4051-a9c7-932b68e76bd7.jpg
deleted file mode 100644
index d99eb3a7..00000000
Binary files a/docs/_pics/java-notes/systemDesign/2991c772-fb1c-4051-a9c7-932b68e76bd7.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/2bcc58ad-bf7f-485c-89b5-e7cafc211ce2.jpg b/docs/_pics/java-notes/systemDesign/2bcc58ad-bf7f-485c-89b5-e7cafc211ce2.jpg
deleted file mode 100644
index 983ddd70..00000000
Binary files a/docs/_pics/java-notes/systemDesign/2bcc58ad-bf7f-485c-89b5-e7cafc211ce2.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/31d99967-1171-448e-8531-bccf5c14cffe.jpg b/docs/_pics/java-notes/systemDesign/31d99967-1171-448e-8531-bccf5c14cffe.jpg
deleted file mode 100644
index 61e00649..00000000
Binary files a/docs/_pics/java-notes/systemDesign/31d99967-1171-448e-8531-bccf5c14cffe.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/3b0d1aa8-d0e0-46c2-8fd1-736bf08a11aa.jpg b/docs/_pics/java-notes/systemDesign/3b0d1aa8-d0e0-46c2-8fd1-736bf08a11aa.jpg
deleted file mode 100644
index f7e9f145..00000000
Binary files a/docs/_pics/java-notes/systemDesign/3b0d1aa8-d0e0-46c2-8fd1-736bf08a11aa.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/44edefb7-4b58-4519-b8ee-4aca01697b78.jpg b/docs/_pics/java-notes/systemDesign/44edefb7-4b58-4519-b8ee-4aca01697b78.jpg
deleted file mode 100644
index 32d0f3d2..00000000
Binary files a/docs/_pics/java-notes/systemDesign/44edefb7-4b58-4519-b8ee-4aca01697b78.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/66402828-fb2b-418f-83f6-82153491bcfe.jpg b/docs/_pics/java-notes/systemDesign/66402828-fb2b-418f-83f6-82153491bcfe.jpg
deleted file mode 100644
index fc86a236..00000000
Binary files a/docs/_pics/java-notes/systemDesign/66402828-fb2b-418f-83f6-82153491bcfe.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/685a692f-8f76-4cac-baac-b68e2df9a30f.jpg b/docs/_pics/java-notes/systemDesign/685a692f-8f76-4cac-baac-b68e2df9a30f.jpg
deleted file mode 100644
index a1d12d17..00000000
Binary files a/docs/_pics/java-notes/systemDesign/685a692f-8f76-4cac-baac-b68e2df9a30f.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/68b110b9-76c6-4ee2-b541-4145e65adb3e.jpg b/docs/_pics/java-notes/systemDesign/68b110b9-76c6-4ee2-b541-4145e65adb3e.jpg
deleted file mode 100644
index d82f46eb..00000000
Binary files a/docs/_pics/java-notes/systemDesign/68b110b9-76c6-4ee2-b541-4145e65adb3e.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/7.gif b/docs/_pics/java-notes/systemDesign/7.gif
deleted file mode 100644
index fad88513..00000000
Binary files a/docs/_pics/java-notes/systemDesign/7.gif and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/76a25fc8-a579-4d7c-974b-7640b57fbf39.jpg b/docs/_pics/java-notes/systemDesign/76a25fc8-a579-4d7c-974b-7640b57fbf39.jpg
deleted file mode 100644
index fd13a137..00000000
Binary files a/docs/_pics/java-notes/systemDesign/76a25fc8-a579-4d7c-974b-7640b57fbf39.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/9.gif b/docs/_pics/java-notes/systemDesign/9.gif
deleted file mode 100644
index f81aa264..00000000
Binary files a/docs/_pics/java-notes/systemDesign/9.gif and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/9b838aee-0996-44a5-9b0f-3d1e3e2f5100.png b/docs/_pics/java-notes/systemDesign/9b838aee-0996-44a5-9b0f-3d1e3e2f5100.png
deleted file mode 100644
index c7f87138..00000000
Binary files a/docs/_pics/java-notes/systemDesign/9b838aee-0996-44a5-9b0f-3d1e3e2f5100.png and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/MultiNode-SessionReplication.jpg b/docs/_pics/java-notes/systemDesign/MultiNode-SessionReplication.jpg
deleted file mode 100644
index 0223bd80..00000000
Binary files a/docs/_pics/java-notes/systemDesign/MultiNode-SessionReplication.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/MultiNode-SpringSession.jpg b/docs/_pics/java-notes/systemDesign/MultiNode-SpringSession.jpg
deleted file mode 100644
index 38d56e2c..00000000
Binary files a/docs/_pics/java-notes/systemDesign/MultiNode-SpringSession.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/MultiNode-StickySessions.jpg b/docs/_pics/java-notes/systemDesign/MultiNode-StickySessions.jpg
deleted file mode 100644
index a7e1c6aa..00000000
Binary files a/docs/_pics/java-notes/systemDesign/MultiNode-StickySessions.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/b988877c-0f0a-4593-916d-de2081320628.jpg b/docs/_pics/java-notes/systemDesign/b988877c-0f0a-4593-916d-de2081320628.jpg
deleted file mode 100644
index 67339134..00000000
Binary files a/docs/_pics/java-notes/systemDesign/b988877c-0f0a-4593-916d-de2081320628.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/bc603930-d74d-4499-a3e7-2d740fc07f33.png b/docs/_pics/java-notes/systemDesign/bc603930-d74d-4499-a3e7-2d740fc07f33.png
deleted file mode 100644
index 6c9a572e..00000000
Binary files a/docs/_pics/java-notes/systemDesign/bc603930-d74d-4499-a3e7-2d740fc07f33.png and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/bee1ff1d-c80f-4b3c-b58c-7073a8896ab2.jpg b/docs/_pics/java-notes/systemDesign/bee1ff1d-c80f-4b3c-b58c-7073a8896ab2.jpg
deleted file mode 100644
index e4becc19..00000000
Binary files a/docs/_pics/java-notes/systemDesign/bee1ff1d-c80f-4b3c-b58c-7073a8896ab2.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/bf667594-bb4b-4634-bf9b-0596a45415ba.jpg b/docs/_pics/java-notes/systemDesign/bf667594-bb4b-4634-bf9b-0596a45415ba.jpg
deleted file mode 100644
index 30956ccf..00000000
Binary files a/docs/_pics/java-notes/systemDesign/bf667594-bb4b-4634-bf9b-0596a45415ba.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/c5f611f0-fd5c-4158-9003-278141136e6e.jpg b/docs/_pics/java-notes/systemDesign/c5f611f0-fd5c-4158-9003-278141136e6e.jpg
deleted file mode 100644
index 473091be..00000000
Binary files a/docs/_pics/java-notes/systemDesign/c5f611f0-fd5c-4158-9003-278141136e6e.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/ddb5ff4c-4ada-46aa-9bf1-140bdb5e4676.jpg b/docs/_pics/java-notes/systemDesign/ddb5ff4c-4ada-46aa-9bf1-140bdb5e4676.jpg
deleted file mode 100644
index 73b3d739..00000000
Binary files a/docs/_pics/java-notes/systemDesign/ddb5ff4c-4ada-46aa-9bf1-140bdb5e4676.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/e3bf5de4-ab1e-4a9b-896d-4b0ad7e9220a.jpg b/docs/_pics/java-notes/systemDesign/e3bf5de4-ab1e-4a9b-896d-4b0ad7e9220a.jpg
deleted file mode 100644
index a3ead324..00000000
Binary files a/docs/_pics/java-notes/systemDesign/e3bf5de4-ab1e-4a9b-896d-4b0ad7e9220a.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/f1109d04-3c67-48a3-9963-2c475f94e175.jpg b/docs/_pics/java-notes/systemDesign/f1109d04-3c67-48a3-9963-2c475f94e175.jpg
deleted file mode 100644
index cdd1b55e..00000000
Binary files a/docs/_pics/java-notes/systemDesign/f1109d04-3c67-48a3-9963-2c475f94e175.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/f7ecbb8d-bb8b-4d45-a3b7-f49425d6d83d.jpg b/docs/_pics/java-notes/systemDesign/f7ecbb8d-bb8b-4d45-a3b7-f49425d6d83d.jpg
deleted file mode 100644
index ab51d486..00000000
Binary files a/docs/_pics/java-notes/systemDesign/f7ecbb8d-bb8b-4d45-a3b7-f49425d6d83d.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/fb44307f-8e98-4ff7-a918-31dacfa564b4.jpg b/docs/_pics/java-notes/systemDesign/fb44307f-8e98-4ff7-a918-31dacfa564b4.jpg
deleted file mode 100644
index 36c1d9b7..00000000
Binary files a/docs/_pics/java-notes/systemDesign/fb44307f-8e98-4ff7-a918-31dacfa564b4.jpg and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/kafka_00.png b/docs/_pics/java-notes/systemDesign/kafka_00.png
deleted file mode 100644
index 298481f2..00000000
Binary files a/docs/_pics/java-notes/systemDesign/kafka_00.png and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/kafka_01.png b/docs/_pics/java-notes/systemDesign/kafka_01.png
deleted file mode 100644
index 42a54e20..00000000
Binary files a/docs/_pics/java-notes/systemDesign/kafka_01.png and /dev/null differ
diff --git a/docs/_pics/java-notes/systemDesign/kafka_02.png b/docs/_pics/java-notes/systemDesign/kafka_02.png
deleted file mode 100644
index 30d18e3a..00000000
Binary files a/docs/_pics/java-notes/systemDesign/kafka_02.png and /dev/null differ
diff --git a/docs/_pics/kafka/k_1.png b/docs/_pics/kafka/k_1.png
deleted file mode 100644
index 42a54e20..00000000
Binary files a/docs/_pics/kafka/k_1.png and /dev/null differ
diff --git a/docs/_pics/kafka/k_10.png b/docs/_pics/kafka/k_10.png
deleted file mode 100644
index 9ce858ea..00000000
Binary files a/docs/_pics/kafka/k_10.png and /dev/null differ
diff --git a/docs/_pics/kafka/k_2.png b/docs/_pics/kafka/k_2.png
deleted file mode 100644
index 1e3fb16b..00000000
Binary files a/docs/_pics/kafka/k_2.png and /dev/null differ
diff --git a/docs/_pics/kafka/k_3.png b/docs/_pics/kafka/k_3.png
deleted file mode 100644
index 22c3fe1e..00000000
Binary files a/docs/_pics/kafka/k_3.png and /dev/null differ
diff --git a/docs/_pics/kafka/k_4.png b/docs/_pics/kafka/k_4.png
deleted file mode 100644
index a6494999..00000000
Binary files a/docs/_pics/kafka/k_4.png and /dev/null differ
diff --git a/docs/_pics/kafka/k_5.png b/docs/_pics/kafka/k_5.png
deleted file mode 100644
index 16fe2936..00000000
Binary files a/docs/_pics/kafka/k_5.png and /dev/null differ
diff --git a/docs/_pics/kafka/k_6.png b/docs/_pics/kafka/k_6.png
deleted file mode 100644
index a5a888ed..00000000
Binary files a/docs/_pics/kafka/k_6.png and /dev/null differ
diff --git a/docs/_pics/kafka/k_7.png b/docs/_pics/kafka/k_7.png
deleted file mode 100644
index fcde5b03..00000000
Binary files a/docs/_pics/kafka/k_7.png and /dev/null differ
diff --git a/docs/_pics/kafka/k_8.png b/docs/_pics/kafka/k_8.png
deleted file mode 100644
index 44d8fe9d..00000000
Binary files a/docs/_pics/kafka/k_8.png and /dev/null differ
diff --git a/docs/_pics/kafka/k_9.png b/docs/_pics/kafka/k_9.png
deleted file mode 100644
index dd8eb14a..00000000
Binary files a/docs/_pics/kafka/k_9.png and /dev/null differ
diff --git a/docs/_pics/leetcode/127.png b/docs/_pics/leetcode/127.png
deleted file mode 100644
index 529a8276..00000000
Binary files a/docs/_pics/leetcode/127.png and /dev/null differ
diff --git a/docs/_pics/leetcode/17.png b/docs/_pics/leetcode/17.png
deleted file mode 100644
index 2b5fcfad..00000000
Binary files a/docs/_pics/leetcode/17.png and /dev/null differ
diff --git a/docs/_pics/leetcode/243.png b/docs/_pics/leetcode/243.png
deleted file mode 100644
index cc2f7dc4..00000000
Binary files a/docs/_pics/leetcode/243.png and /dev/null differ
diff --git a/docs/_pics/leetcode/257_1.png b/docs/_pics/leetcode/257_1.png
deleted file mode 100644
index 384ede5c..00000000
Binary files a/docs/_pics/leetcode/257_1.png and /dev/null differ
diff --git a/docs/_pics/leetcode/257_2.png b/docs/_pics/leetcode/257_2.png
deleted file mode 100644
index 79892231..00000000
Binary files a/docs/_pics/leetcode/257_2.png and /dev/null differ
diff --git a/docs/_pics/leetcode/257_3.png b/docs/_pics/leetcode/257_3.png
deleted file mode 100644
index d3a8c107..00000000
Binary files a/docs/_pics/leetcode/257_3.png and /dev/null differ
diff --git a/docs/_pics/leetcode/279_1.png b/docs/_pics/leetcode/279_1.png
deleted file mode 100644
index cb498a9e..00000000
Binary files a/docs/_pics/leetcode/279_1.png and /dev/null differ
diff --git a/docs/_pics/leetcode/279_2.png b/docs/_pics/leetcode/279_2.png
deleted file mode 100644
index 373f05b0..00000000
Binary files a/docs/_pics/leetcode/279_2.png and /dev/null differ
diff --git a/docs/_pics/leetcode/279_3.png b/docs/_pics/leetcode/279_3.png
deleted file mode 100644
index 34095a9e..00000000
Binary files a/docs/_pics/leetcode/279_3.png and /dev/null differ
diff --git a/docs/_pics/leetcode/46_1.png b/docs/_pics/leetcode/46_1.png
deleted file mode 100644
index f0862e06..00000000
Binary files a/docs/_pics/leetcode/46_1.png and /dev/null differ
diff --git a/docs/_pics/leetcode/51_1.png b/docs/_pics/leetcode/51_1.png
deleted file mode 100644
index 0f6f4d33..00000000
Binary files a/docs/_pics/leetcode/51_1.png and /dev/null differ
diff --git a/docs/_pics/leetcode/51_2.png b/docs/_pics/leetcode/51_2.png
deleted file mode 100644
index edea2826..00000000
Binary files a/docs/_pics/leetcode/51_2.png and /dev/null differ
diff --git a/docs/_pics/leetcode/l_1.png b/docs/_pics/leetcode/l_1.png
deleted file mode 100644
index 3faec6ce..00000000
Binary files a/docs/_pics/leetcode/l_1.png and /dev/null differ
diff --git a/docs/_pics/leetcode/l_2.png b/docs/_pics/leetcode/l_2.png
deleted file mode 100644
index d5a2019b..00000000
Binary files a/docs/_pics/leetcode/l_2.png and /dev/null differ
diff --git a/docs/_pics/logo_1.png b/docs/_pics/logo_1.png
deleted file mode 100644
index f909159b..00000000
Binary files a/docs/_pics/logo_1.png and /dev/null differ
diff --git a/docs/_pics/mcard/m_1.png b/docs/_pics/mcard/m_1.png
deleted file mode 100644
index 4b5c7244..00000000
Binary files a/docs/_pics/mcard/m_1.png and /dev/null differ
diff --git a/docs/_pics/mcard/m_10.png b/docs/_pics/mcard/m_10.png
deleted file mode 100644
index 86488d22..00000000
Binary files a/docs/_pics/mcard/m_10.png and /dev/null differ
diff --git a/docs/_pics/mcard/m_11.png b/docs/_pics/mcard/m_11.png
deleted file mode 100644
index b59715ef..00000000
Binary files a/docs/_pics/mcard/m_11.png and /dev/null differ
diff --git a/docs/_pics/mcard/m_12.png b/docs/_pics/mcard/m_12.png
deleted file mode 100644
index 3ca85215..00000000
Binary files a/docs/_pics/mcard/m_12.png and /dev/null differ
diff --git a/docs/_pics/mcard/m_13.png b/docs/_pics/mcard/m_13.png
deleted file mode 100644
index 1df2ec64..00000000
Binary files a/docs/_pics/mcard/m_13.png and /dev/null differ
diff --git a/docs/_pics/mcard/m_2.png b/docs/_pics/mcard/m_2.png
deleted file mode 100644
index 5810e47f..00000000
Binary files a/docs/_pics/mcard/m_2.png and /dev/null differ
diff --git a/docs/_pics/mcard/m_3.png b/docs/_pics/mcard/m_3.png
deleted file mode 100644
index da1f3b47..00000000
Binary files a/docs/_pics/mcard/m_3.png and /dev/null differ
diff --git a/docs/_pics/mcard/m_4.png b/docs/_pics/mcard/m_4.png
deleted file mode 100644
index d3844f93..00000000
Binary files a/docs/_pics/mcard/m_4.png and /dev/null differ
diff --git a/docs/_pics/mcard/m_5.png b/docs/_pics/mcard/m_5.png
deleted file mode 100644
index f4f4bc2e..00000000
Binary files a/docs/_pics/mcard/m_5.png and /dev/null differ
diff --git a/docs/_pics/mcard/m_6.png b/docs/_pics/mcard/m_6.png
deleted file mode 100644
index 5470e346..00000000
Binary files a/docs/_pics/mcard/m_6.png and /dev/null differ
diff --git a/docs/_pics/mcard/m_7.png b/docs/_pics/mcard/m_7.png
deleted file mode 100644
index 7dc446ec..00000000
Binary files a/docs/_pics/mcard/m_7.png and /dev/null differ
diff --git a/docs/_pics/mcard/m_8.png b/docs/_pics/mcard/m_8.png
deleted file mode 100644
index 7eb26665..00000000
Binary files a/docs/_pics/mcard/m_8.png and /dev/null differ
diff --git a/docs/_pics/mcard/m_9.png b/docs/_pics/mcard/m_9.png
deleted file mode 100644
index 6577b921..00000000
Binary files a/docs/_pics/mcard/m_9.png and /dev/null differ
diff --git a/docs/_pics/others/class_loader.png b/docs/_pics/others/class_loader.png
deleted file mode 100644
index e6dedf9f..00000000
Binary files a/docs/_pics/others/class_loader.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/aqs_1.png b/docs/_pics/pics/blog/aqs_1.png
deleted file mode 100644
index 3e42b225..00000000
Binary files a/docs/_pics/pics/blog/aqs_1.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/aqs_10.png b/docs/_pics/pics/blog/aqs_10.png
deleted file mode 100644
index 15320c5e..00000000
Binary files a/docs/_pics/pics/blog/aqs_10.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/aqs_11.png b/docs/_pics/pics/blog/aqs_11.png
deleted file mode 100644
index 5bdb9cd5..00000000
Binary files a/docs/_pics/pics/blog/aqs_11.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/aqs_12.png b/docs/_pics/pics/blog/aqs_12.png
deleted file mode 100644
index 3f7073ec..00000000
Binary files a/docs/_pics/pics/blog/aqs_12.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/aqs_2.png b/docs/_pics/pics/blog/aqs_2.png
deleted file mode 100644
index 12b7530b..00000000
Binary files a/docs/_pics/pics/blog/aqs_2.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/aqs_3.png b/docs/_pics/pics/blog/aqs_3.png
deleted file mode 100644
index 7b41eae2..00000000
Binary files a/docs/_pics/pics/blog/aqs_3.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/aqs_4.png b/docs/_pics/pics/blog/aqs_4.png
deleted file mode 100644
index 8d85dd73..00000000
Binary files a/docs/_pics/pics/blog/aqs_4.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/aqs_5.png b/docs/_pics/pics/blog/aqs_5.png
deleted file mode 100644
index 57ba383d..00000000
Binary files a/docs/_pics/pics/blog/aqs_5.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/aqs_6.png b/docs/_pics/pics/blog/aqs_6.png
deleted file mode 100644
index 374011f0..00000000
Binary files a/docs/_pics/pics/blog/aqs_6.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/aqs_7.png b/docs/_pics/pics/blog/aqs_7.png
deleted file mode 100644
index 57b1e46e..00000000
Binary files a/docs/_pics/pics/blog/aqs_7.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/aqs_8.png b/docs/_pics/pics/blog/aqs_8.png
deleted file mode 100644
index a55c11df..00000000
Binary files a/docs/_pics/pics/blog/aqs_8.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/aqs_9.png b/docs/_pics/pics/blog/aqs_9.png
deleted file mode 100644
index 7490cab2..00000000
Binary files a/docs/_pics/pics/blog/aqs_9.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/b_1.png b/docs/_pics/pics/blog/b_1.png
deleted file mode 100644
index 4023ab87..00000000
Binary files a/docs/_pics/pics/blog/b_1.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/h_1.png b/docs/_pics/pics/blog/h_1.png
deleted file mode 100644
index 2e53fbe3..00000000
Binary files a/docs/_pics/pics/blog/h_1.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/h_2.png b/docs/_pics/pics/blog/h_2.png
deleted file mode 100644
index eea3c6b4..00000000
Binary files a/docs/_pics/pics/blog/h_2.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/k_1.png b/docs/_pics/pics/blog/k_1.png
deleted file mode 100644
index 68631bd0..00000000
Binary files a/docs/_pics/pics/blog/k_1.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/k_2.png b/docs/_pics/pics/blog/k_2.png
deleted file mode 100644
index 1ee37ac4..00000000
Binary files a/docs/_pics/pics/blog/k_2.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/ka_1.png b/docs/_pics/pics/blog/ka_1.png
deleted file mode 100644
index 771cdb8d..00000000
Binary files a/docs/_pics/pics/blog/ka_1.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/ka_2.png b/docs/_pics/pics/blog/ka_2.png
deleted file mode 100644
index d50b6047..00000000
Binary files a/docs/_pics/pics/blog/ka_2.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/ka_3.png b/docs/_pics/pics/blog/ka_3.png
deleted file mode 100644
index 1bdee84d..00000000
Binary files a/docs/_pics/pics/blog/ka_3.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/ka_4.png b/docs/_pics/pics/blog/ka_4.png
deleted file mode 100644
index 6df6b9e6..00000000
Binary files a/docs/_pics/pics/blog/ka_4.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/key_1.png b/docs/_pics/pics/blog/key_1.png
deleted file mode 100644
index e3a9bf9b..00000000
Binary files a/docs/_pics/pics/blog/key_1.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/key_2.png b/docs/_pics/pics/blog/key_2.png
deleted file mode 100644
index 950eca00..00000000
Binary files a/docs/_pics/pics/blog/key_2.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/key_3.png b/docs/_pics/pics/blog/key_3.png
deleted file mode 100644
index 4031c097..00000000
Binary files a/docs/_pics/pics/blog/key_3.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/key_4.png b/docs/_pics/pics/blog/key_4.png
deleted file mode 100644
index 7427cc43..00000000
Binary files a/docs/_pics/pics/blog/key_4.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/key_5.png b/docs/_pics/pics/blog/key_5.png
deleted file mode 100644
index 0280a2af..00000000
Binary files a/docs/_pics/pics/blog/key_5.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/key_6.png b/docs/_pics/pics/blog/key_6.png
deleted file mode 100644
index dfeeb327..00000000
Binary files a/docs/_pics/pics/blog/key_6.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/lp_1.png b/docs/_pics/pics/blog/lp_1.png
deleted file mode 100644
index c7e7974f..00000000
Binary files a/docs/_pics/pics/blog/lp_1.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/m_1.jpg b/docs/_pics/pics/blog/m_1.jpg
deleted file mode 100644
index 3692acbd..00000000
Binary files a/docs/_pics/pics/blog/m_1.jpg and /dev/null differ
diff --git a/docs/_pics/pics/blog/m_1.png b/docs/_pics/pics/blog/m_1.png
deleted file mode 100644
index 9392717b..00000000
Binary files a/docs/_pics/pics/blog/m_1.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/m_2.jpg b/docs/_pics/pics/blog/m_2.jpg
deleted file mode 100644
index 5c68f854..00000000
Binary files a/docs/_pics/pics/blog/m_2.jpg and /dev/null differ
diff --git a/docs/_pics/pics/blog/m_2.png b/docs/_pics/pics/blog/m_2.png
deleted file mode 100644
index 7896512a..00000000
Binary files a/docs/_pics/pics/blog/m_2.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/m_3.jpg b/docs/_pics/pics/blog/m_3.jpg
deleted file mode 100644
index 84a35441..00000000
Binary files a/docs/_pics/pics/blog/m_3.jpg and /dev/null differ
diff --git a/docs/_pics/pics/blog/m_4.jpg b/docs/_pics/pics/blog/m_4.jpg
deleted file mode 100644
index ed052b83..00000000
Binary files a/docs/_pics/pics/blog/m_4.jpg and /dev/null differ
diff --git a/docs/_pics/pics/blog/m_5.png b/docs/_pics/pics/blog/m_5.png
deleted file mode 100644
index 7775f0b6..00000000
Binary files a/docs/_pics/pics/blog/m_5.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/ms_1.png b/docs/_pics/pics/blog/ms_1.png
deleted file mode 100644
index 21240d2d..00000000
Binary files a/docs/_pics/pics/blog/ms_1.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/net_1.jpg b/docs/_pics/pics/blog/net_1.jpg
deleted file mode 100644
index 13b609a4..00000000
Binary files a/docs/_pics/pics/blog/net_1.jpg and /dev/null differ
diff --git a/docs/_pics/pics/blog/s_1.png b/docs/_pics/pics/blog/s_1.png
deleted file mode 100644
index c0d478af..00000000
Binary files a/docs/_pics/pics/blog/s_1.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/s_2.png b/docs/_pics/pics/blog/s_2.png
deleted file mode 100644
index 07a127ac..00000000
Binary files a/docs/_pics/pics/blog/s_2.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/s_3.png b/docs/_pics/pics/blog/s_3.png
deleted file mode 100644
index 6a99dd76..00000000
Binary files a/docs/_pics/pics/blog/s_3.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/s_4.png b/docs/_pics/pics/blog/s_4.png
deleted file mode 100644
index 33189c0b..00000000
Binary files a/docs/_pics/pics/blog/s_4.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/s_5.png b/docs/_pics/pics/blog/s_5.png
deleted file mode 100644
index d841a621..00000000
Binary files a/docs/_pics/pics/blog/s_5.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/s_6.png b/docs/_pics/pics/blog/s_6.png
deleted file mode 100644
index 42895a69..00000000
Binary files a/docs/_pics/pics/blog/s_6.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/s_7.png b/docs/_pics/pics/blog/s_7.png
deleted file mode 100644
index d92ba074..00000000
Binary files a/docs/_pics/pics/blog/s_7.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/s_8.png b/docs/_pics/pics/blog/s_8.png
deleted file mode 100644
index 6153c579..00000000
Binary files a/docs/_pics/pics/blog/s_8.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/s_9.png b/docs/_pics/pics/blog/s_9.png
deleted file mode 100644
index d32a9e84..00000000
Binary files a/docs/_pics/pics/blog/s_9.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/trie_1.png b/docs/_pics/pics/blog/trie_1.png
deleted file mode 100644
index 40a7e2db..00000000
Binary files a/docs/_pics/pics/blog/trie_1.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/trie_2.png b/docs/_pics/pics/blog/trie_2.png
deleted file mode 100644
index a80cdb79..00000000
Binary files a/docs/_pics/pics/blog/trie_2.png and /dev/null differ
diff --git a/docs/_pics/pics/blog/zky_1.jpg b/docs/_pics/pics/blog/zky_1.jpg
deleted file mode 100644
index c51cb947..00000000
Binary files a/docs/_pics/pics/blog/zky_1.jpg and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/051e436c-0e46-4c59-8f67-52d89d656182.png b/docs/_pics/pics/concurrent/051e436c-0e46-4c59-8f67-52d89d656182.png
deleted file mode 100644
index e3054539..00000000
Binary files a/docs/_pics/pics/concurrent/051e436c-0e46-4c59-8f67-52d89d656182.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/066f9c11-0154-42c3-8685-301a70e9bd39.jpg b/docs/_pics/pics/concurrent/066f9c11-0154-42c3-8685-301a70e9bd39.jpg
deleted file mode 100644
index 84d371b8..00000000
Binary files a/docs/_pics/pics/concurrent/066f9c11-0154-42c3-8685-301a70e9bd39.jpg and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/3144015c-dcfb-47ac-94a5-bab3b78b0f14.jpg b/docs/_pics/pics/concurrent/3144015c-dcfb-47ac-94a5-bab3b78b0f14.jpg
deleted file mode 100644
index a805e7f9..00000000
Binary files a/docs/_pics/pics/concurrent/3144015c-dcfb-47ac-94a5-bab3b78b0f14.jpg and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/390c913b-5f31-444f-bbdb-2b88b688e7ce.jpg b/docs/_pics/pics/concurrent/390c913b-5f31-444f-bbdb-2b88b688e7ce.jpg
deleted file mode 100644
index 78eb732b..00000000
Binary files a/docs/_pics/pics/concurrent/390c913b-5f31-444f-bbdb-2b88b688e7ce.jpg and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/54e6d499-80df-488e-aa7e-081766c41538.jpg b/docs/_pics/pics/concurrent/54e6d499-80df-488e-aa7e-081766c41538.jpg
deleted file mode 100644
index 0ffa2a5b..00000000
Binary files a/docs/_pics/pics/concurrent/54e6d499-80df-488e-aa7e-081766c41538.jpg and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/5e6e05d6-1028-4f5c-b9bd-1a40b90d6070.jpg b/docs/_pics/pics/concurrent/5e6e05d6-1028-4f5c-b9bd-1a40b90d6070.jpg
deleted file mode 100644
index f2a6c03a..00000000
Binary files a/docs/_pics/pics/concurrent/5e6e05d6-1028-4f5c-b9bd-1a40b90d6070.jpg and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/8162aebb-8fd2-4620-b771-e65751ba7e41.png b/docs/_pics/pics/concurrent/8162aebb-8fd2-4620-b771-e65751ba7e41.png
deleted file mode 100644
index 2fa69582..00000000
Binary files a/docs/_pics/pics/concurrent/8162aebb-8fd2-4620-b771-e65751ba7e41.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/847b9ba1-b3cd-4e52-aa72-dee0222ae09f.jpg b/docs/_pics/pics/concurrent/847b9ba1-b3cd-4e52-aa72-dee0222ae09f.jpg
deleted file mode 100644
index c68fd3ef..00000000
Binary files a/docs/_pics/pics/concurrent/847b9ba1-b3cd-4e52-aa72-dee0222ae09f.jpg and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/912a7886-fb1d-4a05-902d-ab17ea17007f.jpg b/docs/_pics/pics/concurrent/912a7886-fb1d-4a05-902d-ab17ea17007f.jpg
deleted file mode 100644
index e30c6908..00000000
Binary files a/docs/_pics/pics/concurrent/912a7886-fb1d-4a05-902d-ab17ea17007f.jpg and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/94414cd3-5db9-4aca-a2af-539140955c62.jpg b/docs/_pics/pics/concurrent/94414cd3-5db9-4aca-a2af-539140955c62.jpg
deleted file mode 100644
index 5c53d38b..00000000
Binary files a/docs/_pics/pics/concurrent/94414cd3-5db9-4aca-a2af-539140955c62.jpg and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/96706658-b3f8-4f32-8eb3-dcb7fc8d5381.jpg b/docs/_pics/pics/concurrent/96706658-b3f8-4f32-8eb3-dcb7fc8d5381.jpg
deleted file mode 100644
index c4e77ba1..00000000
Binary files a/docs/_pics/pics/concurrent/96706658-b3f8-4f32-8eb3-dcb7fc8d5381.jpg and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/b6a7e8af-91bf-44b2-8874-ccc6d9d52afc.jpg b/docs/_pics/pics/concurrent/b6a7e8af-91bf-44b2-8874-ccc6d9d52afc.jpg
deleted file mode 100644
index 96b80deb..00000000
Binary files a/docs/_pics/pics/concurrent/b6a7e8af-91bf-44b2-8874-ccc6d9d52afc.jpg and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/baaa681f-7c52-4198-a5ae-303b9386cf47.png b/docs/_pics/pics/concurrent/baaa681f-7c52-4198-a5ae-303b9386cf47.png
deleted file mode 100644
index 6664d398..00000000
Binary files a/docs/_pics/pics/concurrent/baaa681f-7c52-4198-a5ae-303b9386cf47.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/bb6a49be-00f2-4f27-a0ce-4ed764bc605c.png b/docs/_pics/pics/concurrent/bb6a49be-00f2-4f27-a0ce-4ed764bc605c.png
deleted file mode 100644
index 07d8692d..00000000
Binary files a/docs/_pics/pics/concurrent/bb6a49be-00f2-4f27-a0ce-4ed764bc605c.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/bc5826f5-014d-47b4-9a76-d86b80968643.jpg b/docs/_pics/pics/concurrent/bc5826f5-014d-47b4-9a76-d86b80968643.jpg
deleted file mode 100644
index b27cd02f..00000000
Binary files a/docs/_pics/pics/concurrent/bc5826f5-014d-47b4-9a76-d86b80968643.jpg and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_1.png b/docs/_pics/pics/concurrent/c_1.png
deleted file mode 100644
index 30910c3a..00000000
Binary files a/docs/_pics/pics/concurrent/c_1.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_10.png b/docs/_pics/pics/concurrent/c_10.png
deleted file mode 100644
index 7356cf7c..00000000
Binary files a/docs/_pics/pics/concurrent/c_10.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_11.png b/docs/_pics/pics/concurrent/c_11.png
deleted file mode 100644
index d8b6778c..00000000
Binary files a/docs/_pics/pics/concurrent/c_11.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_12.png b/docs/_pics/pics/concurrent/c_12.png
deleted file mode 100644
index ba59e5f7..00000000
Binary files a/docs/_pics/pics/concurrent/c_12.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_13.png b/docs/_pics/pics/concurrent/c_13.png
deleted file mode 100644
index f825ab24..00000000
Binary files a/docs/_pics/pics/concurrent/c_13.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_14.png b/docs/_pics/pics/concurrent/c_14.png
deleted file mode 100644
index eded5fe7..00000000
Binary files a/docs/_pics/pics/concurrent/c_14.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_15.png b/docs/_pics/pics/concurrent/c_15.png
deleted file mode 100644
index 7a704f2d..00000000
Binary files a/docs/_pics/pics/concurrent/c_15.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_16.png b/docs/_pics/pics/concurrent/c_16.png
deleted file mode 100644
index 7417cbad..00000000
Binary files a/docs/_pics/pics/concurrent/c_16.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_17.png b/docs/_pics/pics/concurrent/c_17.png
deleted file mode 100644
index 469916fb..00000000
Binary files a/docs/_pics/pics/concurrent/c_17.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_18.png b/docs/_pics/pics/concurrent/c_18.png
deleted file mode 100644
index e90c55bc..00000000
Binary files a/docs/_pics/pics/concurrent/c_18.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_19.png b/docs/_pics/pics/concurrent/c_19.png
deleted file mode 100644
index fffc0dc3..00000000
Binary files a/docs/_pics/pics/concurrent/c_19.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_2.png b/docs/_pics/pics/concurrent/c_2.png
deleted file mode 100644
index d5f7564c..00000000
Binary files a/docs/_pics/pics/concurrent/c_2.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_20.png b/docs/_pics/pics/concurrent/c_20.png
deleted file mode 100644
index e23da54e..00000000
Binary files a/docs/_pics/pics/concurrent/c_20.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_21.png b/docs/_pics/pics/concurrent/c_21.png
deleted file mode 100644
index 71556948..00000000
Binary files a/docs/_pics/pics/concurrent/c_21.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_22.png b/docs/_pics/pics/concurrent/c_22.png
deleted file mode 100644
index 032269ec..00000000
Binary files a/docs/_pics/pics/concurrent/c_22.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_23.png b/docs/_pics/pics/concurrent/c_23.png
deleted file mode 100644
index 90065cc5..00000000
Binary files a/docs/_pics/pics/concurrent/c_23.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_24.png b/docs/_pics/pics/concurrent/c_24.png
deleted file mode 100644
index f9685021..00000000
Binary files a/docs/_pics/pics/concurrent/c_24.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_3.png b/docs/_pics/pics/concurrent/c_3.png
deleted file mode 100644
index 079f2c70..00000000
Binary files a/docs/_pics/pics/concurrent/c_3.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_4.png b/docs/_pics/pics/concurrent/c_4.png
deleted file mode 100644
index 267d5b5d..00000000
Binary files a/docs/_pics/pics/concurrent/c_4.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_5.png b/docs/_pics/pics/concurrent/c_5.png
deleted file mode 100644
index 7b46cdd4..00000000
Binary files a/docs/_pics/pics/concurrent/c_5.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_6.png b/docs/_pics/pics/concurrent/c_6.png
deleted file mode 100644
index 0be9ad77..00000000
Binary files a/docs/_pics/pics/concurrent/c_6.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_7.png b/docs/_pics/pics/concurrent/c_7.png
deleted file mode 100644
index c81810a8..00000000
Binary files a/docs/_pics/pics/concurrent/c_7.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_8.png b/docs/_pics/pics/concurrent/c_8.png
deleted file mode 100644
index 53a32162..00000000
Binary files a/docs/_pics/pics/concurrent/c_8.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/c_9.png b/docs/_pics/pics/concurrent/c_9.png
deleted file mode 100644
index 8d798968..00000000
Binary files a/docs/_pics/pics/concurrent/c_9.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/d2a12961-2b36-4463-b017-ca46a3308b8e.png b/docs/_pics/pics/concurrent/d2a12961-2b36-4463-b017-ca46a3308b8e.png
deleted file mode 100644
index ce6663bc..00000000
Binary files a/docs/_pics/pics/concurrent/d2a12961-2b36-4463-b017-ca46a3308b8e.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/de9d8133-4c98-4e07-b39c-302e162784ea.jpg b/docs/_pics/pics/concurrent/de9d8133-4c98-4e07-b39c-302e162784ea.jpg
deleted file mode 100644
index 4a923dd8..00000000
Binary files a/docs/_pics/pics/concurrent/de9d8133-4c98-4e07-b39c-302e162784ea.jpg and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/e19452dd-220a-4a6b-bcb0-91ad5e5c4706.png b/docs/_pics/pics/concurrent/e19452dd-220a-4a6b-bcb0-91ad5e5c4706.png
deleted file mode 100644
index c21e9af2..00000000
Binary files a/docs/_pics/pics/concurrent/e19452dd-220a-4a6b-bcb0-91ad5e5c4706.png and /dev/null differ
diff --git a/docs/_pics/pics/concurrent/f944fac3-482b-4ca3-9447-17aec4a3cca0.png b/docs/_pics/pics/concurrent/f944fac3-482b-4ca3-9447-17aec4a3cca0.png
deleted file mode 100644
index 56f05611..00000000
Binary files a/docs/_pics/pics/concurrent/f944fac3-482b-4ca3-9447-17aec4a3cca0.png and /dev/null differ
diff --git a/docs/_pics/redis/0ea37ee2-c224-4c79-b895-e131c6805c40.png b/docs/_pics/redis/0ea37ee2-c224-4c79-b895-e131c6805c40.png
deleted file mode 100644
index 837088e8..00000000
Binary files a/docs/_pics/redis/0ea37ee2-c224-4c79-b895-e131c6805c40.png and /dev/null differ
diff --git a/docs/_pics/redis/1202b2d6-9469-4251-bd47-ca6034fb6116.png b/docs/_pics/redis/1202b2d6-9469-4251-bd47-ca6034fb6116.png
deleted file mode 100644
index 0db77ec4..00000000
Binary files a/docs/_pics/redis/1202b2d6-9469-4251-bd47-ca6034fb6116.png and /dev/null differ
diff --git a/docs/_pics/redis/395a9e83-b1a1-4a1d-b170-d081e7bb5bab.png b/docs/_pics/redis/395a9e83-b1a1-4a1d-b170-d081e7bb5bab.png
deleted file mode 100644
index 4f3d0ccd..00000000
Binary files a/docs/_pics/redis/395a9e83-b1a1-4a1d-b170-d081e7bb5bab.png and /dev/null differ
diff --git a/docs/_pics/redis/485fdf34-ccf8-4185-97c6-17374ee719a0.png b/docs/_pics/redis/485fdf34-ccf8-4185-97c6-17374ee719a0.png
deleted file mode 100644
index 7f842458..00000000
Binary files a/docs/_pics/redis/485fdf34-ccf8-4185-97c6-17374ee719a0.png and /dev/null differ
diff --git a/docs/_pics/redis/6019b2db-bc3e-4408-b6d8-96025f4481d6.png b/docs/_pics/redis/6019b2db-bc3e-4408-b6d8-96025f4481d6.png
deleted file mode 100644
index 79388c09..00000000
Binary files a/docs/_pics/redis/6019b2db-bc3e-4408-b6d8-96025f4481d6.png and /dev/null differ
diff --git a/docs/_pics/redis/7bd202a7-93d4-4f3a-a878-af68ae25539a.png b/docs/_pics/redis/7bd202a7-93d4-4f3a-a878-af68ae25539a.png
deleted file mode 100644
index d325c907..00000000
Binary files a/docs/_pics/redis/7bd202a7-93d4-4f3a-a878-af68ae25539a.png and /dev/null differ
diff --git a/docs/_pics/redis/7c54de21-e2ff-402e-bc42-4037de1c1592.png b/docs/_pics/redis/7c54de21-e2ff-402e-bc42-4037de1c1592.png
deleted file mode 100644
index 5f493376..00000000
Binary files a/docs/_pics/redis/7c54de21-e2ff-402e-bc42-4037de1c1592.png and /dev/null differ
diff --git a/docs/_pics/redis/9ea86eb5-000a-4281-b948-7b567bd6f1d8.png b/docs/_pics/redis/9ea86eb5-000a-4281-b948-7b567bd6f1d8.png
deleted file mode 100644
index 61717a26..00000000
Binary files a/docs/_pics/redis/9ea86eb5-000a-4281-b948-7b567bd6f1d8.png and /dev/null differ
diff --git a/docs/_pics/redis/beba612e-dc5b-4fc2-869d-0b23408ac90a.png b/docs/_pics/redis/beba612e-dc5b-4fc2-869d-0b23408ac90a.png
deleted file mode 100644
index 158015bc..00000000
Binary files a/docs/_pics/redis/beba612e-dc5b-4fc2-869d-0b23408ac90a.png and /dev/null differ
diff --git a/docs/_pics/redis/c0a9fa91-da2e-4892-8c9f-80206a6f7047.png b/docs/_pics/redis/c0a9fa91-da2e-4892-8c9f-80206a6f7047.png
deleted file mode 100644
index 14c225b3..00000000
Binary files a/docs/_pics/redis/c0a9fa91-da2e-4892-8c9f-80206a6f7047.png and /dev/null differ
diff --git a/docs/_pics/redis/cd5fbcff-3f35-43a6-8ffa-082a93ce0f0e.png b/docs/_pics/redis/cd5fbcff-3f35-43a6-8ffa-082a93ce0f0e.png
deleted file mode 100644
index b721cc0a..00000000
Binary files a/docs/_pics/redis/cd5fbcff-3f35-43a6-8ffa-082a93ce0f0e.png and /dev/null differ
diff --git a/docs/_pics/redis/f7d170a3-e446-4a64-ac2d-cb95028f81a8.png b/docs/_pics/redis/f7d170a3-e446-4a64-ac2d-cb95028f81a8.png
deleted file mode 100644
index ccc91793..00000000
Binary files a/docs/_pics/redis/f7d170a3-e446-4a64-ac2d-cb95028f81a8.png and /dev/null differ
diff --git a/docs/_pics/redis/fb327611-7e2b-4f2f-9f5b-38592d408f07.png b/docs/_pics/redis/fb327611-7e2b-4f2f-9f5b-38592d408f07.png
deleted file mode 100644
index 774ecf10..00000000
Binary files a/docs/_pics/redis/fb327611-7e2b-4f2f-9f5b-38592d408f07.png and /dev/null differ
diff --git a/docs/_pics/redis/r_1.png b/docs/_pics/redis/r_1.png
deleted file mode 100644
index 8b7b822a..00000000
Binary files a/docs/_pics/redis/r_1.png and /dev/null differ
diff --git a/docs/_pics/redis/r_10.png b/docs/_pics/redis/r_10.png
deleted file mode 100644
index a5ce5187..00000000
Binary files a/docs/_pics/redis/r_10.png and /dev/null differ
diff --git a/docs/_pics/redis/r_11.jpg b/docs/_pics/redis/r_11.jpg
deleted file mode 100644
index 3b506337..00000000
Binary files a/docs/_pics/redis/r_11.jpg and /dev/null differ
diff --git a/docs/_pics/redis/r_12.jpg b/docs/_pics/redis/r_12.jpg
deleted file mode 100644
index e6d88249..00000000
Binary files a/docs/_pics/redis/r_12.jpg and /dev/null differ
diff --git a/docs/_pics/redis/r_13.jpg b/docs/_pics/redis/r_13.jpg
deleted file mode 100644
index dcbd3ef0..00000000
Binary files a/docs/_pics/redis/r_13.jpg and /dev/null differ
diff --git a/docs/_pics/redis/r_14.jpg b/docs/_pics/redis/r_14.jpg
deleted file mode 100644
index 6d2fd9fd..00000000
Binary files a/docs/_pics/redis/r_14.jpg and /dev/null differ
diff --git a/docs/_pics/redis/r_15.jpg b/docs/_pics/redis/r_15.jpg
deleted file mode 100644
index 68fc7d4e..00000000
Binary files a/docs/_pics/redis/r_15.jpg and /dev/null differ
diff --git a/docs/_pics/redis/r_16.jpg b/docs/_pics/redis/r_16.jpg
deleted file mode 100644
index 9d839eea..00000000
Binary files a/docs/_pics/redis/r_16.jpg and /dev/null differ
diff --git a/docs/_pics/redis/r_17.jpg b/docs/_pics/redis/r_17.jpg
deleted file mode 100644
index c7a91ab4..00000000
Binary files a/docs/_pics/redis/r_17.jpg and /dev/null differ
diff --git a/docs/_pics/redis/r_18.jpg b/docs/_pics/redis/r_18.jpg
deleted file mode 100644
index e0dd6416..00000000
Binary files a/docs/_pics/redis/r_18.jpg and /dev/null differ
diff --git a/docs/_pics/redis/r_19.png b/docs/_pics/redis/r_19.png
deleted file mode 100644
index 898361b9..00000000
Binary files a/docs/_pics/redis/r_19.png and /dev/null differ
diff --git a/docs/_pics/redis/r_2.png b/docs/_pics/redis/r_2.png
deleted file mode 100644
index 24d19da1..00000000
Binary files a/docs/_pics/redis/r_2.png and /dev/null differ
diff --git a/docs/_pics/redis/r_3.png b/docs/_pics/redis/r_3.png
deleted file mode 100644
index a61f2337..00000000
Binary files a/docs/_pics/redis/r_3.png and /dev/null differ
diff --git a/docs/_pics/redis/r_4.png b/docs/_pics/redis/r_4.png
deleted file mode 100644
index 7c915784..00000000
Binary files a/docs/_pics/redis/r_4.png and /dev/null differ
diff --git a/docs/_pics/redis/r_5.png b/docs/_pics/redis/r_5.png
deleted file mode 100644
index bc3a2997..00000000
Binary files a/docs/_pics/redis/r_5.png and /dev/null differ
diff --git a/docs/_pics/redis/r_6.png b/docs/_pics/redis/r_6.png
deleted file mode 100644
index 6144c24b..00000000
Binary files a/docs/_pics/redis/r_6.png and /dev/null differ
diff --git a/docs/_pics/redis/r_7.png b/docs/_pics/redis/r_7.png
deleted file mode 100644
index ad4eb80b..00000000
Binary files a/docs/_pics/redis/r_7.png and /dev/null differ
diff --git a/docs/_pics/redis/r_8.png b/docs/_pics/redis/r_8.png
deleted file mode 100644
index 055bf629..00000000
Binary files a/docs/_pics/redis/r_8.png and /dev/null differ
diff --git a/docs/_pics/redis/r_9.png b/docs/_pics/redis/r_9.png
deleted file mode 100644
index b7e58eb3..00000000
Binary files a/docs/_pics/redis/r_9.png and /dev/null differ
diff --git a/docs/_pics/redis/redis_1.png b/docs/_pics/redis/redis_1.png
deleted file mode 100644
index 1fc9381d..00000000
Binary files a/docs/_pics/redis/redis_1.png and /dev/null differ
diff --git a/docs/_pics/redis/redis_2.png b/docs/_pics/redis/redis_2.png
deleted file mode 100644
index 4499813b..00000000
Binary files a/docs/_pics/redis/redis_2.png and /dev/null differ
diff --git a/docs/_pics/redis/redis_3.png b/docs/_pics/redis/redis_3.png
deleted file mode 100644
index 140d3628..00000000
Binary files a/docs/_pics/redis/redis_3.png and /dev/null differ
diff --git a/docs/_pics/redis/redis_4.png b/docs/_pics/redis/redis_4.png
deleted file mode 100644
index 66d618b0..00000000
Binary files a/docs/_pics/redis/redis_4.png and /dev/null differ
diff --git a/docs/_pics/redis/redis_5.png b/docs/_pics/redis/redis_5.png
deleted file mode 100644
index 7e4c94fc..00000000
Binary files a/docs/_pics/redis/redis_5.png and /dev/null differ
diff --git a/docs/_pics/redis/redis_6.png b/docs/_pics/redis/redis_6.png
deleted file mode 100644
index 0acc4624..00000000
Binary files a/docs/_pics/redis/redis_6.png and /dev/null differ
diff --git a/docs/_pics/redis/redis_7.png b/docs/_pics/redis/redis_7.png
deleted file mode 100644
index 95eb0858..00000000
Binary files a/docs/_pics/redis/redis_7.png and /dev/null differ
diff --git a/docs/_pics/redis/redis_8.png b/docs/_pics/redis/redis_8.png
deleted file mode 100644
index 17674dac..00000000
Binary files a/docs/_pics/redis/redis_8.png and /dev/null differ
diff --git a/docs/_pics/redis/redis_9.png b/docs/_pics/redis/redis_9.png
deleted file mode 100644
index 72d349ae..00000000
Binary files a/docs/_pics/redis/redis_9.png and /dev/null differ
diff --git a/docs/_pics/xyjy.png b/docs/_pics/xyjy.png
deleted file mode 100644
index 015e315b..00000000
Binary files a/docs/_pics/xyjy.png and /dev/null differ
diff --git a/docs/_pics/zookeeper/z_2.png b/docs/_pics/zookeeper/z_2.png
deleted file mode 100644
index cf8a5923..00000000
Binary files a/docs/_pics/zookeeper/z_2.png and /dev/null differ
diff --git a/docs/_pics/zookeeper/z_3.png b/docs/_pics/zookeeper/z_3.png
deleted file mode 100644
index 65956b97..00000000
Binary files a/docs/_pics/zookeeper/z_3.png and /dev/null differ
diff --git a/docs/_pics/zookeeper/z_4.png b/docs/_pics/zookeeper/z_4.png
deleted file mode 100644
index 716297ef..00000000
Binary files a/docs/_pics/zookeeper/z_4.png and /dev/null differ
diff --git a/docs/_pics/zookeeper/z_5.jpg b/docs/_pics/zookeeper/z_5.jpg
deleted file mode 100644
index aba9c7e5..00000000
Binary files a/docs/_pics/zookeeper/z_5.jpg and /dev/null differ
diff --git a/docs/_pics/zookeeper/z_6.jpg b/docs/_pics/zookeeper/z_6.jpg
deleted file mode 100644
index 24b8a8f1..00000000
Binary files a/docs/_pics/zookeeper/z_6.jpg and /dev/null differ
diff --git "a/docs/cache/1_347円274円223円345円255円230円351円234円200円350円246円201円350円200円203円350円231円221円347円232円204円351円227円256円351円242円230円.md" "b/docs/cache/1_347円274円223円345円255円230円351円234円200円350円246円201円350円200円203円350円231円221円347円232円204円351円227円256円351円242円230円.md"
new file mode 100644
index 00000000..cb9b1194
--- /dev/null
+++ "b/docs/cache/1_347円274円223円345円255円230円351円234円200円350円246円201円350円200円203円350円231円221円347円232円204円351円227円256円351円242円230円.md"
@@ -0,0 +1,54 @@
+# 缓存需要考虑的问题
+
+## 缓存命中率
+
+当某个请求能够通过访问缓存而得到响应时,称为缓存命中。缓存命中率越高,缓存的利用率也就越高。
+
+## 最大空间
+
+缓存通常位于**内存**中,内存的空间通常比磁盘空间小的多,因此缓存的最大空间不可能非常大。当缓存存放的数据量超过最大空间时,就需要**淘汰部分数据**来存放新到达的数据。常见的数据淘汰策略:
+
+- FIFO(First In First Out)
+
+ FIFO 即先进先出策略,在实时性的场景下,需要经常访问最新的数据,那么就可以使用 FIFO,使得最先进入的数据(最晚的数据)被淘汰。
+
+- LRU(Least Recently Used)
+
+ LRU 即最近最久未使用策略,优先淘汰最久未使用的数据,也就是上次被访问时间距离现在最久的数据。该策略可以保证内存中的数据都是热点数据,也就是经常被访问的数据,从而保证缓存命中率。
+
+- LFU(Least Frequently Used)
+
+ LFU 即最不经常使用策略,优先淘汰一段时间内使用次数最少的数据。
+
+## 缓存位置
+
+缓存位置一般有:
+
+- 浏览器
+
+ 当 HTTP 响应允许进行缓存时,浏览器会将 HTML、CSS、JavaScript、图片等静态资源进行缓存。
+
+- 反向代理
+
+ 反向代理**位于服务器之前**,请求与响应都需要经过反向代理。通过将数据缓存在反向代理,在用户请求反向代理时就可以直接使用缓存进行响应。
+
+- 本地缓存
+
+ 使用 Guava Cache 将数据缓存在服务器本地内存中,服务器代码可以直接读取本地内存中的缓存,速度非常快。
+
+- 分布式缓存
+
+ 使用 **Redis、Memcache** 等分布式缓存将数据缓存在分布式缓存系统中。相对于本地缓存来说,分布式缓存单独部署,可以根据需求分配硬件资源。不仅如此,服务器集群都可以访问分布式缓存,而本地缓存需要在服务器集群之间进行同步,实现难度和性能开销上都非常大。
+
+- 数据库缓存
+
+ MySQL 等数据库管理系统具有自己的查询缓存机制来提高查询效率。
+
+- CPU 多级缓存
+
+ CPU 为了解决运算速度与主存 IO 速度不匹配的问题,引入了多级缓存结构,同时使用 MESI 等缓存一致性协议来解决多核 CPU 缓存数据一致性的问题。
+
+- Java 内部的缓存
+
+ Java 为了优化空间,提高字符串、基本数据类型包装类的创建效率,设计了字符串常量池及 Byte、Short、Character、Integer、Long、Boolean 这六种包装类缓冲池。
+
diff --git "a/docs/cache/2_347円274円223円345円255円230円345円270円270円350円247円201円351円227円256円351円242円230円.md" "b/docs/cache/2_347円274円223円345円255円230円345円270円270円350円247円201円351円227円256円351円242円230円.md"
new file mode 100644
index 00000000..2702d9ef
--- /dev/null
+++ "b/docs/cache/2_347円274円223円345円255円230円345円270円270円350円247円201円351円227円256円351円242円230円.md"
@@ -0,0 +1,45 @@
+# 缓存常见问题
+
+## 缓存穿透
+
+指的是对某个一定不存在的数据进行请求,该请求将会穿透缓存到达数据库。
+
+解决方案:
+
+- 对这些不存在的数据缓存一个空数据;
+- 对这类请求进行过滤。
+
+## 缓存雪崩
+
+指的是由于数据没有被加载到缓存中,或者缓存数据在同一时间大面积失效(过期),又或者缓存服务器宕机,导致大量的请求都到达数据库。
+
+在有缓存的系统中,系统非常依赖于缓存,缓存分担了很大一部分的数据请求。当发生缓存雪崩时,数据库无法处理这么大的请求,导致数据库崩溃。
+
+解决方案:
+
+- 为了防止缓存在同一时间大面积过期导致的缓存雪崩,可以通过观察用户行为,合理设置缓存过期时间来实现;
+- 为了防止缓存服务器宕机出现的缓存雪崩,可以使用分布式缓存,分布式缓存中每一个节点只缓存部分的数据,当某个节点宕机时可以保证其它节点的缓存仍然可用。
+- 也可以进行缓存预热,避免在系统刚启动不久由于还未将大量数据进行缓存而导致缓存雪崩。
+
+## 缓存一致性
+
+缓存一致性要求数据更新的同时缓存数据也能够实时更新。
+
+解决方案:
+
+- 在数据更新的同时立即去更新缓存;
+- 在读缓存之前先判断缓存是否是最新的,如果不是最新的先进行更新。
+
+要保证缓存一致性需要付出很大的代价,缓存数据最好是那些对一致性要求不高的数据,允许缓存数据存在一些脏数据。
+
+## 缓存 "无底洞" 现象
+
+指的是为了满足业务要求添加了大量缓存节点,但是**性能不但没有好转反而下降了的现象**。
+
+产生原因:缓存系统通常采用 hash 函数将 key 映射到对应的缓存节点,随着缓存节点数目的增加,键值分布到更多的节点上,导致客户端一次批量操作会涉及多次网络操作,这意味着批量操作的耗时会随着节点数目的增加而不断增大。此外,网络连接数变多,对节点的性能也有一定影响。
+
+解决方案:
+
+- 优化批量数据操作命令;
+- 减少网络通信次数;
+- 降低接入成本,使用长连接 / 连接池,NIO 等。
\ No newline at end of file
diff --git "a/docs/cache/3_346円225円260円346円215円256円345円210円206円345円270円203円.md" "b/docs/cache/3_346円225円260円346円215円256円345円210円206円345円270円203円.md"
new file mode 100644
index 00000000..70ec2ffb
--- /dev/null
+++ "b/docs/cache/3_346円225円260円346円215円256円345円210円206円345円270円203円.md"
@@ -0,0 +1,16 @@
+# 数据分布
+
+## 哈希分布
+
+哈希分布就是将数据计算哈希值之后,按照哈希值分配到不同的节点上。例如有 N 个节点,数据的主键为 key,则将该数据分配的节点序号为:hash(key)%N。
+
+传统的哈希分布算法存在一个问题:当节点数量变化时,也就是 N 值变化,那么几乎所有的数据都需要重新分布,将导致大量的数据迁移。
+
+## 顺序分布
+
+将数据划分为多个连续的部分,按数据的 ID 或者时间分布到不同节点上。例如 User 表的 ID 范围为 1 ~ 7000,使用顺序分布可以将其划分成多个子表,对应的主键范围为 1 ~ 1000,1001 ~ 2000,...,6001 ~ 7000。
+
+顺序分布相比于哈希分布的主要优点如下:
+
+- 能保持数据原有的顺序;
+- 并且能够准确控制每台服务器存储的数据量,从而使得存储空间的利用率最大。
\ No newline at end of file
diff --git "a/docs/cluster/1_350円264円237円350円275円275円345円235円207円350円241円241円.md" "b/docs/cluster/1_350円264円237円350円275円275円345円235円207円350円241円241円.md"
new file mode 100644
index 00000000..e759cf6a
--- /dev/null
+++ "b/docs/cluster/1_350円264円237円350円275円275円345円235円207円350円241円241円.md"
@@ -0,0 +1,3 @@
+# 负载均衡
+
+待补充。
\ No newline at end of file
diff --git "a/docs/cluster/2_351円233円206円347円276円244円344円270円213円347円232円204円Session347円256円241円347円220円206円.md" "b/docs/cluster/2_351円233円206円347円276円244円344円270円213円347円232円204円Session347円256円241円347円220円206円.md"
new file mode 100644
index 00000000..2950e6c7
--- /dev/null
+++ "b/docs/cluster/2_351円233円206円347円276円244円344円270円213円347円232円204円Session347円256円241円347円220円206円.md"
@@ -0,0 +1,3 @@
+# 集群下的 Session 管理
+
+待补充。
diff --git "a/docs/distribution/1_345円210円206円345円270円203円345円274円217円347円263円273円347円273円237円350円256円276円350円256円241円347円220円206円345円277円265円.md" "b/docs/distribution/1_345円210円206円345円270円203円345円274円217円347円263円273円347円273円237円350円256円276円350円256円241円347円220円206円345円277円265円.md"
index 9b53c4bc..066c0fbe 100644
--- "a/docs/distribution/1_345円210円206円345円270円203円345円274円217円347円263円273円347円273円237円350円256円276円350円256円241円347円220円206円345円277円265円.md"
+++ "b/docs/distribution/1_345円210円206円345円270円203円345円274円217円347円263円273円347円273円237円350円256円276円350円256円241円347円220円206円345円277円265円.md"
@@ -2,6 +2,12 @@
## 目标
+分布式架构的应用十分广泛:
+
+- 分布式文件系统:比如 Hadoop 的HDFS ,Google 的 GFS,淘宝的 TFS 等。
+- 分布式缓存系统:Memcache,Hbase 等。
+- 分布式数据库:MySQL ,Mariadb,PostgreSQL 等。
+
分布式系统的目标是提升系统的**整体性能**和**吞吐量**另外还要尽量保证分布式系统的**容错性**。
## 设计思路
@@ -11,7 +17,7 @@
- 中心化
- 去中心化
-### 1. 中心化
+### 中心化
- **2 种角色**
@@ -25,7 +31,7 @@
最大问题是"领导"的安危问题,如果"领导"出了问题,则群龙无首。
-### 2. 去中心化
+### 去中心化
- **地位平等**
@@ -39,17 +45,80 @@
一般的设计思路是,当集群判断发生了脑裂问题时,规模较小的集群就"自杀"或者拒绝服务。
-## 分布式与集群
+## 基本概念
+
+### 分布式与集群
+
+**分布式指的是一个业务拆分为多个子业务,部署在不同服务器上**。比如一个电商系统,用户模块部署在 server1, 订单模块部署在 server2,促销模块部署在 server3,商品模块部署在 server4,他们之间通过远程 RPC 实现服务调用,这就叫分布式。强调的是不同功能模块,单独部署在不同的 server上,所有 server 加起来是一个完整的系统。
+
+**集群指的是同一业务,部署在多个服务器上,更多强调的是灾备**。比如一个电商系统,完整的部署在 server1 上一个,同样完整的部署在 server2 上,当 server1宕机,server2 仍然可以正常提供请求服务,这叫集群。同样对于某一功能模块,比如用户模块部署在 server1 上,同样部署在 server2 上,也叫做集群。分布式系统的每个功能模块节点,都可以用多机做成集群。
+
+拿做菜示例,假如一个厨师做菜要经历切菜,炒菜两个功能,饭店为了提高速度招了两个厨师,每个厨师的工作一样,都是切菜,炒菜,这是集群。还有另一种方法提高效率,饭店招了一个切菜师傅,配合厨师,厨师不管切菜,只管炒菜了,和切菜师傅共同配合把菜做好,这叫分布式。
+
+### Nginx
+
+Nginx 作用是反向代理和负载均衡。
+
+反向代理是指请求真实是到 server1 中,但是系统中为了统一或者做比如单点登录,会在 server2 服务器上安装一个 nginx,里面配置到 server1 的反向代理,那么之后请求 url 就可以写 server2 的地址,发出后到 server2, server2 会转发到 server1 上,类似一种代理的模式。
+
+负载均衡是指如果一个系统的请求很多,我们可以把请求转发到不同的服务器上,用来分流。就类似于接了一个水管放水,水流量很大时候,水压大很可能会让一个水管爆炸,这时候接三个水管,就没问题了(这三个水管就是一个集群)。类似的在 nginx 服务器中配了 3 个 Tomcat 服务器,每个 Tomcat 服务器上都部署了整个系统,那么当请求数大的时候,可以分发到不同的 Tomcat。(其实这里每个 Tomcat 上部署同一个功能模块也叫集群)。
+
+### RPC
+
+RPC (Remote Procedure Call) 即远程过程调用,对于分布式系统来讲,Tomcat1 上部署了用户模块,Tomcat2 上部署了订单模块,当用户下单时,请求到 Tomcat2,这时候可能要判断这个用户是否是 vip,或者是否有优惠券,这些方法是在 Tomcat1 用户模块上的,那么 Tomcat2 调用 Tomcat1 的服务获取这些信息,就叫 RPC 调用。
+
+RPC 调用底层涉及到对象的序列化,反序列化,HTTP/TCP 传输,网络异步传输 Netty。
+
+### 分布式 Java 应用
+
+网络通信:
+
+- 协议
+
+ TCP/IP
+
+ UDP/IP
+
+- IO
+
+ BIO
+
+ NIO-Reactor
+
+ AIO-Proactor
+
+基于消息方式的系统间通信:
+
+- socket 方式
+
+ 基于 Java 包:TCP/IP、UDP/IP
+
+ 基于框架:Netty、Dubbo
+
+- 消息方式
+
+ 基于 Java 包:JMS
+
+ 基于框架:RabbitMQ、RocketMQ
+
+基于远程调用方式的系统间通信:
+
+- 基于 Java 包
-- 分布式
+ WebService
- 一个业务拆分为多个子业务,部署在不同服务器上
+- 基于框架
-- 集群
+ Spring RMI、CXF
- 同一业务,部署在多个服务器上
+### 消息中间件(MQ)
+MQ 消息中间件在分布式系统中的作用有很多,但是经常用到的还是**异步解耦**。
+比如天猫下单流程,当用户支付后,后台接口执行的操作可能包括:1 验签,2 支付密码校验,3 扣库存,4 用户积分增加等等操作,其实我们希望的是2操作执行成功后立即给用户结果提示,而不是等到后续各个操作完成后才去提示,因为后续的操作往往大部分是rpc调用,方法执行时间相对较长。另外对于下单支付这个操作,3和4是后续业务的需要,在设计上不能和下单支付本身出现强耦合度。所以这里我们可以引入 MQ 解决,也就是说1和2执行完成后,生产者只需要通知下3和4,把后续的操作扔给消息队列,立即返回。这里的 MQ 起到的作用一个是异步调用,一个是解耦。
+### NoSQL(非关系型数据库)
+NoSQL 是所有非关系型数据库的统称,在分布式系统中用到很多,主要用来提高 QPS(query per second)。
+Redis 常用作缓存,或者内存数据库,小巧强大,什么数据适合放在 Redis 也就是缓存中,一个是经常查询的,需要频繁磁盘 io 的,例如有个快件系统,有个需求是当快件状态为异常时候,需要发送邮件提醒给系统管理员。接口入参是快件id,通常做法我们需要拿到id,去数据库查状态,然后发送,但是快件基数很大时候每天的问题件也可能会很多,接口调用频繁时候就需要改进做法,这时我们可以把快件状态信息放在redis里面,key是快件id, value是快进状态,每次进入接口时候直接redis里面取status就可以,速度很快。另一个是查询数据缓慢的,可以放在缓存中。
diff --git "a/docs/distribution/2_CAP347円220円206円350円256円272円.md" "b/docs/distribution/2_CAP347円220円206円350円256円272円.md"
index 8d10ab4a..714a0a7d 100644
--- "a/docs/distribution/2_CAP347円220円206円350円256円272円.md"
+++ "b/docs/distribution/2_CAP347円220円206円350円256円272円.md"
@@ -1,8 +1,8 @@
-# CAP 理论
+# 一、CAP 理论
分布式系统不可能同时满足一致性(C:Consistency)、可用性(A:Availability)和分区容忍性(P:Partition Tolerance),最多只能同时满足其中两项。
-
+
## 一致性(Consistency)
@@ -22,11 +22,39 @@
在分区容忍性条件下,分布式系统在遇到任何网络分区故障的时候,仍然需要能对外提供一致性和可用性的服务,除非是整个网络环境都发生了故障。
-> **权衡**
+## 总结
在分布式系统中,分区容忍性必不可少,因为需要总是假设网络是不可靠的。因此,CAP 理论实际上是要在**可用性(P)和一致性(C)之间做权衡**。
可用性和一致性往往是冲突的,很难使它们同时满足。在多个节点之间进行数据同步时,
- 为了保证一致性(CP),不能访问未同步完成的节点,也就失去了部分可用性,zookeeper其实就是追求的强一致;
-- 为了保证可用性(AP),放弃一致性(这里说的一致性是强一致性),追求分区容错性和可用性,这是很多分布式系统设计时的选择,后面的BASE也是根据AP来扩展。
\ No newline at end of file
+- 为了保证可用性(AP),放弃一致性(这里说的一致性是强一致性),追求分区容错性和可用性,这是很多分布式系统设计时的选择,后面的BASE也是根据AP来扩展。
+
+注意:如果系统没有发生 "分区" 的话,节点间的网络连接通信正常的话,也就不存在 P 了。此时需要考虑保证 CA 了。
+
+# 二、BASE 理论
+
+在分布式系统中,我们往往追求的是**可用性**,它的重要程序比一致性要高,那么如何实现高可用性呢? 前人已经给我们提出来了另外一个理论,就是 BASE 理论,它是用来对 CAP 定理进行进一步扩充的,更具体地说,**BASE 是 CAP 理论中 AP 方案的延伸。**
+
+BASE 是基本可用(Basically Available)、软状态(Soft State)和最终一致性(Eventually Consistent)三个短语的缩写。
+
+BASE 理论是对 CAP 中一致性和可用性权衡的结果,它的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。
+
+## 基本可用 (Basically Available)
+
+指分布式系统在出现故障的时候,保证核心可用,允许损失部分可用性。
+
+例如,电商在做促销时,为了保证购物系统的稳定性,部分消费者可能会被引导到一个降级的页面。
+
+## 软状态 (Soft state)
+
+指允许系统中的数据存在中间状态,并认为该中间状态不会影响系统整体可用性,即允许系统不同节点的数据副本之间进行同步的过程存在时延。
+
+## 最终一致性 (Eventually Consistent)
+
+最终一致性强调的是系统中所有的数据副本,在经过一段时间的同步后,最终能达到一致的状态。
+
+**ACID 要求强一致性**,通常运用在传统的数据库系统上。而 BASE 要求最终一致性,通过**牺牲强一致性来达到可用性**,通常运用在大型分布式系统中。
+
+在实际的分布式场景中,不同业务单元和组件对一致性的要求是不同的,因此 ACID 和 BASE 往往会结合在一起使用。
\ No newline at end of file
diff --git "a/docs/distribution/3_BASE347円220円206円350円256円272円.md" "b/docs/distribution/3_BASE347円220円206円350円256円272円.md"
deleted file mode 100644
index 800e499b..00000000
--- "a/docs/distribution/3_BASE347円220円206円350円256円272円.md"
+++ /dev/null
@@ -1,25 +0,0 @@
-# BASE 理论
-
-在分布式系统中,我们往往追求的是**可用性**,它的重要程序比一致性要高,那么如何实现高可用性呢? 前人已经给我们提出来了另外一个理论,就是BASE理论,它是用来对CAP定理进行进一步扩充的。
-
-BASE 是基本可用(Basically Available)、软状态(Soft State)和最终一致性(Eventually Consistent)三个短语的缩写。
-
-BASE 理论是对 CAP 中一致性和可用性权衡的结果,它的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。
-
-## 基本可用
-
-指分布式系统在出现故障的时候,保证核心可用,允许损失部分可用性。
-
-例如,电商在做促销时,为了保证购物系统的稳定性,部分消费者可能会被引导到一个降级的页面。
-
-## 软状态
-
-指允许系统中的数据存在中间状态,并认为该中间状态不会影响系统整体可用性,即允许系统不同节点的数据副本之间进行同步的过程存在时延。
-
-## 最终一致性
-
-最终一致性强调的是系统中所有的数据副本,在经过一段时间的同步后,最终能达到一致的状态。
-
-ACID 要求强一致性,通常运用在传统的数据库系统上。而 BASE 要求最终一致性,通过牺牲强一致性来达到可用性,通常运用在大型分布式系统中。
-
-在实际的分布式场景中,不同业务单元和组件对一致性的要求是不同的,因此 ACID 和 BASE 往往会结合在一起使用。
\ No newline at end of file
diff --git "a/docs/distribution/4_345円210円206円345円270円203円345円274円217円351円224円201円.md" "b/docs/distribution/3_345円210円206円345円270円203円345円274円217円351円224円201円.md"
similarity index 94%
rename from "docs/distribution/4_345円210円206円345円270円203円345円274円217円351円224円201円.md"
rename to "docs/distribution/3_345円210円206円345円270円203円345円274円217円351円224円201円.md"
index b3f96690..12cdc4b0 100644
--- "a/docs/distribution/4_345円210円206円345円270円203円345円274円217円351円224円201円.md"
+++ "b/docs/distribution/3_345円210円206円345円270円203円345円274円217円351円224円201円.md"
@@ -45,7 +45,7 @@ EXPIRE 指令可以为一个键值对设置一个过期时间,从而避免了
-
+
@@ -57,7 +57,7 @@ EXPIRE 指令可以为一个键值对设置一个过期时间,从而避免了
Zookeeper 提供了一种树形结构级的命名空间,/app1/p_1 节点的父节点为 /app1。
-
+
### 2. 节点类型
diff --git "a/docs/distribution/4_345円210円206円345円270円203円345円274円217円id.md" "b/docs/distribution/4_345円210円206円345円270円203円345円274円217円id.md"
new file mode 100644
index 00000000..96fae9b3
--- /dev/null
+++ "b/docs/distribution/4_345円210円206円345円270円203円345円274円217円id.md"
@@ -0,0 +1,46 @@
+# 分布式 ID
+
+## 分布式 ID
+
+我们知道 ID 是数据的唯一标识,比如比如身份证 ID 对应且仅对应一个人,商品 ID 对应且仅对应一件商品。分布式 ID 是分布式系统下的 ID,分布式 ID 不存在与现实生活中,属于计算机系统中的一个概念。一个最基本的分布式 ID 需要满足以下要求:
+
+- 全局唯一
+
+- 高性能
+
+ 生成速度快,对本地资源消耗小
+
+- 高可用
+
+ 生成分布式 ID 的服务要保证可用性无限接近于 100%
+
+- 拿来即可用
+
+除此之外,设计一个比较好的分布式 ID 还应保证:
+
+- 安全性
+
+ ID 不应该包含敏感信息
+
+- 有序递增
+
+ 如果要把 ID 存放在数据库的话,ID 的有序性可以提升数据库写入速度。并且,很多时候 ,我们还很有可能会直接通过 ID 来进行排序。
+
+- 可独立部署
+
+ 独立部署就是分布式系统单独有一个**发号器服务**,专门用来生成分布式 ID。这样就生成 ID 的服务可以和业务相关的服务解耦。不过,这样同样带来了网络调用消耗增加的问题。总的来说,如果需要用到分布式 ID 的场景比较多的话,独立部署的发号器服务还是很有必要的。
+
+- 包含具体业务含义
+
+
+
+## 分布式 ID 生成方案
+
+### 数据库
+
+### 算法
+
+### 开源框架
+
+
+
diff --git "a/docs/distribution/5_345円210円206円345円270円203円345円274円217円344円272円213円345円212円241円.md" "b/docs/distribution/4_345円210円206円345円270円203円345円274円217円344円272円213円345円212円241円.md"
similarity index 93%
rename from "docs/distribution/5_345円210円206円345円270円203円345円274円217円344円272円213円345円212円241円.md"
rename to "docs/distribution/4_345円210円206円345円270円203円345円274円217円344円272円213円345円212円241円.md"
index 928c4125..86081ddd 100644
--- "a/docs/distribution/5_345円210円206円345円270円203円345円274円217円344円272円213円345円212円241円.md"
+++ "b/docs/distribution/4_345円210円206円345円270円203円345円274円217円344円272円213円345円212円241円.md"
@@ -25,7 +25,7 @@
-
+
**阶段2:提交阶段(commit phase)**
@@ -33,7 +33,7 @@
需要注意的是,在准备阶段,参与者执行了事务,但是还未提交。只有在提交阶段接收到协调者发来的通知后,才进行提交或者回滚。
-
+
### 存在的问题
@@ -89,7 +89,7 @@ TCC 即补偿事务,其实就是采用的**补偿机制**,其核心思想是
3. 在分布式事务操作的另一方从消息队列中读取一个消息,并执行消息中的操作。
4. 如果是业务上面的失败,可以给生产方发送一个业务补偿消息,通知生产方进行回滚等操作。
-
+
这种方案遵循 BASE 理论,采用的是最终一致性,笔者认为是这几种方案里面比较适合实际业务场景的,即不会出现像 2PC 那样复杂的实现(当调用链很长的时候,2PC的可用性是非常低的),也不会像TCC那样可能出现确认或者回滚不了的情况。
diff --git "a/docs/distribution/5_Paxos347円256円227円346円263円225円.md" "b/docs/distribution/5_Paxos347円256円227円346円263円225円.md"
new file mode 100644
index 00000000..8815cf14
--- /dev/null
+++ "b/docs/distribution/5_Paxos347円256円227円346円263円225円.md"
@@ -0,0 +1,8 @@
+# 一、Paxos 算法
+
+- [分布式系列文章——Paxos算法原理与推导](https://www.cnblogs.com/linbingdong/p/6253479.html)
+
+# 二、Raft 算法
+
+- [拜占庭将军问题](https://blog.csdn.net/bjweimengshu/article/details/80222416)
+- [Raft 算法动画详解](http://thesecretlivesofdata.com/raft/)
\ No newline at end of file
diff --git "a/docs/distribution/6_345円210円206円345円270円203円345円274円217円347円274円223円345円255円230円347円232円204円344円270円200円350円207円264円346円200円247円345円223円210円345円270円214円347円256円227円346円263円225円.md" "b/docs/distribution/6_345円210円206円345円270円203円345円274円217円347円274円223円345円255円230円347円232円204円344円270円200円350円207円264円346円200円247円345円223円210円345円270円214円347円256円227円346円263円225円.md"
deleted file mode 100644
index b0bebd02..00000000
--- "a/docs/distribution/6_345円210円206円345円270円203円345円274円217円347円274円223円345円255円230円347円232円204円344円270円200円350円207円264円346円200円247円345円223円210円345円270円214円347円256円227円346円263円225円.md"
+++ /dev/null
@@ -1,80 +0,0 @@
-# 分布式缓存的一致性哈希算法
-
-## Hash 算法
-
-根据键值,首先计算哈希值,然后对节点数取模,然后映射在不同的 Master 节点上。
-
-一旦某一个 Master 节点宕机,当请求过来时,会基于最新的剩余 Master 节点数去取模,尝试去获取数据,导致大部分的请求过来,全部无法拿到有效的缓存,大量的流量涌入数据库。
-
-换句话说,**当服务器数量发生改变时,所有缓存在一定时间内是失效的,当应用无法从缓存中获取数据时,则会向后端数据库请求数据**。
-
-## 一致性 Hash 算法
-
-一致性 Hash 算法将整个哈希值空间组织成一个**虚拟的圆环**,假设某哈希函数 H 的值空间为0~2^32-1(即哈希值是一个32位无符号整形)。
-
-整个空间按**顺时针方向**组织,圆环的正上方的点代表0,0 点右侧的第一个点代表1,以此类推,2、3 ... 2^32-1,也就是说 0 点左侧的第一个点代表 2^32-1, 0 和 2^32-1 在零点中方向重合,我们把这个由 2^32 个点组成的圆环称为**哈希环**。
-
-
-
-将各个服务器进行哈希,具体可以选择服务器的 IP 或主机名作为关键字进行哈希,这样每台机器就能**确定其在哈希环上的位置**。假设将 4 台服务器的 IP 地址哈希后在哈希环的位置如下:
-
-
-
-接下来使用如下算法定位数据访问到相应服务器:
-
-将数据键使用相同的函数 Hash 计算出哈希值,并确定此数据在环上的位置,从此位置**沿环顺时针"行走",第一台遇到的服务器就是其应该定位到的服务器**。
-
-例如有 Object A、Object B、Object C、Object D 四个数据对象,经过哈希计算后,在哈希环上的位置如下:
-
-
-
-根据一致性 Hash 算法:
-
-Object A 会被定位到 Node A 上;
-
-Object B 会被定位到 Node B 上;
-
-Object C 会被定位到 Node C 上;
-
-Object D 会被定位到 Node D 上。
-
-### 容错性和可扩展性
-
-假设 Node C 宕机,可以看到此时对象 A、B、D 不会受到影响,只有对象 C 被重定位到 Node D。
-
-
-
-通常情况下,一致性 Hash 算法中,如果一台服务器不可用,则**受影响的数据**仅仅是此服务器到其环空间中前一台服务器(即沿着**逆时针方向行走遇到的第一台服务器**)之间数据,其它数据不会受到影响。
-
-下面考虑另外一种情况:如果在系统中增加一台服务器 Node X。
-
-此时对象 A、B、D 不受影响,只有对象 C 需要重定位到新的Node X 。
-
-
-
-通常情况下,一致性 Hash 算法中,如果增加一台服务器,则受影响的数据仅仅是新服务器到其环空间中前一台服务器(即沿着逆时针方向行走遇到的第一台服务器)之间数据,其它数据也不会受到影响。
-
-综上所述,一致性 Hash 算法对于节点的增减都只需**重定位哈希环中的一小部分数据**,具有**较好的容错性和可扩展性**。
-
-### 数据倾斜问题
-
-一致性 Hash 算法在服务节点太少时,容易因为节点分部不均匀而造成数据倾斜(被缓存的对象大部分集中缓存在某一台服务器上)问题。例如系统中只有 2 台服务器,如下所示:
-
-
-
-此时必然造成大量数据集中到 Node A 上,而只有极少量会定位到 Node B 上。
-
-为了解决这种数据倾斜问题,一致性 Hash 算法引入了**虚拟节点机制**,即**对每一个服务节点计算多个哈希**,每个计算结果位置都放置一个此服务节点,称为虚拟节点。具体做法可以在服务器 IP 或主机名的后面增加编号来实现。
-
-例如针对上面的情况,可以为每台服务器计算 3 个虚拟节点:
-
-- Node A 的 3 个虚拟节点:"Node A#1"、"Node A#2"、"Node A#3"
-- Node B 的 3 个虚拟节点:"Node B#1"、"Node B#2"、"Node B#3"
-
-进行哈希计算后,六个虚拟节点在哈希环中的位置如下:
-
-
-
-同时**数据定位算法不变**,只是多了一步虚拟节点到实际节点的映射过程,例如"Node A#1"、"Node A#2"、"Node A#3" 这 3 个虚拟节点的数据均定位到 Node A 上,解决了服务节点少时数据倾斜的问题。
-
-在实际应用中,通常将虚拟节点数设置为 32 甚至更大,因此即使很少的服务节点也能做到相对均匀的数据分布。
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
index 5d0be969..018c63a2 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -6,7 +6,7 @@
-
+