Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 9 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
</table>


## Java
## Java(必看:+1: )

### 基础

Expand All @@ -65,7 +65,7 @@
### 容器

1. **[Java 容器常见面试题/知识点总结](docs/java/collection/Java集合框架常见面试题.md)(推荐!)**
2. **源码分析** :[ArrayList源码+扩容机制分析](docs/java/collection/ArrayList源码+扩容机制分析.md) 、[LinkedList 源码](docs/java/collection/LinkedList源码分析.md) 、[HashMap(JDK1.8)源码+底层数据结构分析](docs/java/collection/HashMap(JDK1.8)源码+底层数据结构分析.md) 、[ConcurrentHashMap 源码+底层数据结构分析](docs/java/collection/ConcurrentHashMap 源码+底层数据结构分析.md)
2. **源码分析** :[ArrayList源码+扩容机制分析](docs/java/collection/ArrayList源码+扩容机制分析.md) 、[LinkedList 源码](docs/java/collection/LinkedList源码分析.md) 、[HashMap(JDK1.8)源码+底层数据结构分析](docs/java/collection/HashMap(JDK1.8)源码+底层数据结构分析.md) 、[ConcurrentHashMap 源码+底层数据结构分析](docs/java/collection/ConcurrentHashMap源码+底层数据结构分析.md)

### 并发

Expand Down Expand Up @@ -100,12 +100,12 @@
### 新特性

1. **Java 8** :[Java 8 新特性总结](docs/java/new-features/Java8新特性总结.md)、[Java 8 学习资源推荐](docs/java/new-features/Java8教程推荐.md)、[Java8 forEach 指南](docs/java/new-features/Java8foreach指南.md)
2. **Java9~Java14** : [一文带你看遍 JDK9~14 的重要新特性!](./docs/java/new-features/一文带你看遍JDK9~14 的重要新特性!.md)
2. **Java9~Java14** : [一文带你看遍 JDK9~14 的重要新特性!](./docs/java/new-features/一文带你看遍JDK9到14的重要新特性.md)

## 网络

1. [计算机网络常见面试题](docs/network/计算机网络.md)
2. [计算机网络基础知识总结](docs/network/干货:计算机网络知识总结.md)
2. [计算机网络基础知识总结](docs/network/计算机网络知识总结.md)

## 操作系统

Expand Down Expand Up @@ -156,12 +156,11 @@

## 系统设计

### 编码规范
### 编码之道(必看 :+1:)

1. [RestFul API 简明教程](docs/system-design/restful-api.md)
1. [RestFul API 简明教程](docs/system-design/coding-way/RESTfulAPI简明教程.md)
2. [Java 编程规范以及优雅 Java 代码实践总结](docs/java/Java编程规范.md)
3. [Java 命名之道](docs/system-design/naming.md)
4. [设计模式系列文章](docs/system-design/设计模式.md)

### 常用框架

Expand All @@ -176,11 +175,9 @@

**重要知识点详解:**

1. **[Spring/Spring 常用注解总结!安排!](./docs/system-design/framework/spring/spring-annotations.md)**
2. **[Spring 事务总结](docs/system-design/framework/spring/spring-transaction.md)**
1. **[Spring/Spring 常用注解总结!安排!](./docs/system-design/framework/spring/SpringBoot+Spring常用注解总结.md)** (必看 :+1:)
2. **[Spring 事务总结](docs/system-design/framework/spring/spring-transaction.md)** (必看 :+1:)
3. [Spring 中都用到了那些设计模式?](docs/system-design/framework/spring/Spring-Design-Patterns.md)
4. [Spring 中 Bean 的作用域与生命周期](docs/system-design/framework/spring/SpringBean.md)
5. [SpringMVC 工作原理详解](docs/system-design/framework/spring/SpringMVC-Principle.md)

#### MyBatis

Expand All @@ -193,7 +190,7 @@

### 认证授权

**[认证授权基础:搞清 Authentication,Authorization 以及 Cookie、Session、Token、OAuth 2、SSO](docs/system-design/authority-certification/basis-of-authority-certification.md)**
**[认证授权基础](docs/system-design/authority-certification/basis-of-authority-certification.md)** 这篇文章中我会介绍认证授权常见概念: **Authentication**,**Authorization** 以及 **Cookie**、**Session**、Token、**OAuth 2**、**SSO** 。如果你不清楚这些概念的话,建议好好阅读一下这篇文章。

#### JWT

