摘要: 文件【存储为】选择ICO. 如果没有ICO格式,访问地址:http://www.telegraphics.com.au/svn/icoformat/trunk/dist/README.html 按照网站教程安装 阅读全文
posted @ 2020-12-14 13:56 donfaquir 阅读(725) 评论(0) 推荐(0) 编辑
摘要: ExecutorService是Java中对线程池定义的一个接口,它java.util.concurrent包中,在这个接口中定义了和后台任务执行相关的方法,具体的解释可以看下面的源码注释: package java.util.concurrent; import java.util.Collect 阅读全文
posted @ 2020-11-07 16:39 donfaquir 阅读(106) 评论(0) 推荐(0) 编辑
摘要: Executor框架-1-Executor接口 Executor是一个接口,Executor框架的基础,它将任务的提交与任务的执行分离。Executor的功能,看源码注释内容基本就可以了解了; package java.util.concurrent; /** * Executor是执行提交任务的类 阅读全文
posted @ 2020-11-07 16:36 donfaquir 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 插入(源码) // 保存一个KEY-VALUE键值对,如果KEY值已经存在,覆盖旧VALUE public V put(K key, V value) { return putVal(hash(key), key, value, false, true); } final V putVal(int 阅读全文
posted @ 2020-10-22 09:40 donfaquir 阅读(91) 评论(0) 推荐(0) 编辑
摘要: StampedLock StampedLock是并发包里面jdk8版本新增的一个锁,该锁提供了三种模式的读写控制,三种模式分别如下: 写锁writeLock,是个排它锁或者叫独占锁,同时只有一个线程可以获取该锁,当一个线程获取该锁后,其它请求的线程必须等待,当目前没有线程持有读锁或者写锁的时候才可以 阅读全文
posted @ 2020-10-20 13:55 donfaquir 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁。在没有写操作的时候,多个线程同时读一个资源没有任何问题,所以应该允许多个线程同时读取共享资源;但是如果一个线程想去写这些共享资源,就不应该允许其他线程对该资源进行读和写的操作了。 ReetranctLock和Synchron 阅读全文
posted @ 2020-10-20 13:52 donfaquir 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 与synchronized的区别 在使用synchronized关键字的情形下,假如占有锁的线程由于要等待IO或者其他原因(比如调用sleep方法)被阻塞了,但是又没有释放锁,那么其他线程就只能一直等待,别无他法。这会极大影响程序执行效率。因此,就需要有一种机制可以不让等待的线程一直无期限地等待下去 阅读全文
posted @ 2020-10-20 13:49 donfaquir 阅读(150) 评论(0) 推荐(0) 编辑
摘要: AbstractQueuedSynchronizer简称AQS,它是java.util.concurrent包下CountDownLatch/FutureTask/ReentrantLock/RenntrantReadWriteLock/Semaphore实现的基础。 AQS通过内部实现的FIFO等 阅读全文
posted @ 2020-10-20 13:47 donfaquir 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 1 AQS AbstractQueuedSynchronizer简称AQS,它是java.util.concurrent包下CountDownLatch/FutureTask/ReentrantLock/RenntrantReadWriteLock/Semaphore实现的基础。 AQS通过内部实现 阅读全文
posted @ 2020-10-20 11:44 donfaquir 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 1 使用方式 synchronized可以修饰静态方法、成员函数,同时还可以直接定义代码块,但是归根结底它上锁的资源只有两类:一个是对象,一个是类。 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号括起来的代码,作用的对象是调用这个代码块的对象; 修饰一个方法,被修饰的方法称为同步 阅读全文
posted @ 2020-10-20 11:35 donfaquir 阅读(133) 评论(0) 推荐(0) 编辑