
进阶
文章平均质量分 78
开发小头目
[2021:目前将Java基础回顾一番(按照下面的顺序):https://jingyan.baidu.com/article/c1a3101e110864de656deb83.html]
[2025:Java之从入门到放弃。 如何炒好一碗兰溪手擀面 ING ]
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
mysql - 13.进阶命令-事务/锁/进程
1.查询数据库当前事务 - 检查当前mysql Thread id 对应的执行信息SELECT * FROM information_schema.INNODB_TRX;SELECT * FROM information_schema.processlist where id in (SELECT trx_mysql_thread_id FROM information_schema.I...原创 2019-10-25 15:59:52 · 183 阅读 · 0 评论 -
spring - 事务管理方法-
@Transactional public String test(Request request) { System.out.println("开始test方法"); RequesteDO req = aftersaleMapper.selectByPrimaryKey(request.getId()); req.setApply...原创 2019-10-16 17:27:48 · 188 阅读 · 0 评论 -
java进阶-7-D -多线程-Lock专题- LockSupport类
AQS 里面的队列的阻塞和恢复,调用的就是LockSupport的方法来完成:下面将LockSupport的公共方法简单的介绍一边吧功能不多,但是里面的实现细节也是学习的方向方法 返回值 描述 park() void 阻塞当前所在线程 parkNanos(long) void 阻塞当前所在线程 多长时间 parkUntil( long)...原创 2019-02-27 16:13:31 · 155 阅读 · 0 评论 -
java进阶-线程池 - D - 1 - ScheduledExecutorService类
从字面上理解-有计划的执行服务 ====> ”普通fa“ 翻译 -->定时执行任务这里涉及到的类主要就是 ScheduledExecutorService接口,以及实现该接口的 ScheduledThreadPoolExecutor类scheduledThreadPoolExecutor类还继承了ThreadPoolExecutor类第一期解析一下 sche...原创 2019-02-18 16:01:53 · 226 阅读 · 0 评论 -
java进阶-7-D -多线程-Lock专题- Condition 介绍
Condition 接口 :很明显里面的额方法其实就2种,一种是等待, 一种是唤醒 await表示等待 ,更具传入的参数不同,能够实现的功能也不同:await() 进入等待状态 awaitNanos(long) 进入等待状态 多长时间之后自动苏醒 await(long,TimeUnit) 同上 awaitUnit(D...原创 2019-02-28 21:36:13 · 230 阅读 · 1 评论 -
java并发实战-1
1.实战的第一阶段是什么,是将学到的那些东西变成 工作中的一个个优化点2.关于优化点:我们的目的是分割任务,分析出任务的那些阶段是可以并发去完成,那些阶段可以缩短时间,以这个为目的来 达到优化。 当然有一利必有一弊 ,在我们进行并发任务的时候可能会有多线程的数据安全问题,我们需要通过锁/cas/代码业务逻辑 来保证安全性 ,在我们系统中...原创 2019-03-04 23:23:20 · 117 阅读 · 0 评论 -
java进阶-7-D -多线程-Lock专题- ReentrantReadWriteLock
相比起ReentrantLock ,ReentrantReadWriteLock 更像是将2个ReentrantLock包装到了一起,一个ReentrantLock是独占锁-writeLock,另外一个是共享锁-readLock ,当然这个内部还有一些润滑剂:比如写锁可以降级成读锁,但是读锁无法升级成写锁...1.ReentrantReadWriteLock 实现了那些接口?1....原创 2019-02-27 16:08:47 · 167 阅读 · 0 评论 -
java进阶-7-D -多线程-Lock专题- ReentrantLock类
开篇一张,故事全靠~~~:根据AQS来自己实现一个Lock吧import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.AbstractQueuedSynchronizer;import java.util.concurrent.locks.Condition;import java.util.con...原创 2019-02-27 16:03:42 · 188 阅读 · 0 评论 -
java进阶-线程池-番外-Future,我要你有何用
Future清清白白的接口,出现它是源于,1.5之前的线程运行完之后是没有返回值的 runnable -void ,有些场景不是很方便,出现callable,有了返回值,返回一个Future<T>O~~NO,这个不是很难,我就引用网上的小伙伴的总结了 在Future接口中声明了5个方法,下面依次解释每个方法的作用:cancel 方法用来取消任务,取消任务成功返回tr...原创 2019-02-14 18:25:49 · 270 阅读 · 0 评论 -
java进阶-线程池-番外-CompletionService,到底是什么完成了的服务
这个类--JDK源码上没有标明出处,有故事,抱着学习的态度,某度了下 No Found (:这个方法的主要目的是可以获取到完成的任务,从而避免因为任务队列顺序的原因导致:前面的线程任务阻塞后面已经完成的任务被获取。1.接口 CompletionService//两个作用:提交任务、获取已完成任务的Futurepublic interface CompletionServi...原创 2019-02-15 15:18:08 · 463 阅读 · 0 评论 -
java进阶-线程池 - B - 1 -作为所有线程池的父类,AbstractExecutorService抽象类有话要说
标题的 B-1 相对于A 所属层级已经不同,相同层级用数字1、2...表示继续看图说话先大胆的发表自己的理解:这里用抽象类封装核心功能点,可以选择性实现接口中的方法,又能保证扩展性与维护性不被破坏下面来看看这里面到底有些什么鬼东西?1. submit invokeAny invokeAll 方法是对ExecutorService接口中方法的实现,newTaskFor d...原创 2019-02-15 16:42:37 · 600 阅读 · 0 评论 -
java进阶-线程池 - C - 1 - ThreadPoolExecutor类
先把图拿出来这个类想看懂要花点时间:1.基础知识:位运算,automicInteger概念,volatile意义,基本设计模式2.里面有几个内部类 CallerRunsPolicy AbortPolicy DiscardPolicy DiscardOldestPolicy ,这几个类呢叫做线程池的饱和策略3.还有一个worker内部私有类,这个类就厉害了...原创 2019-02-17 18:39:24 · 313 阅读 · 0 评论 -
java进阶-线程池 - C - 2 - ThreadPoolExecutor类的变量解释
ThreadPoolExecutor 类变量 private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0)); private static final int COUNT_BITS = Integer.SIZE - 3; private static final int CAPACITY ...原创 2019-02-17 19:19:25 · 663 阅读 · 0 评论 -
java进阶-7-D -多线程-Lock专题- Lock接口
Lock接口1.从关系图来看,这个Lock算是一个核心接口,非常多的地方实现了它就这一眼看过去这几个方法已经把一个锁应该做的事情都列举出来了,可以通过声明Lock实例化对应的接口实现类,来达到面向对象的封装性。 不错Lock的锁与Synchronized的相比 有几个特性 ---实现层面上不同 / Lock可以重入,synchronized是独占 / 只有Lock会造成活锁...原创 2019-02-22 22:21:34 · 198 阅读 · 0 评论 -
java进阶-7-D -多线程-Lock专题- AQS源码剖析
AQS-AbstractQueuedSynchronizer 介绍1.开篇第一件事情,就是先将 Node 这个内部静态类搞清楚了Node{SHARED Node 共享锁的标志 (默认值 new Node()) EXCLUSIVE Node 独占锁标志 (默认 为 null) CANCELLED int 1 该节点的线程已经...原创 2019-02-27 15:59:21 · 183 阅读 · 0 评论 -
java进阶-7-D -多线程-Lock专题- AQS 之 获取锁:acquire / acquireQueued
1.这个AQS里面最基础也是使用频率最高的一个方法 : acquire - 独占式获取锁 public final void acquire(int arg) { if (!tryAcquire(arg) && acquireQueued(addWaiter(Node.EXCLUSIVE), arg)) ...原创 2019-02-27 16:00:21 · 1836 阅读 · 13 评论 -
java进阶 - 线程池 - A - ExecutorService
标注:这是一条不归路,想看的请按照 XXX-OOO-英文字母-ZZZ 英文字母的顺序不要命的走下去Doug Lea 牛逼!!!好,开始了,画了张小图1.先要说一下线程池 垫在最屁股底下的东西Executor:这个接口就一个方法目前就我不成熟的看法:这个方法是为了 用一下接口特性: 维护性, 扩展性2.然后再看一下上面一层薄膜哦哟,也是个接口,经过我吃了...原创 2019-02-14 17:48:18 · 533 阅读 · 0 评论