- 博客(10)
- 资源 (3)
- 收藏
- 关注
原创 ReentrantLock公平锁与非公平锁实现原理
ReentrantLock公平锁与非公平锁的实现原理ReentrantLock是J.U.C包下的一个类,默认是非公平的public class ReentrantLock implements Lock, java.io.Serializable { // 内部类 private final Sync sync; public ReentrantLock() { // 默认使用非公平锁 sync = new NonfairSync(); }
2021-09-02 11:41:01
3752
原创 Redis相关面试题
Redis 有哪些数据类型,及底层实现底层数据类型可通过OBJECT encoding key查看,在安装包路径下的src目录下可查看具体的实现逻辑String(字符串)。主要由简单动态字符串实现,具体类型有,INT、EMBSTR、RAM。sdshdr保存了len、free、buf这三个参数属性。通过len 属性,sdshdr 可以实现复杂度为θ(1) 的长度计算操作。另一方面,通过对buf 分配一些额外的空间,并使用free 记录未使用空间的大小,sdshdr 可以让执行追加操作所需的内存重分配次数
2021-07-01 16:26:46
207
转载 Redis数据结构——简单动态字符串SDS
相信用过Redis的人都知道,Redis提供了一个逻辑上的对象系统构建了一个键值对数据库以供客户端用户使用。这个对象系统包括字符串对象,哈希对象,列表对象,集合对象,有序集合对象等。但是Redis面向内存并没有直接使用这些对象。而是使用了简单动态字符串,链表,字典(散列表),跳跃表,整数集合,压缩列表这些数据结构来操作内存。一、简单动态字符串(SDS)Redis默认并未直接使用C字符串(C字符串仅仅作为字符串字面量,用在一些无需对字符串进行修改的地方,如打印日志)。而是以Struct的形式构造了一个S
2021-06-30 17:30:56
109
原创 JVM类加载器相关面试题
什么是类加载器Java类加载器是Java运行时环境的一部分,负责动态加载Java类到Java虚拟机的内存空间中。类通常是按需加载,即第一次使用该类时才加载类加载器有哪些BootStrapClassLoader 加载JAVA_HONE/lib(启动类加载器)ExtClassLoader 加载JAVA_HONE/lib/ext的类(扩展类加载器)AppClassLoader 加载classpath路径下的类(应用类加载器)用户自定义类加载器什么是双亲委派模型,有什么好处向上委派:向上查找
2021-06-28 17:50:43
144
原创 常用排序算法及代码示例(Java)
既然容易忘记,那就记录一下,偶尔回头看看当初的起跑点数据来源来极客时间王争哥的《数据结构与算法之美》1.冒泡排序:通过每一次遍历获取最大/最小值,将最大值/最小值放在尾部/头部,然后除开最大值/最小值,剩下的数据在进行遍历获取最大/最小值int[] arr = {9, 5, 8, 1, 2, 6};int len = arr.length;for (int i = 0; i < len; i++) { //内层循环一次,获取一个最大值 for (int j = 0; j
2021-06-22 16:39:07
96
原创 Git常用命令
这些命令, 应付开发足够了一、本地操作:基本操作git init:初始化本地库git status:查看工作区、暂存区的状态git add <file name>:将工作区的“新建/修改”添加到暂存区git rm --cached <file name>:移除暂存区的修改git commit <file name>:将暂存区的内容提交到本地库 tip:需要再编辑提交日志,比较麻烦,建议用下面带参数的提交方法git commit -m "提交日志"
2021-06-22 10:23:42
61
原创 GitHub骚操作
in 关键字限制搜索xxx in:namexxx in:name,readmestars(点赞)或fork数量关键词查找查询点赞数大于等于500的SpringBoot项目 springboot stars:>=5000查询fork数大于500的SpringBoot项目 springboot fork:>500区间查询 springboot stars:1000…5000,fork:100…500awesome 关键字,一般用来收集学习、工具、书籍类相关.
2021-06-22 10:13:59
96
原创 MySQL面试题及答案
MySQL面试题及答案数据库的几大范式第一范式(1NF)无重复的列所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。第二范式(2NF)属性完全依赖于主键 [ 消除部分子函数依赖 ]如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键, 则称为第二范式模式。第三范式(3NF)属性不依赖于其它非主属性 [ 消除传递依赖 ]如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候
2021-06-19 20:17:06
299
原创 CentOS安装配置maven
一. 下载官方下载地址:maven download二. 解压tar -zxvf apache-maven-3.3.9-bin.tar.gz (安装路径为:/usr/local/maven)三.安装在 /etc/profile 文件里添加以下内容export MAVEN_HOME=/usr/local/mavenexport PAT
2021-06-19 17:38:04
1049
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人