- 博客(8)
- 收藏
- 关注
原创 Java任务调度
答:任务调度就是按照特定时间规则执行系统某个固定的业务逻辑。任务调度底层是使用jdk的Timer实现的。单体项目建议使用Spring-task任务调度技术,分布式架构建议使用quartz任务调度框架。Spring-task是单线程运行旳,Quartz是多线程运行的,且功能更为丰富,支持作业管理。
2024-01-04 21:47:28
1257
1
原创 JVM专题
垃圾回收器(,简称GC)负责回收JVM运行时数据区的堆内存和方法区中数据。而虚拟机栈、程序计数器、本地方法栈都是根据线程创建而创建,随着线程销毁而销毁,所以不需要进行回收。主要为了减少STW时间。
2023-09-01 20:59:09
34
1
原创 JUC_锁
JUC中锁的底层使用的就是AQS:Lock接口的实现类,可重入锁。相当于synchronized同步锁。:ReadWriteLock接口的实现类。类中包含两个静态内部类,ReadLock读锁、WriteLock写锁。Condition:是一个接口,都是通过lock.newCondition()实例化。属于wait和notify的替代品。提供了await()、signal()、singnalAll()与之对应。:和Thread中suspend()和resume()相似。
2023-08-30 20:07:25
25
1
原创 JUC 线程池
采用SynchronousQueue(同步队列)装等待的任务,这个阻塞队列没有存储空间,这意味着只要有请求到来,就必须要找到一条工作线程处理他,如果当前没有空闲的线程,那么就会再创建一条新的线程。如果在分叉后一个线程执行完成,另外的线程还没有结束,会从双端队列中尾部处理任务,另一个线程从头部取任务,防止出现线程竞争。CallerRunsPolicy: 由调用该任务的线程处理, 线程池不参与, 只要线程池未关闭,该任务一直在调用者线程中。通过重用线程对象,降低因为新建和销毁线程产生的系统消耗。
2023-08-29 21:29:10
39
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人