![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVA高阶必备技能
文章平均质量分 67
JAVA高阶必备技能
么古
这个作者很懒,什么都没留下…
展开
-
ReentrantLock独占锁加锁源码分析--逻辑图
原创 2022-02-22 10:00:13 · 416 阅读 · 0 评论 -
HashMap底层数据结构--put过程图
原创 2022-02-25 16:56:29 · 360 阅读 · 0 评论 -
Java并发(多线程和锁机制)
part 01:Java线程1、进程和线程的区别: 进程是操作系统进行资源分配的最小单位,线程是操作系统进行任务分配的最小单位,一个进程可以有多个线程。 2、Java开启线程的方式: 继承Tread类,重写run方法; 实现Runnable接口,实现run方法; 实现Callable接口,实现call方法;(FutureTask创建线程,获取线程返回值); 通过线程池开启线程(优点:提升线程池中线程的使用率,减少线程的创建、销毁所花的时间以及系统..原创 2021-06-29 22:23:17 · 356 阅读 · 1 评论 -
Redis基础数据结构、持久化机制和缓存淘汰策略
part 01:Redis基础数据结构1、Redis基础数据结构 string:可以将JSON序列化成字符串,放入Redis缓存 原子计数:如果value值是一个整数,还可以对它进行自增操作。自增是有范围的,它的范围是 signed long 的最大最小值,超过了这个值,Redis 会报错(可以用来设置分布式锁) incr key #自增1,如果key不存在,key的值会先被初始化为0,然后再执行incr操作 incrby key 5 #增加5...原创 2021-05-19 14:54:10 · 230 阅读 · 0 评论 -
JVM垃圾回收和类加载器
part 01:JVM垃圾回收1、JVM运行时数据区(内存模型) Java堆:存储new出来的对象,存放对象实例(对象被GC之前会调用对象中的finalize),分为 新生代(新生代包含eden区和两个survivor区 ) 老年代包括: 动态年龄判断(某个相同年龄对象占用内存大小超过了survivor区内存的50%时); 长期存活,年龄达到一定值(年龄阈值,可以通过-XX:MaxTenuringThreshold来设置)原创 2021-05-17 10:29:43 · 169 阅读 · 0 评论 -
GIT基本概念、核心命令及底层原理
part 01:GIT基本概念与核心命令1、基本概念 git是一个分布式的版本管理系统 git把内容按元数据方式存储 2、git核心命令的使用 初始化:git init名称 把文件添加到暂存区:git add文件名、git add -A (全部文件添加进去) 把文件从暂存区删除:git rm --cached文件名 从暂存区提交到本地仓库:git commit文件名/-am(全部文件) -m '注释' 查看文件状态:git sta...原创 2021-05-10 09:56:04 · 232 阅读 · 0 评论 -
MySQL索引和锁
part 01:MySQL索引SQL的执行顺序:from---where--group by---having---select---order by1、MySQL存储引擎(表级别的) InnoDB(聚集索引):支持事务;面向在线事务处理(OLTP);特点是行锁设计,支持外键,并支持非锁定锁(默认读取操作不会产生锁)。MySQL5.5.8开始,InnoDB是默认的存储引擎。数据文件本身就是索引文件;主键索引叶子节点存储整行数据,非主键索引叶子节点存储主键(考虑数据一致性...原创 2021-05-14 11:06:56 · 342 阅读 · 1 评论