heoller
heoller
全部文章
Java
docker(1)
JVM(2)
Kafka(3)
Linux(1)
maven(1)
Mybatis(1)
Mysql(5)
Netty(3)
RabbitMQ(4)
Redis(1)
Spring(4)
Zookeeper(1)
归档
标签
去牛客网
登录
/
注册
Heoller Blog
长风破浪会有时,直挂云帆济沧海。
全部文章
/ Java
(共6篇)
手把手教你开发IDEA插件
环境准备 IntelliJ IDEA并安装Plugin DevKit插件 JDK8 基于Gradle创建plugin项目 File->New->Projects Next Next Next && Finish 修改build.gradle文件 打开bu...
Java
2022-02-08
0
804
你真的懂ThreadLocal吗?
来自专栏
引用结构 每个线程都有一个ThreadLocal.ThreadLocalMap类型的threadLocals属性, ThreadLocalMap中使用Entry来存储线程相关变量,Entry的key是对ThreadLocal的一个弱引用,value则是Object类型的线程变量。如下图: 内存泄漏...
java
2021-06-03
0
420
Java并发之线程池
来自专栏
使用线程池是为了减少创建和销毁线程带来的资源消耗。线程池适用于单任务处理时间短且任务量较大的场景。 线程池核心参数 参数 说明 int corePoolSize 核心线程数 int maximumPoolSize 最大线程数 long keepAliveTime 非核心线程最大...
java
juc
线程池
2020-08-29
0
615
Java并发之CountDownLatch
当存在多线程执行任务,需要等待指定数量的子线程都执行完后,再执行主线程任务场景时,可以使用CountDownLatch类来实现。其静态内部类Sync继承了AbstractQueuedSynchronizer,主要实现了AQS的tryAcquireShared和tryReleaseShared方法。 ...
java
juc
CountDownLatch
2020-08-19
0
499
Java并发之Semaphore
Semaphore可以用来控制访问临界资源的线程数,也是基于AQS框架的。 CLH首个线程结点唤醒后续线程节点 int r = tryAcquireShared(arg); // 可用“权限”数(state)判断 if (r >= 0) { // 向后广播,唤醒后继节点 // ...
aqs
java
juc
Semaphore
2020-08-19
0
515
Java并发之syncronized
syncronized原理 syncronized是基于java对象加锁的。java对象创建后jvm会给该对象维护一个管程(Monitor)对象, Monitor最终又依赖操作系统维护的Mutex(互斥量)进行一系列锁操作, 比如: Monitor.Enter(获取锁)、Monitor.Exit(释...
synchronized
java
juc
2020-08-15
0
575