- 博客(6)
- 资源 (15)
- 收藏
- 关注
原创 DelayQueue用例
DelayQueue是一个延迟队列,插入队列的数据只有达到设置的延迟时间时才能被取出,否则线程会被阻塞。插入队列的对象必须实现Delayed接口,实现comapreTo方法和getDelay方法,其中getDelay方法用于设置对象延迟多少秒取出,compareTo用于对被延迟取出的数据进行排序,所以compareTo方法中一般调用对象的getDelay方法,根据对象的延迟时间进行排序。首先是...
2019-03-30 22:45:25 218
原创 PriorityBlockingQueue用例
PriorityBlockingQueue顾名思义是带有优先级的阻塞队列,为了实现按优先级弹出数据,存入其中的对象必须实现comparable接口自定义排序方法。取出数据时会按照compareTo方法排序后的顺序取出。首先是定义实现comparable接口的类:/** * 添加到优先级队列的对象需要自定义排序方法 * @author SN * */public class Pr...
2019-03-30 17:10:13 255
原创 SynchronousQueue用例
SynchronousQueue是无缓冲区的阻塞队列,即不能直接向队列中添加数据,会报队列满异常,如下所示:import java.util.concurrent.SynchronousQueue;public class SynchronousQueueExp { public static void main(String[] args) { SynchronousQueu...
2019-03-30 16:34:30 268
原创 Volatile作用
在多线程环境下,对于主内存中的共享变量,每个线程都有自己的一份拷贝值,便于自己线程内的操作,这也会导致一个问题,当有一个线程修改主内存中的变量值时,其他线程内拷贝的变量值还是旧值,没有获取最新的值。因此我们就可以使用volatile关键字修饰变量,它可以保证内存可见性和避免指令重排序。当有线程修改主内存中的变量值时,会导致其他线程中拷贝的变量值失效,当线程内读取自己线程内存中的变量值时会发现变量值...
2019-03-29 11:35:32 149
原创 多线程脏读示例
import java.util.concurrent.TimeUnit;/** * 脏读 * @author SN * */public class DirtyRead { private String username="aa"; private String hobby="music"; //下面是同步方法,可以保证更新的原子性 public synchroniz...
2019-03-28 10:57:41 377
原创 Java实现常用设计模式
一、设计模式的种类设计模式比较常用的有23种,实际不止这些,我们统称为23种设计模式,其中常用的又只有其中的十几种。一般分为三类分别是创建型模式、结构型模式和行为型模式。创建型模式有五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式和原型模式,其特点都是为创建对象提供抽象化得模板类,通过接口减少类之间的耦合。结构型模式有七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组...
2019-03-22 14:03:39 695
redis-desktop-manager-0.7.6.15.rar
2019-06-18
JsonView桌面版
2019-05-07
vsftpd-2.2.2-24.el6.x86_64.rpm
2018-08-31
MyEclipse中SVN插件
2017-12-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人