- 博客(8)
- 收藏
- 关注
原创 ConcurrentHashMap的实现原理
在jdk1.8之前,ConcurrentHashMap底层使用的是Segment数组 + HashEntry数组。将数据分为一段一段的存储,一共是分为了16段,每个数据段底下都是一个HashEntry数组,给每段数据都加上了一把锁,在某个线程访问其中一段数据时,保证其他数据也能被别的线程进行访问。HashEntry底层和HashMap是一样的,采用了数组 + 链表的形式进行实现。
2024-09-27 11:26:03
232
原创 java中的反射机制
Java反射机制就是指在java代码执行过程中,能够随时获取某个类的属性和方法,能够随时调用某个对象的属性和方法。这种动态获取信息和动态调用对象的方法的功能称之为java的反射机制。对于一个私有成员如果想访问它,则需要设置setAccessable(true),也就是所谓的暴力反射。能够动态执行,在运行期间根据业务功能动态的执行方法、访问属性,最大限度的发挥了java的灵活度。对性能有影响,这些操作总是慢于直接执行java代码。
2024-09-26 19:43:52
227
原创 抽象类和接口有什么区别
首先要知道,接口中的方法是没有方法体的(不考虑jdk1.8和default的情况下);抽象类中的抽象方法也是没有方法体的。
2024-09-26 19:34:06
141
原创 为什么要重写equals和hashcode
在重写之前,equals比较的是它们的地址值,重写之后才会比较属性值。要注意的是,在重写equals之前还要重写hashcode方法。如果两个对象使用equals进行比较时,结果是true那么hashcode也应该是相等。说明这两个对象指向的是同一个地址。
2024-09-25 10:28:03
257
原创 Redis怎么实现持久化
此时会把这些新发送过来的写命令继续追加到旧的aof文件中,同时把这些新的写命令缓存起来。同时满足以上两种条件才会触发重写:以上是redis重写的默认配置,只有当aof文件的大小是上次重写后文件大小的一倍且大于或等于64MB才会触发重写。以日志的形式,记录服务器的每一个写操作,将这些命令存入aof文件中,在实现持久化时就会将aof文件中的命令全部执行一遍,实现数据的恢复。3:当子进程把所有命令写入到了临时文件中,就会通知父进程,父进程就会把他缓存的那些命令也写入到临时文件中。是redis默认的持久化方法。
2024-09-23 16:43:45
1707
原创 MySQL中的连接中 on 后面接的条件和 where 后面接的条件有什么区别
MySQL中的连接中 on 后面接的条件和 where 后面接的条件有什么区别
2024-05-24 17:33:40
941
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人