Wu Jun's Notes
About
Tags
Categories
01 数据结构与算法
Long.bitCount() 解析
数据结构
01 数据结构
数据结构概述
线性表(List)
栈与队列
数组和广义表
串(string)
树与二叉树
图
红黑树
堆
02 高级数据结构
跳跃表(Skip List)
划分树
03 查找
查找的基本概念
顺序表查找
有序表查找
线性索引查找
多路查找树(B 树)
散列(Hash)表
04 排序
排序的基本概念与分类
插入排序
交换排序
选择排序
归并排序
分配排序
外部排序
算法题
回溯搜索
排列
字符串
把字符串转换成整数
替换空格
数组
二维数组中的查找
数组中重复的数字
树
二叉树的遍历
链表
从尾到头打印链表
单向链表反转
单链表加法
归并链表
02 计算机组成原理
计算机系统概述
数据的表示和运算
04 计算机网络
1 计算机网络体系结构
计算机网络概述
计算机网络的性能
计算机网络体系结构与参考模型
2 物理层
物理层的基本概念
物理层的重要概念
3 数据链路层
使用点对点信道的数据链路层
点对点协议 PPP
使用广播信道的数据链路层
扩展的以太网
高速以太网
数据链路层的重要概念
4 网络层
网络层提供的两种服务
网际协议 IP
划分子网和构造超网
网际控制报文协议 ICMP
互联网的路由选择协议
IPv6
IP 多播
虚拟专用网 VPN 和网络地址转换 NAT
多协议标记交换 MPLS
网络层的重要概念
5 传输层
运输层协议概述
UDP 用户数据报协议
TCP 概述
TCP 可靠传输
TCP 流量控制
TCP 拥塞控制
TCP 连接管理
6 应用层
域名系统 DNS
文件传送协议 FTP
远程终端协议 TELNET
万维网 WWW
电子邮件
动态主机配置协议 DHCP
简单网络管理协议 SNMP
应用进程跨越网络的通信
P2P 应用
应用层概述
7 网络安全
网络安全问题概述
两类密码体制
数字签名
鉴别
密钥分配
互联网使用的安全协议
系统安全:防火墙与入侵检测
05 Java
00 Java 基础
01 基本设计
数据类型
字符串
数组
运算符
输入输出
控制流程
02 对象与类
面向对象
修饰符
类
反射
文档注释
03 接口、lambda、内部类、代理
接口
lambda
内部类
代理
04 异常、断言、日志
异常
断言
日志
05 泛型、事件
泛型
事件
06 集合
集合接口
2.0 具体的集合
2.1 ArrayList、Vector
2.2 LinkedList
2.3 ArrayDeque
2.4 TreeMap、TreeSet
2.5 HashMap、HashSet、Hashtable
2.6 LinkedHashMap、LinkedHashSet
2.7 PriorityQueue
2.8 ConcurrentHashMap
映射
视图与包装器
算法
遗留的集合
线程安全的集合
07 并发
线程
线程池
锁
同步器
非阻塞同步
08 Java SE 8 的流库
Stream
Optional
09 IO
输入输出流
操作字符
操作字节
序列化
操作文件
NIO(内存映射文件)
正则表达式
10 XML
XML 概述
XML 解析
验证 XML 文档
生成 XML 文档
XSL 转换
11 网络
Socket 连接
获取 URL 数据
发送 E-mail
12 JDBC
JDBC 简介
java.sql 包简介
javax.sql 包简介
13 日期和时间
绝对时间
人类时间
格式化和解析
与遗留代码的互操作
14 国际化
Locale 对象
格式化和解析
排序和范化
消息格式化
文本文件和字符集
资源包
15 脚本、编译、注解
Java 平台的脚本
编译器 API
使用注解
注解语法
注解语法
源码级注解处理
字节码工程
16 安全
类加载器
安全管理器与访问权限
用户认证
数据签名
加密
17 本地方法
调用 C 函数
参数与返回
00 Java 基础/17 本地方法/ todo
01 Java 虚拟机
走进 Java
JVM 内存
GC 与内存分配
性能监控 + 故障处理
调优案例
类文件结构
类加载机制
字节码执行引擎
类加载案例与实战
早期(编译期)优化
晚期(运行期)优化
Java 内存模型
02 Effective Java
创建和销毁对象(1-9)
对于所有对象都通用的方法(10-14)
类和接口(15-25)
泛型(26-33)
枚举和注解(34-41)
Lambdas 与 Streams(42-48)
方法(49-56)
通用程序设计(57-68)
异常(69-77)
并发(78-84)
序列化(85-90)
06 Spring
01 Core
Spring 基本概念
IoC 容器与 Bean
SpringBoot 启动流程
02 IoC
依赖注入
高级装配
动态注册 Bean
03 AOP
AOP 简介
切点
切面
04 Web
Spring MVC
Spring MVC 进阶
Spring RestTemplate
跨域
05 Data
JdbcTemplate
Ehcache 3.8 简单持久化
Spring Data JPA
Spring Data MongoDB
Spring Data Neo4j
Spring Data Redis
Spring Cache
Dynamic DataSource
Transaction
Spring Cache + Caffeine
06 Security
Spring Security
07 Async
Scheduled
Async
08 Log
默认日志
slf4j 和 log4j、logback 关系
输出 sout 到日志文件
10 Retry
Spring Retry
07 存储
01 MySQL
关系数据库
锁
事务
多版本并发控制
存储引擎
数据类型
SQL
索引
查询性能优化
分库分表
复制
02 MyBatis
MyBatis+Spring Boot
MyBatis Generator
CDDATA块
注解使用
03 Redis
Redis 简介
分布式锁
自定义序列化
执行脚本
04 Memcached
Memcached笔记
05 MongoDB
MongoDB 概念
MongoDB 操作
MongoDB 管理
Java中使用
06 Cassandra
Cassandra 简介
Cassandra 架构
Cassandra 数据模型
迁移案例示例
Gossip 协议
Cassandra vs. HBase
Hadoop 生态
HDFS
HBase
Hive
Sqoop源码 - 从 MySQL 导入到 Hive
Hadoop 数据仓库 - 《离线和实时大数据开发实战》
NoSQL
08 系统设计
1 通用设计
分布式统一 id 设计
跨库分页
短链接
相似图片调研
海明距离计算
秒杀、红包系统
使用 Java 进行爬虫
文章相似度 - simhash 计算
热加载实践
Groovy 热加载与 Java 热加载的对比
异地多活
2 业务设计
即刻-链接解析-分析
消息系统设计
关注流调研
关注流设计
3 设计模式
创建型模式
结构型模式
行为型模式
J2EE 模式
09 DevOps
1 Git
搭建Git服务器
创建版本库
版本管理
远程仓库
分支管理
标签管理
其他
2 SVN
基础介绍
基本操作
版本管理
冲突及解决
开发周期
3 IDEA
IDEA 快捷键
4 Maven
Maven 笔记
Maven 冲突解决
5 Gradle
Gradle 概述
maven迁移到gradle
6 Linux
Centos 7 配置 LAMP
Linux 常用命令
Shell 脚本
7 Zabbix
Zabbix简介
zabbix中文乱码
zabbix主动模式、被动模式
Zabbix迁移
8 ELK
ElasticStack
9 Docker
Docker 笔记
10 微服务
0 服务注册与发现
Spring Cloud Eureka
Spring Cloud Consul
1 服务调用
Spring Cloud Ribbon
Spring Cloud Hystrix
Spring Cloud Feign
Resilience4j
05 Apache Thrift
Apache Thrift 初识 (1) - 简介
Apache Thrift 初识 (2) - 数据类型与基本语法
Apache Thrift 初识 (3) - 实战Demo
2 配置中心
Spring Cloud Config
Apollo 项目解析
开源配置中心对比选型
3 API网关
Spring Cloud Zuul
Spring Cloud Gateway
4 消息组件
Spring Cloud Bus
Spring Cloud Stream
5 链路追踪
Spring Cloud Sleuth
11 分布式
02 分布式计算
MapReduce
05 分布式事务
分布式事务
分布式会话
06 分布式锁
分布式锁
08 负载均衡
一致性哈希
Paxos
Raft
负载均衡
12 测试
1 EasyMock
EasyMock - 模拟对象测试
2 http_load
http_load - 压力测试
3 JMeter
JMeter - 性能测试
4 JUnit
JUnit 5 简介
5 MockMvc
MockMvc
13 重构
1 重构-改善既有代码的设计
重构,第一个案例
重构的原则
代码的坏味道
构筑测试体系
重构列表
重新组织函数
在对象之间搬移特性
重新组织数据
简化条件表达式
简化函数调用
处理概括关系
大型重构
15 服务器
4 Nginx
Nginx 笔记
16 辅助工具类
1 Apache Commons
Apache Commons - 总览
Apache Commons BeanUtils
Apache Commons Codec
Apache Commons Collections
Apache Commons Lang
Apache Commons Pool
Apache Commons Text
3 日常小工具
使用 Java 自带 MessageDigest 实现加密(MD5 和 SHA)
一次性读取 GZIP 压缩的 CSV 文件
HttpUtil
4 数据格式
1 Json
Jackson 常用记录
Lombok消除Java冗长
MapStruct实体间转换
YAML 基础语法
20 笔记梳理
Java
JVM
MySQL
NoSQL
21 其他
2019 年工作总结
2020.2 Java 社招面试整理
物理层的重要概念
物理层的主要任务就是确定与传输媒体的接口有关的一些特性,如机械特性、电气特性、功能特性和过程特性 一个数据通信系统可划分为三大部分,即源系统、传输系统和目的系统。源系统包括源点(或源站、信源)和发送器,目的系统包括接收器和终点(或目的站、信宿) 通信的目的是传送消息,如话音、文字、图像、视频等都是 ...
2020-01-07
04 计算机网络
>
2 物理层
TCP 流量控制
1 利用滑动窗口实现流量控制 1.1 滑动窗口 流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。 利用滑动窗口机制可以很方便地在 TCP 连接上实现流量控制。 接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小,从而影响发送方的发送速率。将窗口字段设置为 0,则发送方不能发送数 ...
2020-01-07
04 计算机网络
>
5 传输层
TCP 拥塞控制
1 拥塞控制的一般原理 1.1 拥塞概念 出现资源拥塞的条件:对资源需求的总和 > 可用资源 如果网络出现拥塞,分组将会丢失,此时发送方会继续重传,从而导致网络拥塞程度更高。 因此当出现拥塞时,应当控制发送方的速率。使网络中的路由器或链路不致过载 流量控制是为了让接收方能来得及接收 拥塞控制 ...
2020-01-07
04 计算机网络
>
5 传输层
TCP 可靠传输
TCP 使用超时重传来实现可靠传输:如果一个已经发送的报文段在超时时间内没有收到确认,那么就重传这个报文段。 1 可靠传输的工作原理 使用可靠传输协议,当出现差错时让发送方重传出现差错的数据,同时在接收方来不及处理收到的数据时,及时告诉发送方适当降低发送数据的速度。 自动重传请求(Automatic ...
2020-01-07
04 计算机网络
>
5 传输层
运输层协议概述
1 进程之间的通信 运输层为应用进程之间提供端到端的逻辑通信。 运输层还要对收到的报文进行差错检测。 运输层的一个很重要的功能就是复用和分用。 2 运输层的两个主要协议 TCP 传输控制协议 面向连接,全双工可靠信道 有流量控制,拥塞控制,面向字节流 只能点对点(一对一),不提供广播或多播服 ...
2020-01-07
04 计算机网络
>
5 传输层
TCP 连接管理
传输连接有三个阶段:连接建立、数据传送和连接释放。 传输连接的管理就是使传输连接的建立和释放都能正常地进行。 连接建立过程中要解决以下三个问题: 要使每一方能够确知对方的存在。 要允许双方协商一些参数(如最大报文段长度,最大窗口大小,服务质量等)。 能够对传输实体资源(如缓存大小,连接表中的项目等 ...
2020-01-07
04 计算机网络
>
5 传输层
UDP 用户数据报协议
1 UDP 概述 用户数据报协议 UDP 只在 IP 的数据报服务之上增加了很少一点的功能,这就是复用和分用的功能以及差错检测的功能。 UDP的主要特点是: 无连接的:发送数据之前不需要建立连接,减少了开销和时延。 尽最大努力交付:即不保证可靠交付,主机不需要维持复杂的连接状态表。 面向报文:发送 ...
2020-01-07
04 计算机网络
>
5 传输层
TCP 概述
传输控制协议 1 TCP 最主要的特点 面向连接的 使用前先建立连接,传送后释放连接。 在进行数据交换前,初始化发送方与接收方状态,进行握手(交换控制信息) 点到点 一个发送方, 一个接收方。 连接状态与端系统有关,不为路由器所知 可靠交付 数据无差错、不丢失、不重复,并且按序到达。 ...
2020-01-07
04 计算机网络
>
5 传输层
数字签名
数字签名必须保证能够实现以下三点功能: 报文鉴别:接收者能够核实发送者对报文的签名。 报文的完整性:接收者确信所收到的数据和发送者发送的完全一样而没有被篡改过。 不可否认:发送者事后不能抵赖对报文的签名。 采用公钥算法要比采用对称密钥算法更容易实现数字签名。 1 数字签名的实现 签名:A 用私 ...
2020-01-07
04 计算机网络
>
7 网络安全
鉴别
鉴别和加密是不相同的概念。鉴别是要验证通信的对方的确是自己所要通信的对象,而不是其他的冒充者,并且所传送的报文是完整的,没有被他人篡改过。 鉴别与授权也是不同的概念。授权涉及的问题是:所进行的过程是否被允许(如是否可以对某文件进行读或写)。 鉴别可细分为两种。 报文鉴别:鉴别所收到的报文的确是 ...
2020-01-07
04 计算机网络
>
7 网络安全
<
1
…
4
5
6
7
8
…
37
>