Expand Down
11 changes: 7 additions & 4 deletions docs/java/basis/Java基础知识.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,11 @@
- [2.5.5. Java 序列化中如果有些字段不想进行序列化,怎么办?](#255-java-序列化中如果有些字段不想进行序列化怎么办)
- [2.5.6. 获取用键盘输入常用的两种方法](#256-获取用键盘输入常用的两种方法)
- [3. Java 核心技术](#3-java-核心技术)
- [3.1. 集合](#31-集合)
- [3.1.1. Collections 工具类和 Arrays 工具类常见方法总结](#311-collections-工具类和-arrays-工具类常见方法总结)
- [3.1. 反射机制](#31-反射机制)
- [3.1.1. 静态编译和动态编译](#311静态编译和动态编译)
- [3.1.2. 反射机制优缺点](#312反射机制优缺点)
- [3.1.3. 反射的应用场景](#313反射的应用场景)

- [3.2. 异常](#32-异常)
- [3.2.1. Java 异常类层次结构图](#321-java-异常类层次结构图)
- [3.2.2. Throwable 类常用方法](#322-throwable-类常用方法)
Expand All @@ -79,7 +82,7 @@
- [3.3. 多线程](#33-多线程)
- [3.3.1. 简述线程、程序、进程的基本概念。以及他们之间关系是什么?](#331-简述线程程序进程的基本概念以及他们之间关系是什么)
- [3.3.2. 线程有哪些基本状态?](#332-线程有哪些基本状态)
- [3.4. 文件与 I\O 流](#34-文件与-i\o-流)
- [3.4. 文件与 I\O 流](#34-文件与-io-流)
- [3.4.1. Java 中 IO 流分为几种?](#341-java-中-io-流分为几种)
- [3.4.1.1. 既然有了字节流,为什么还要有字符流?](#3411-既然有了字节流为什么还要有字符流)
- [3.4.1.2. BIO,NIO,AIO 有什么区别?](#3412-bionioaio-有什么区别)
Expand Down Expand Up @@ -1350,7 +1353,7 @@ Java 线程在运行的生命周期中的指定时刻只可能处于下面 6 种

![RUNNABLE-VS-RUNNING](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-3/RUNNABLE-VS-RUNNING.png)

当线程执行 `wait()`方法之后,线程进入 **WAITING(等待)**状态。进入等待状态的线程需要依靠其他线程的通知才能够返回到运行状态,而 **TIME_WAITING(超时等待)** 状态相当于在等待状态的基础上增加了超时限制,比如通过 `sleep(long millis)`方法或 `wait(long millis)`方法可以将 Java 线程置于 TIMED WAITING 状态。当超时时间到达后 Java 线程将会返回到 RUNNABLE 状态。当线程调用同步方法时,在没有获取到锁的情况下,线程将会进入到 **BLOCKED(阻塞)** 状态。线程在执行 Runnable 的`run()`方法之后将会进入到 **TERMINATED(终止)** 状态。
当线程执行 `wait()`方法之后,线程进入 **WAITING(等待)** 状态。进入等待状态的线程需要依靠其他线程的通知才能够返回到运行状态,而 **TIME_WAITING(超时等待)** 状态相当于在等待状态的基础上增加了超时限制,比如通过 `sleep(long millis)`方法或 `wait(long millis)`方法可以将 Java 线程置于 TIMED WAITING 状态。当超时时间到达后 Java 线程将会返回到 RUNNABLE 状态。当线程调用同步方法时,在没有获取到锁的情况下,线程将会进入到 **BLOCKED(阻塞)** 状态。线程在执行 Runnable 的`run()`方法之后将会进入到 **TERMINATED(终止)** 状态。

### 3.4. 文件与 I\O 流

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
本文是我在大二学习计算机网络期间整理的, 大部分内容都来自于谢希仁老师的《计算机网络》这本书。

![计算机网络(第7版)](images/计算机网络第七版.png)


<div style="text-align: center;">
<img src="images/计算机网络第七版.png" alt="计算机网络(第7版)" style="text-align:left" />
</div>
<!-- @import "[TOC]" {cmd="toc" depthFrom=1 depthTo=6 orderedList=false} -->

<!-- code_chunk_output -->
Expand Down Expand Up @@ -35,10 +35,11 @@

<!-- /code_chunk_output -->


## 1. 计算机网络概述

![计算机网络概述](images/计算机网络概述.png)
<div style="text-align: center;">
<img src="images/计算机网络概述.png" alt="计算机网络(第7版)" style="text-align:left" />
</div>

### 1.1. 基本术语

Expand Down
Loading