高并发
吒哇
这个作者很懒,什么都没留下…
展开
-
高并发的利器
原创 2020-09-13 15:11:26 · 102 阅读 · 0 评论 -
深入理解JAVA多线程AQS及其底层实现
参考链接:https://www.freesion.com/article/4118592853/原创 2020-07-07 17:25:40 · 250 阅读 · 0 评论 -
AbstractQueuedSynchronizer同步队列与Condition等待队列协同机制
参考链接:https://blog.csdn.net/tb3039450/article/details/69056169原创 2020-07-03 18:02:36 · 114 阅读 · 0 评论 -
深入剖析java并发之阻塞队列LinkedBlockingQueue与ArrayBlockingQueue
参考:https://blog.csdn.net/javazejian/article/details/77410889原创 2020-06-01 14:47:22 · 139 阅读 · 0 评论 -
深入理解Java并发之synchronized实现原理
参考:https://blog.csdn.net/javazejian/article/details/72828483原创 2020-06-01 14:46:49 · 107 阅读 · 0 评论 -
Java并发编程-无锁CAS与Unsafe类及其并发包Atomic
参考:https://blog.csdn.net/javazejian/article/details/72772470原创 2020-06-01 14:46:05 · 145 阅读 · 0 评论 -
剖析基于并发AQS的共享锁的实现(基于信号量Semaphore)
参考:https://blog.csdn.net/javazejian/article/details/76167357原创 2020-06-01 14:45:22 · 120 阅读 · 0 评论 -
深入剖析基于并发AQS的(独占锁)重入锁(ReetrantLock)及其Condition实现原理
参考:https://blog.csdn.net/javazejian/article/details/75043422原创 2020-06-01 14:44:30 · 103 阅读 · 0 评论 -
全面理解Java内存模型(JMM)及volatile关键字
具体参看:https://blog.csdn.net/javazejian/article/details/72772461原创 2020-06-01 14:43:42 · 155 阅读 · 0 评论 -
Thread类中的join()方法原理
简介join()是Thread类的一个方法。根据jdk文档的定义:public final void join()throws InterruptedException:Waits for this thread to die.join()方法的作用,是等待这个线程结束;但显然,这样的定义并不清晰。个人认为”Java 7 Concurrency Cookbook”的定义较为清晰:join() method suspends the execution of the calling t.原创 2020-05-28 15:47:14 · 345 阅读 · 0 评论 -
线程的基本操作
目录线程状态切换 终止线程(stop) 中断线程(interrupt) 挂起(suspend) 和 继续执行(resume) 等待线程结束(join) 和 谦让(yield) sleep 线程优先级 守护线程 线程的同步操作(synchronized, wait,notify)线程状态切换终止线程(stop)不推荐使用Thread.stop(), 他会释放所有的...原创 2019-09-12 13:57:11 · 430 阅读 · 0 评论 -
Java内存模型与指令重排
本文暂不讲JMM(Java Memory Model)中的主存, 工作内存以及数据如何在其中流转等等,这些本身还牵扯到硬件内存架构,直接上手容易绕晕, 先从以下几个点探索JMM原子性 有序性 可见性 指令重排 CPU指令重排 编译器优化重排 Happen-Before规则原子性原子性是指一个操作是不可中断的. 即使是在多个线程一起执行的时候,一个操作一旦开始,...原创 2019-09-12 13:50:59 · 423 阅读 · 0 评论 -
JDK并发包总结
同步控制工具类ReentrantLock简而言之, 就是自由度更高的synchronized, 主要具备以下优点.可重入: 单线程可以重复进入,但要重复退出 可中断: lock.lockInterruptibly() 可限时: 超时不能获得锁,就返回false,不会永久等待构成死锁 公平锁: 先来先得,public ReentrantLock(boolean fair), ...原创 2019-09-12 13:31:41 · 732 阅读 · 0 评论 -
Java高并发之线程池详解
线程池优势在业务场景中, 如果一个对象创建销毁开销比较大, 那么此时建议池化对象进行管理.例如线程, jdbc连接等等, 在高并发场景中, 如果可以复用之前销毁的对象, 那么系统效率将大大提升.另外一个好处是可以设定池化对象的上限, 例如预防创建线程数量过多导致系统崩溃的场景.jdk中的线程池下文主要从以下几个角度讲解:创建线程池我们可以通过自定义ThreadP...原创 2019-09-12 13:29:18 · 158 阅读 · 0 评论 -
Java高并发之锁优化
锁优化减少锁的持有时间例如避免给整个方法加锁1 public synchronized void syncMethod(){ 2 othercode1(); 3 mutextMethod(); 4 othercode2(); 5 }改进后1 public void syncMethod2...原创 2019-09-12 13:27:16 · 200 阅读 · 0 评论 -
Java高并发之无锁与Atomic源码分析
目录无锁即无障碍的运行, 所有线程都可以到达临界区, 接近于无等待.无锁采用CAS(compare and swap)算法来处理线程冲突, 其原理如下CAS原理CAS包含3个参数CAS(V,E,N).V表示要更新的变量, E表示预期值, N表示新值.仅当V值等于E值时, 才会将V的值设为N, 如果V值和E值不同, 则说明已经有其他线程做了更新, 则当前线程什么都不做. ...原创 2019-09-12 13:24:32 · 188 阅读 · 0 评论 -
java高并发之设计模式.
单例单例是最常见的一种设计模式, 一般用于全局对象管理, 比如xml配置读写之类的.一般分为懒汉式, 饿汉式.懒汉式: 方法上加synchronized1 public static synchronized Singleton getInstance() { 2 if (single == null) { 3 sing...原创 2019-09-12 11:35:13 · 305 阅读 · 0 评论