JAVA专栏
分享一些Java学习心得
Netocc
这个作者很懒,什么都没留下…
展开
-
线程死锁
一、死锁的定义所谓死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。二、死锁产生的原因1.资源有限;2.锁嵌套;3.不强制剥夺线程占有的资源。三、死锁案例代码:以扫描仪和打印机为例,有多个线程争夺这两个共享资源的使用权打印机类:package cc.zxf.owner.vip.lineLock;/** * 打印机类 */public class Print { public void.原创 2021-01-14 22:29:43 · 164 阅读 · 1 评论 -
等待和通知 wait()/notify()
等待和通知的标准范式等待方:获取对象的锁; 循环里判断条件是否满足,不满足调用wait方法, 条件满足执行业务逻辑通知方:获取对象的锁; 改变条件 通知所有等待在对象的线程wait和notify简单使用示例package cc.zxf.owner.vip.waitNotify;import java.util.concurrent.CountDownLatch;public class WN { private Boolean onOff; p.原创 2021-01-14 21:45:13 · 194 阅读 · 0 评论 -
synchronized同步锁
synchronized同步锁的使用:synchronized是Java中的关键字,是一种同步锁。synchronized可以对类的对象加锁也可以对类的class对象加锁;对类的class对象加锁时是全局唯一的所有对该类的对象操作的线程都需要等待锁资源的释放;对类的对象加锁时,只有对该类同一个对象操作的线程才需要等待锁资源的释放。代码示例:package cc.zxf.owner.utils;/** * 类锁全局唯一,对象锁只锁对同一个对象的操作 */public .原创 2021-01-14 13:23:47 · 1064 阅读 · 0 评论 -
CountDownLanch的使用
CountDownLanch的使用CountDownLanch是一个倒数计数器, 给一个初始值(>=0), 然后每一次调用countDown就会减1, 这很符合等待多个子线程结束的场景: 一个线程结束的时候, countDown一次, 直到所有的线程都countDown了 , 那么所有子线程就都结束了....原创 2021-01-12 18:16:53 · 973 阅读 · 1 评论 -
SpringBoot配置过滤器、监听器和拦截器
一:配置过滤器1.创建TestFilter类并实现Filter接口@WebFilter(filterName="testFilter",urlPatterns="/*") //@WebFilter是定义过滤器的注解 ,urlPatterns="/*" 定义过滤器过滤的路径public class TestFilter implements Filter{ @Override publi...原创 2018-04-07 10:53:59 · 2543 阅读 · 0 评论