自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 synchronized和lock有什么区别

synchronized和lock有什么区别?用新的lock有什么好处?你举例说说 原始构成 synchronized时关键字属于JVM层面的 monitorenter(底层时通过monitor对象来完成,其实wait/notify等方法也依赖于monitor对象只有在同步块或方法中才能调用wait/notify等方法) lock是具体类(Java.util.concurrent.locks.lock)是api层面的锁 使用方法 synchronized不需要用户去手动释放锁,当sync

2021-06-03 15:37:29 75

原创 Java锁

CoutDownLatch 让一些线程阻塞直到另一些线程完成一些列操作后才被唤醒 DountDownLatch主要有两个方法,当一个或多个线程调用await方法时,调用线程会被阻塞。其他线程 调用countDown方法会将计数器减1(调用countDown方法的线程不会阻塞), 当计数器的之变成零时,因调用await方法被阻塞的线程会被唤醒,继续执行。 CountDownLatchDemo /** * 枚举类的用处: 节省了很多 if判断 * 使代码一处跟新

2021-06-03 15:28:17 59

原创 java线程池

为什么使用线程池,优势 线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量超出数量的线程排队等候,等其他线程执行完毕,再从队列中取出任务来执行 他的主要特点为:线程复用,控制最大并发数,管理线程。 降低资源消耗,通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度,当任务到达时,任务可以不需要等到线程创建就能立即执行。 提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性

2021-06-03 15:23:22 44

原创 redis内存淘汰策略

Redis内存淘汰策略 (1)volatile-lru:从已设置过期时间的数据集中挑选最近最少使用的数据淘汰。 (2)volatile-ttl:从已设置过期时间的数据集中挑选将要过期的数据淘汰。 (3)volatile-random:从已设置过期时间的数据集中任意选择数据淘汰。 (4)volatile-lfu:从已设置过期时间的数据集挑选使用频率最低的数据淘汰。 (5)allkeys-lru:从数据集中挑选最近最少使用的数据淘汰 (6)allkeys-lfu:从数据集中挑选使用频率最低的数据淘汰。 (7)a

2021-05-07 23:53:22 60

原创 redis事务

redis事务 是什么 可以一次执行多个命令,本质是一组命令的集合,一个事务中的所有命令都会序列化按顺序地串行化执行,执行而不会被其他命令插入,不允许加塞 能干嘛 一个队列中,一次性,顺序性,排他性的执行一系列命令 怎么玩 如果要开启一个事务,使用MULTI开启事务,该命令总是返会OK(注意不见得是真实OK,他表示它收到了,但是办不办什么时候办两说),此时,用户可以发出多个命令,而不是执行这些命令,这些命令会挨个排序,一旦EXEC被调用,所有的命令都会被执行, 而调用DISCARD将刷新事务

2021-05-07 23:51:24 38

原创 CAS问题

CAS是什么 (CAS知道吗?) CAS的全称为Compare-And-Swap,它是一条CPU并发短语 它的功能是判断内存某个位置的值是否为预期值,如果是则更改为新的值,这个过程是原子的 CAS并发原语体现在Java语言中就是sun.misc.Unsafe类中的各个方法,调用UnSafe类中的CAS方法,JVM会帮我们实现出CAS汇编指令。这是一种完全依赖于硬件的功能,通过它实现了原子操作。再次强调,由于CAS是一种系统原语,原语属于操作系统用语范畴,是由若干条指令组成的,用于完成某一个功能的一个过程,

2021-05-07 23:45:30 69

原创 Java面试题

Java基础 1、什么是面向对象,有哪些特征?结合代码说明 面向对象就是不用在意方法的内部实现 只用关注方法的实现 特征:封装:属性私有化 方法公开化 ​ 继承:子类可以继承父类非私有的方法和属性 并可以对其进行重写 ​ 多态:父类做引用子类实例化 2、Java基本数据类型有哪些,分别占用多少内存,对应封装类是哪些 类型|默认值|包装类|大小 byte (byte)0 Byte 1byte short (short)0 Short 2byte int 0 Integer

2021-05-07 23:37:30 1872

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除