吴俊笔记本
ABOUT
标签
分类
UidGenerator
01 数据结构与算法
Long.bitCount() 解析
数据结构
01 数据结构
0 概述
1 线性表(List)
2 栈与队列
3 数组和广义表
4 串(string)
5 树与二叉树
6 图
7 红黑树
8 堆
02 高级数据结构
4 跳跃表(Skip List)
5 划分树
03 查找
0 查找的基本概念
1 顺序表查找
2 有序表查找
3 线性索引查找
4 多路查找树(B 树)
5 散列(Hash)表
04 排序
0 排序的基本概念与分类
1 插入排序
2 交换排序
3 选择排序
4 归并排序
5 分配排序
6 外部排序
动态存储管理
文件管理
算法题
回溯搜索
排列
字符串
把字符串转换成整数
替换空格
数组
二维数组中的查找
数组中重复的数字
树
二叉树的遍历
链表
从尾到头打印链表
单向链表反转
单链表加法
归并链表
02 计算机组成原理
1 计算机系统概述
2 数据的表示和运算
03 操作系统
01 操作系统引论
01 操作系统引论
04 计算机网络
1 计算机网络体系结构
1 计算机网络概述
2 计算机网络的性能
3 计算机网络体系结构与参考模型
计算机网络体系结构的重要概念
2 物理层
1 物理层的基本概念
物理层的重要概念
3 数据链路层
1 使用点对点信道的数据链路层
2 点对点协议 PPP
3 使用广播信道的数据链路层
4 扩展的以太网
5 高速以太网
数据链路层的重要概念
4 网络层
1 网络层提供的两种服务
2 网际协议 IP
3 划分子网和构造超网
4 网际控制报文协议 ICMP
5 互联网的路由选择协议
6 IPv6
7 IP 多播
8 虚拟专用网 VPN 和网络地址转换 NAT
9 多协议标记交换 MPLS
网络层的重要概念
5 传输层
1 运输层协议概述
2 UDP 用户数据报协议
3 TCP 概述
4 TCP 可靠传输
5 TCP 流量控制
6 TCP 拥塞控制
7 TCP 连接管理
6 应用层
1 域名系统 DNS
2 文件传送协议 FTP
3 远程终端协议 TELNET
4 万维网 WWW
5 电子邮件
6 动态主机配置协议 DHCP
7 简单网络管理协议 SNMP
8 应用进程跨越网络的通信
9 P2P 应用
应用层概述
7 网络安全
1 网络安全问题概述
2 两类密码体制
3 数字签名
4 鉴别
5 密钥分配
6 互联网使用的安全协议
7 系统安全:防火墙与入侵检测
05 Java
00 Java 基础
01 基本设计
1 数据类型
2 字符串
3 数组
4 运算符
5 输入输出
6 控制流程
02 对象与类
1 面向对象
2 修饰符
3 类
4 反射
5 文档注释
03 接口、lambda、内部类、代理
1 接口
2 lambda
3 内部类
4 代理
04 异常、断言、日志
1 异常
2 断言
3 日志
05 泛型、事件
1 泛型
2 事件
06 集合
1 集合接口
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
3 映射
4 视图与包装器
5 算法
6 遗留的集合
7 线程安全的集合
07 并发
1 线程
2 线程池
3 锁
4 同步器
5 非阻塞同步
08 Java SE 8 的流库
1 Stream
2 Optional
09 IO
1 输入输出流
2 操作字符
3 操作字节
4 序列化
5 操作文件
6 NIO(内存映射文件)
7 正则表达式
10 XML
1 XML 概述
2 XML 解析
3 验证 XML 文档
4 生成 XML 文档
5 XSL 转换
11 网络
1 Socket 连接
2 获取 URL 数据
3 发送 E-mail
12 JDBC
1 JDBC 简介
2 java.sql 包简介
3 javax.sql 包简介
13 日期和时间
1 绝对时间
2 人类时间
3 格式化和解析
4 与遗留代码的互操作
14 国际化
1 Locale 对象
2 格式化和解析
3 排序和范化
4 消息格式化
5 文本文件和字符集
6 资源包
15 脚本、编译、注解
1 Java 平台的脚本
2 编译器 API
3 使用注解
4 注解语法
5 标准注解
6 源码级注解处理
7 字节码工程
16 安全
1 类加载器
2 安全管理器与访问权限
3 用户认证
4 数据签名
5 加密
17 本地方法
1 调用 C 函数
2 参数与返回
3 todo
01 Java 虚拟机
01 走进 Java
02 JVM 内存
03 GC 与内存分配
04 性能监控 + 故障处理
05 调优案例
06 类文件结构
07 类加载机制
08 字节码执行引擎
09 类加载案例与实战
10 早期(编译期)优化
11 晚期(运行期)优化
12 Java 内存模型
02 Effective Java
01 创建和销毁对象(1-9)
02 对于所有对象都通用的方法(10-14)
03 类和接口(15-25)
04 泛型(26-33)
05 枚举和注解(34-41)
06 Lambdas 与 Streams(42-48)
07 方法(49-56)
08 通用程序设计(57-68)
09 异常(69-77)
10 并发(78-84)
11 序列化(85-90)
06 Spring
01 Core
1 Spring 基本概念
2 IoC 容器与 Bean
3 SpringBoot 启动流程
02 IoC
1 依赖注入
2 高级装配
3 动态注册 Bean
03 AOP
1 AOP 简介
2 切点
3 切面
04 Web
1 Spring MVC
2 Spring MVC 进阶
3 Spring RestTemplate
4 跨域
05 Data.md
1 JdbcTemplate
10 Ehcache 3.8 简单持久化
2 Spring Data JPA
3 Spring Data MongoDB
4 Spring Data Neo4j
5 Spring Data Redis
6 Spring Cache
7 Dynamic DataSource
8 Transaction
9 Spring Cache + Caffeine
06 Security
1 Spring Security
07 Async
1 Scheduled
2 Async
08 Log
1 默认日志
2 slf4j 和 log4j、logback 关系
3 输出 sout 到日志文件
10 Retry
01 Spring Retry
07 数据库
01 MySQL
01 关系数据库
02 锁
03 事务
04 多版本并发控制
05 存储引擎
06 数据类型
07 SQL
08 索引
09 查询性能优化
10 分库分表
11 复制
02 MyBatis
01 MyBatis+Spring Boot
02 MyBatis Generator
03 CDDATA块
04 注解使用
08 系统设计
1 通用设计
01 分布式统一 id 设计
02 跨库分页
03 短链接
04 相似图片调研
05 海明距离计算
06 秒杀、红包系统
07 使用 Java 进行爬虫
08 文章相似度 - simhash 计算
2 业务设计
01 即刻-链接解析-分析
02 消息系统设计
03 关注流调研
04 关注流设计
3 设计模式
1 创建型模式
2 结构型模式
3 行为型模式
4 J2EE 模式
09 DevOps
1 Git
0 搭建Git服务器
1 创建版本库
2 版本管理
3 远程仓库
4 分支管理
5 标签管理
6 其他
2 SVN
1 基础介绍
2 基本操作
3 版本管理
4 冲突及解决
5 开发周期
3 IDEA
1 IDEA 快捷键
4 Maven
1 Maven 笔记
2 Maven 冲突解决
5 Gradle
1 Gradle 概述
2 maven迁移到gradle
6 Linux
1 Centos 7 配置 LAMP
2 Linux 常用命令
3 Shell 脚本
7 Zabbix
1 Zabbix简介
2 zabbix中文乱码
3 zabbix主动模式、被动模式
4 Zabbix迁移
8 ELK
1 ElasticStack
9 Docker
1 Docker 笔记
10 微服务
0 服务注册与发现
01 Spring Cloud Eureka
02 Spring Cloud Consul
1 服务调用
01 Spring Cloud Ribbon
02 Spring Cloud Hystrix
03 Spring Cloud Feign
04 Resilience4j
05 Apache Thrift
1 Apache Thrift 初识 (1) - 简介
2 Apache Thrift 初识 (2) - 数据类型与基本语法
3 Apache Thrift 初识 (3) - 实战Demo
2 配置中心
01 Spring Cloud Config
02 Apollo 项目解析
开源配置中心对比选型
3 API网关
01 Spring Cloud Zuul
02 Spring Cloud Gateway
4 消息组件
01 Spring Cloud Bus
02 Spring Cloud Stream
5 链路追踪
01 Spring Cloud Sleuth
Dubbo
00 官方文档
Service Mesh
00 相关资料
11 分布式
01 分布式资源协调
4 YARN
02 分布式计算
3 MapReduce
03 分布式存储
03 Redis
1 Redis 简介
2 分布式锁
3 自定义序列化
4 执行脚本
04 Memcached
01 Memcached笔记
05 MongoDB
01 MongoDB 概念
02 MongoDB 操作
03 MongoDB 管理
04 Java中使用
06 Cassandra
1 Cassandra 简介
2 Cassandra 架构
3 Cassandra 数据模型
4 迁移案例示例
5 Gossip 协议
6 Cassandra vs. HBase
2 HDFS
5 HBase
NoSQL
04 分布式数据处理
6 Hive
7 Sqoop源码 - 从 MySQL 导入到 Hive
05 分布式事务
分布式事务
分布式会话
06 分布式锁
分布式锁
08 负载均衡
01 一致性哈希
Paxos
Raft
负载均衡
1 Hadoop
8 Hadoop 数据仓库 - 《离线和实时大数据开发实战》
12 测试
1 EasyMock
1 EasyMock - 模拟对象测试
2 http_load
1 http_load - 压力测试
3 JMeter
1 JMeter - 性能测试
4 JUnit
1 JUnit 5 简介
5 MockMvc
1 MockMvc
13 重构
1 重构-改善既有代码的设计
01 重构,第一个案例
02 重构的原则
03 代码的坏味道
04 构筑测试体系
05 重构列表
06 重新组织函数
07 在对象之间搬移特性
08 重新组织数据
09 简化条件表达式
10 简化函数调用
11 处理概括关系
12 大型重构
14 前端
4 FIS
1 FIS 3接口速查
15 服务器
4 Nginx
1 Nginx 笔记
16 辅助工具类
1 Apache Commons
1 Apache Commons - 总览
2 Apache Commons BeanUtils
3 Apache Commons Codec
4 Apache Commons Collections
5 Apache Commons Lang
6 Apache Commons Pool
7 Apache Commons Text
3 日常小工具
1 使用 Java 自带 MessageDigest 实现加密(MD5 和 SHA)
2 一次性读取 GZIP 压缩的 CSV 文件
3 HttpUtil
4 数据格式
1 Json
Jackson 常用记录
1 Lombok消除Java冗长
2 MapStruct实体间转换
3 YAML 基础语法
20 笔记梳理
01 Java
02 JVM
03 MySQL
04 NoSQL
21 其他
2019 年工作总结
2020.2 Java 社招面试整理
动态存储管理
1 内存分配与回收策略 分配结构:需要登记内存使用情况,供分配程序使用的表格与链表。 放置策略: 对内存的管理或对内存的分配测量通常有两种方法: 系统从高地址的空闲块分配空间,直到分配无法进行,系统才会去回收之前的空闲块,重新组织继续分配; 当用户运行一结束,系统马上将其所占空间进行回收。当有 ...
2020-03-23
01 数据结构与算法
>
数据结构
0 概述
程序设计 = 数据结构 + 算法 1 数据结构 数据结构:相互之间存在一种或多种特定关系的数据元素的集合。 1.1 基本概念 数据:能别计算机识别、处理的符号集合 数据对象:性质相同的数据元素的集合,是数据的子集。 数据元素:组成数据的、有一定意义的基本单位。通常作为整体被计算机处理。 数据项:数 ...
2020-03-20
01 数据结构与算法
>
数据结构
>
01 数据结构
4 归并排序
归并排序 (Merging Sort) 就是利用归并的思想实现的排序方法。 假设初始序列含有 n 个记录 , 则可以看成是 n 个有序的子序列,每个子序列的长度为 1 ,然后两两归并,得到 [n/2] ([x]表示不小于 x 的最小整数)个长度为 2 或 1 的有序子序列;再两两归并,……,如此重复 ...
2020-02-26
01 数据结构与算法
>
数据结构
>
04 排序
2 栈与队列
一、栈 1 基本概念 栈:是限定仅在表尾进行插入和删除操作的线性表。后进先出LIFO 栈顶(top):允许插入和删除的一端 核底(bottom):另一端 栈的引入简化了程序设计,使关注范围缩小,聚焦于要解决的问题核心。 2 栈的顺序存储结构 - 顺序栈 1)存储结构 栈是线性表的特例,栈的 ...
2020-02-24
01 数据结构与算法
>
数据结构
>
01 数据结构
3 选择排序
1 简单选择排序 简单选择排序法 (Simpple Selection Sort) 就是通过 n - i 次关键字间的比较,从 n- i + 1 个记录中选出关键字最小的记录,并和第 i ( 1 <= i <= n) 个记录交换之。 思路:遍历第i到第n个,找到i到n范围内最小的数,然 ...
2020-02-19
01 数据结构与算法
>
数据结构
>
04 排序
5 分配排序
1 计数排序 计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。 当输入的元素是 n 个 0 到 k 之间的整数时,它的运行时间是 O(n + k)。计数排序不是比较排序,排序的速度快于任何比较排序算法。 ...
2020-02-19
01 数据结构与算法
>
数据结构
>
04 排序
2 交换排序
1 冒泡排序 冒泡排序 (Bubble Sort) 一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。 思路 从第 0 个到第 n 个,和相邻的元素进行相比,如果比相邻的大的话,那么就交换二者顺序,这样的话 0 到 n 范围内的最大的数就放到 n 的位 ...
2020-02-19
01 数据结构与算法
>
数据结构
>
04 排序
1 插入排序
1 直接插入排序 直接插入排序(Straight Insertion Sort) 的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增 1 的有序袭。 思路 如第 0 到 5 范围内的数从小到大排列,第六个数记为 temp,此时第 temp 比第 5 个数小,那么第 5 个 ...
2020-02-19
01 数据结构与算法
>
数据结构
>
04 排序
5 树与二叉树
一、树的基本概念 树:是 n ( n>=0 ) 个结点的有限集。 n = 0 时称为空树。 在任意一棵非空树中: 有且仅有一个根结点 当 n > 1 时,其余结点可分为一个或多个互不相交的有限集。 其中每一个集合本身又是一棵树,并且称为根的子树。 1、结点分类 结点的度:结点 ...
2020-02-05
01 数据结构与算法
>
数据结构
>
01 数据结构
8 堆
堆(Heap)是一种特别的树状数据结构:“给定堆中任意节点 P 和 C,若 P 是 C 的母节点,那么 P 的值会小于等于(或大于等于)C 的值”。分为最小堆和最大堆。 二叉堆 左倾堆 斜堆 二项堆 斐波那契堆 索引堆 Treap 树堆 1、二叉堆 二叉堆是完全二元树或者是近似完全二元树,按照数 ...
2020-02-04
01 数据结构与算法
>
数据结构
>
01 数据结构
1
2
3
>