我的笔记仓库
前言
Java
JVM
jvm内存区域都有哪些?
程序计数器
虚拟机栈
本地方法栈
堆
堆栈的区别?队列和栈的区别?
方法区
Java垃圾回收机制(GC)?
如何确定哪些是垃圾
垃圾回收算法
标记清除算法
复制算法
标记整理算法
分代回收算法
垃圾收集器都有哪些?
Serial
ParNew
Parallel Scavenge
Serial Old
Parallel Old
CMS
G1
jvm类加载
jvm优化
内存泄露、溢出
记一次内存泄露、溢出处理流程
JAVA
java的特色,它和其他语言的区别
java的多态、泛型、反射、注解、序列化
深拷贝和浅拷贝
代理
静态代理
动态代理
CGlib
异常
I/O流
IO的模型
BIO、NIO、AIO
IO的使用场景
集合
List,Set,Queue,Map四者的区别?
HashMap
负载因子为什么是0.75?
ConcurrentHashMap
Segment段
Java8之前
Java8之后
Queue
Queue
Deque
PriorityQueue
BlockingQueue
ArrayBlockingQueue
LinkedBlockingQueue
PriorityBlockingQueue
DelayQueue
SynchronousQueue
LinkedTransferQueue
LinkedBlockingDeque
锁Lock
乐观锁和悲观锁
自旋锁
Synchronized同步锁
ReentrantLock可重入锁
AtomicInteger
Semaphore信号量
可重入锁(递归锁)
公平锁和非公平锁
ReadWriterLock读写锁
共享锁和独占锁
锁的状态
偏向锁
轻量级锁
重量级锁
分段锁
分布式锁
Redis分布式锁
Redis实现
Redisson实现
锁的优化
CAS(比较并交换-乐观锁机制-锁自旋)
原子包java.util.concurrent.atomic(锁自旋)
ABA问题
AQS(抽象的队列同步器)
线程
线程和进程
线程的生命周期
线程的状态
线程的实现
线程池
start和run的区别
sleep和wait的区别
后台线程
线程共享数据
线程调度和调度算法
ThreadLocal
ThreadLocalMap
使用场景
虚拟线程
协程
设计模式和原则
设计模式
创建型模式
结构型模式
行为型模式
设计原则
Spring
Spring的特点
Spring的核心组件
Spring的常用模块
Spring框架使用的设计模式
Spring常用的注解
Bean
@Component
Bean的作用域
Bean的生命周期
Bean注入的实现方式
5种不同方式的自动装配
Spring的IOC
IOC的原理
IOC的实现
Spring的AOP
AOP 核心概念
AOP 代理方式
AOP 实现
AspectJ
Spring AOP和AspectJ AOP
AspectJ定义的通知类型
多个切面的执行顺序
Spring 加载过程
Spring Boot
Spring Boot特点
Spring Boot 约定优于配置
Spring Boot 初始化环境变量
Spring Boot 扫描流程
Spring Boot 配置加载顺序
Spring Boot 多套不同环境配置
Spring Boot 核心配置
Spring Boot 核心注解
Spring Boot 实现热部署
Spring Boot 自动配置原理
Spring Boot+Netty
Spring Data JPA
Spring事物的传播行为
事物的隔离级别
Spring管理事务
事物的实现方式
本地事务
分布式事物
两阶段提交
xml配置
@Transactional注解
@Transactional属性
@Transactional失效场景
微服务
分布式
CAP理论
BASE理论
微服务架构
微服务的优缺点
微服务的技术栈
服务注册发现
服务配置与管理
服务调用
API网关
负载均衡
熔断器
SpringCloud
SpringBoot和SpringCloud的区别
SpringCloudAlibaba
Eureka
Eureka Server
Eureka Client
Zookeeper
Zookeeper 文件系统
Zookeeper 通知机制
Zookeeper 通知机制的特点
Zookeeper节点ZNode和相关属性
Zookeeper 集群中的角色
Zookeeper 集群中Server工作状态
Zookeeper 集群中服务器之间通信
ZAB 协议
事务编号Zxid
epoch
恢复模式(选主)、广播模式(同步)
ZAB协议4阶段
ZAB协议JAVA实现
投票机制
Nacos
注册中心原理
SpringCloud集成Nacos的实现过程
NacosServiceRegistry实现
心跳机制
服务的健康检查分为两种模式
自我保护
实现注册
总结
服务提供者地址查询
服务地址动态感知原理
服务地址动态感知原理
配置中心原理
Nacos 客户端
Nacos 服务端
Nacos和其他注册中心的区别
SpringCloudConfig
Spring Cloud Bus
Archaius
Apollo
Rest、RPC和GRpc
OpenFeign
Dubbo
服务注册与发现的流程图
Dubbo 节点角色
Dubbo 服务治理
Dubbo支持的协议
Dubbo序列化框架
Hessian
PB
Dubbo核心的配置
Dubbo集群容错方案
Dubbo负载均衡策略
Dubbo内置服务容器
Dubbo启动依赖检查
服务接口多实现
服务调用超时问题
Ribbon
自定义负载均衡策略
饥饿加载
Spring Cloud LoadBalancer
和Nginx的区别
配置使用
自定义负载均衡器
重试机制
Nginx
正向代理和反向代理
Master和Worker进程
负载均衡
限制访问
常用变量
重定向
限流
动静分离
配置文件说明
Hystrix
Resilience4j
Sentinel
Zuul
Gateway
Spring Cloud Demo空业务模板项目
SpringSocial
Mybatis
Mybatis 优缺点
Mybatis和Hibernate的区别
Mybatis 常用标签
Mybatis $()和#()的区别
Mybatis 模糊查询
Mybatis 嵌套查询
Mybatis 缓存
Mybatis 工作原理
Mybatis 插件
Shiro
Shiro的核心概念
Shiro工作流程
Shiro有哪些组件?
Shiro注解
Shiro优点
Maven
Maven常用命令
Maven常用标签
Maven有哪些优点和缺点
Maven坐标的含义
Maven常见的依赖范围
Maven的生命周期
“Mvn Clean Package”命令做了什么
依赖、插件的解析机制
多模块如何聚合
dependencyManagement和dependencie
repositories、distributionManagement、pluginRepositories
如何设置本地仓库和远程仓库
Maven私服的仓库类型
Gradle
Gradle安装
Gradle常用命令
Groovy
Groovy环境变量的配置
Mysql
安装
特性
构成部分
三范式
存储引擎
隔离级别
MyISAM和InnoDB的区别
表级锁、页级锁和⾏级锁
共享锁和排他锁
意向锁
InnoDB⾏锁
索引
Explain性能分析
SQL优化
存储过程
分库分表
读写分离
备份和恢复
Redis
安装
数据类型
性能
Redis与MemCache
Redis持久化
Redis的高可用、主从和哨兵机制
Redis雪崩、穿透、并发等问题
高并发下Redis保持数据一致性
Redis的key的过期时间,删除策略
Redis的并发竞争问题和CAS
Redis集群的最大槽数是16384个
Redis实现消息队列
pipeline
Redis分布式锁
Redis实现
Redisson实现
红锁(RedLock)
消息队列 MQ
ActiveMQ、RabbitMQ、RocketMQ、Kafka区别
保证消息的幂等性
保证消息的不丢失
保证消息的顺序性
消息的过期失效问题
高可用
设计消息队列系统
rocketmq
搜索引擎
Elasticsearch
ELK Stack
查询类型
聚合
集群
常用的cat命令
分词
索引
创建索引的过程
更新和删除文档的过程
搜索过程
搜索过程
实现拼写纠错
深翻页
并发保证读写一致
优化
Solr
主要特点
安装与配置
Solr和Elasticsearch
Docker
DockerFile 参数配置
网络
UDP
TCP/IP
算法
排序算法
加密算法
MD5
AES
RSA
国密
SM1
SM2
SM3
SM4
其他
JDK版本管理
日志
Generator
Lombok
Data
build
linux
更新为阿里云的Yum源
磁盘扩容
利用 logrotate 管理日志
cronolog 安装和使用
防火墙 Firewalld
修改hostname
更新为静态IP
Linux系统CPU占用100%原因分析
安装git-lab
Mysql 编译安装步骤
redis安装
redis删除特殊的key
nacos 安装
safe-rm 安装
openVPN 安装
go
scan_files
python
conda
Anaconda
Anaconda升级和卸载
Anaconda安装最新的TensorFlow版本
设置镜像源
Anaconda设置默认的启动环境
ai
pytorch.md
通过开源搭建个人AI
other
仓颉
仓颉编程语言语言规约
git
github
删除原分支并重新创建一个
scydtj
git 提交和更新脚本命令
windows脚本
GitBook 安装和使用
Markdown语法
npm转换pnpm
本书使用 GitBook 发布
前言
H-Notes
一些知识笔记和各类学习资料,持续更新中...,如果有其他想了解的或者里面有错误,欢迎提issue,帮助完善。
代码项目:
H-Codes
叠甲
因为本人是Java开发,所以大部分还是Java相关的,如果有其他想了解的,欢迎提issue,会抽空去学习并完善的。
如果想帮助完善的,也可以联系我,下方有
联系方式
。
目录
java
linux
go
python
ai
other
联系方式
邮箱:2601183227@qq.com
微信:
results matching "
"
No results matching "
"