知识图谱
2021-07-13 22:32:34 111 举报
AI智能生成
登录查看完整内容
知识结构图
作者其他创作
大纲/内容
知识图谱
归档
Java基础
基础语法
Java对象和引用变量
Java堆栈
Java的static关键字
String
字符串详解
引用变量强制类型转换
equals方法
final
面向对象
Java内部类
继承
成员变量的继承与覆盖
多态
重载和重写
封装
抽象和接口
深拷贝和浅拷贝
序列化实现对象的拷贝
深拷贝的两种方式
内部类
匿名内部类
异常
数据结构
集合框架
数组
Iterator
常用类
泛型
泛型深入理解
泛型基础
泛型进阶
序列化
JVM
Java内存分配浅析
Java内存溢出解决方案
Java内存分配原理
JVM常量池
文件操作
Java反射
设计模式
面向对象设计原则
面向对象设计原则概述
面向对象设计原则之单一设计原则
面向对象设计原则之开闭原则
面向对象设计原则之里氏代换原则
PHP
Thinkphp5.0
会话控制
cookie
session
socket
APP接口开发
缓存
redis缓存
静态缓存
RESTfulAPI
慕课网视频
RESTful身份验证
Redis
异常处理
插件
PHPExcle
PHPExcle使用方法
字符串函数库
长度
strlen($string):得到字符串长度
字符串查找
字符串大小写
strtolower($string):返回小写之后的字符串
strtoupper($string):返回大写之后的字符串
ucwords($string):单词的首字母大写
ucfirst($string):字符串的单词的首字母大写
lcfirst($string):字符串的单词的首字母小写
字符串的截取
字符ASCII
ord($char):得到指定字符的ASCII
chr($ascii):根据ASCII得到指定的字符
加密
md5($string):计算字符串的md5的散列值,返回32位长度的字符串
sha1($string):计算字符串的sha1的散列值,返回40位长度的字符串
过滤
addslashes($string):使用反斜线引用字符串中的特殊字符
nl2br($string):将字符串中的\用<br/>替换
比较
拆分/合并
格式化字符串
其它常用
strrev($string):反转字符串
str_shuffle($string):随机打乱字符串
str_repeat($string):重复字符串
前端
jQuery
HTML
CSS
bootstrap4.0
websocket
心跳重连
React.js
React.js菜鸟教程
其它
ES6
sass
Less
Webpack
入门
layui
vue.js
子主题
Node.js
nginx
微信小程序
慕课网
利器
Git
常用命令
tag
config
初始化
restore
gitignore
diff
log
commit
remote
checkout
branch
merge
远程分支
reset
rm
原理理解
工作区、暂存区和版本库
Git在线文档
高级用法
数据库
Mysql
事务
ACID
原子性
一致性
隔离性
持久性
如何实现?
事务ACID特性及原理
隔离级别
读未提交
脏读
读已提交
不可重复读
可重复读
写数据情况幻读
快照读
select
当前读
update、insert、delete
串行化
对所有读取的行都加锁
基础
常见问题
范式
索引
最左前缀原则
查询必须从索引最左边开始,且不能跳过
不能使用范围条件右边的列
索引设计
数据结构尽量简单
主要是数据之间的比较
尽量不为空
索引不会包含有空值的列
前缀索引,指定长度
在列上进行运算,不会使用索引
like以通配符开头,不会使用索引
避免or条件
如果or前面条件使用索引后面没使用,则会放弃所有索引
索引排序
filesort
内存中排序,快排
内存装载不下,外部排序(使用临时表)
索引顺序与order by顺序相同,且为同方向(同为正序或同为倒序)
与查询型子句一样,需要满足最左前缀原则,where条件也可以加入评估
连表查询时,仅当order by所有列都是第一个表的字段时才使用索引
索引数据结构
平衡二叉树
基于二分法策略,提高数据查询速度的数据结构
任何节点两个子树高度差不超过1
B树(B-Tree)
B-Tree为多叉树,又名平衡多路查找树
排序方式:递增,左小右大
所有叶子节点均在同一层
非叶子节点保存关键字记录指针
B+Tree
B+Tree的非叶子节点,不保存关键字记录的指针,能保存更多的关键字
叶子节点保存了父节点所有关键字记录的指针
关键字在叶子节点从小到大依次排序,左边结尾数据保存一个右边开始数据的指针
每一个叶子节点包含指向下一个叶子节点的指针,方便范围遍历
优点
层级更少
能保存更多的关键字所以层级更少
查询速度稳定
所有关键字数据地址都存储在叶子节点
系统从磁盘读取数据到内存是以磁盘块为基本单位,位于同一磁盘块的数据会被一次性读出来
InnoDB
聚簇索引(主键索引)
Innodb对主键建立聚簇索引,如果没有主键则选择一个唯一非空字段,在没有就定义一个隐藏主键(一个表只有一个聚簇索引)
节点页只包含索引,叶子页包含了全部行数据(聚簇索引就是”表“)
非聚簇索引(二级索引)
叶子节点存储的是索引key和主键值
MyISAM
非聚簇索引
叶子节点存储指向数据的指针
数据类型
int
varchar/char
blob/text
datetime/timestamp
存储引擎
压缩表节约空间
并发控制
读写锁
共享锁,排它锁
锁粒度
InnoDB存储引擎实现了行级锁
表锁
MVCC
添加两个版本号,创建事务ID,删除事务ID
乐观锁
给数据行加上版本号
多版本并发控制
锁
底层原理
Mongo
mongo基础使用
深入原理
操作系统
Linux
为什么协程比线程轻量
用户态到内核态切换耗时原因
CPU密集与IO密集
硬盘读写原理
网络
工具
curl
Fiddler
七层网络模型
TCP/IP协议与HTTP协议(一)
Http协议
概念
网关
一个大概念,不具体特指一类产品,只要连接两个不同的网络的设备都可以叫网关
路由器
一般特指能够实现路由寻找和转发(IP地址)的特定类产品,路由器很显然能够实现网关的功能
交换机
寻址和转发,这边需要注意的是寻址和转发都是MAC地址
集线器
放大信号并广播
协议
ARP
是根据IP地址获取物理地址的一个TCP/IP协议
DHCP
动态主机设置协议
NAT
是路由器将内网地址转换为公网地址的一种技术
云计算
微服务
DevOps
Docker
dockerfile
docker命令整理
工具链
Vagrant
Jenkins
k8s
Pod
pod生命周期
initC初始化容器
探针
pod分类
自主式pod:退出了,此类型pod不会被创建
控制器管理的pod:在控制器的生命周期里,始终维持pod副本数量
控制器
ReplicaSet
确保容器副本始终保持在用户定义的副本数,支持集合式的selector
Deployment
提供声明式定义方法来管理应用,支持滚动升级和回滚、扩容缩容、暂停和继续Deployment
DeamonSet
确保全部(或者一些)Node上运行一个Pod的副本
Job
负责批处理任务,仅执行一次任务
CronJob
给定时间只运行一次,周期性地扎起给定时间点运行
StatefulSet
有状态服务,有序部署
Horizontal Pod Autoscaling
水平自动扩缩容
Service
ClusterIP
自动分配一个仅Cluster内部可以访问的虚拟IP
NodePort
在ClusterIP基础上为每台机器上绑定一个端口,可以通过NodePort来访问服务
LoadBalance
在NodePort即基础上,创建一个外部负载均衡器,并将请求转发到NodePort
Headless
不需要负载均衡以及单独的Service IP
Ingress
对集群服务的外部访问进行管理的API对象
存储
ConfigMap
配置中心
Secrets
存储敏感信息
Volume
emptyDir
随着pod的删除而删除
hostPath
挂载主机目录
PersistentVolume
独立于Pod的生命周期
集群调度
调度过程:过滤不满住条件的节点,优先级排序
节点亲和性、Pod亲和性
污点和容忍
指定调度节点
集群安全
算法
基础原理
时间复杂度与空间复杂度
常见算法原理
一致性哈希算法
哈希槽
Go
进阶
beego
gorm
gin
grpc
protobuf
protobuf 语法详解
实战
匿名函数、闭包
单例模式
工厂模式
源码分析
运行时
MPG并发模型
内存模型
垃圾回收
elastic
DSL
ES从入门到实战
go-elasticsearch
kibana
应用场景
kafka
存储结构
分区
架构
消息队列应用场景
总结
书签
zookeeper
语法
make与new的区别
理解defer
Go标准命令
rabbitmq
资料收集
网络书籍
《Effective Go》 中文版
Go Blog 中文翻译
Git 文档
Go语言原本
Go高级编程
GO专家编程
Blog
跟煎鱼学Go
干货
实体书籍
Kafka权威指南
Kubernetes权威指南
HTTP权威指南
深入理解Linux内核
Mysql权威指南(第三版)
Redis实战
PDF
阿里巴巴DevOps实践手册
算法题精讲
在线刷题
相关链接
阿里巴巴开发者藏经阁
阿里云开发者社区
阿里云大学
我的开源项目
GO-WEB 微服务架构
GO分布式爬虫
百度AIGO-SDK
待解决
工作台
SQL
Golang
存储,缓存,消息中间件,架构
常用库
测试框架
https://github.com/smartystreets/goconvey
日志库
https://github.com/sirupsen/logrus
工具库
自动添加注释
https://github.com/cuonglm/gocmt
go web工具库
jwt
https://github.com/dgrijalva/jwt-go
cors
github.com/gin-contrib/cors
uuid
https://github.com/satori/go.uuid
自定义验证器
github.com/gin-gonic/gin/binding
viper、corber
copier
算法范式
分治法
回溯法
贪心法
动态规划法
延伸
正则表达式
json
区块链
mysql存储架构
kafka实操
Makefile
shell脚本
linux常用命令
vim
mount
暂停
redis
进程、线程、协程
名词解释
AMQP
AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议
mqtt
wireshark
0 条评论
回复 删除
下一页