COMPLEX-B

导航

上一页 1 2 3 4 5 6 7 8 9 10 ··· 13 下一页

2019年5月8日 #

Semaphore使用方法

摘要: 一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。 构造 阅读全文

posted @ 2019-05-08 20:37 COMPLEX-B 阅读(1721) 评论(0) 推荐(0) 编辑

并发队列

摘要: ConcurrentLinkedQuere 总结 ConcurrentLinkedQueue 使用CAS 非阻塞算法实现使用CAS 解决了当前节点与next 节点之间的安全链接和对 当前节点值的赋值。由于使用CAS 没有使用锁,所以获取size 的时候有可能进行offer,poll 或者remove 阅读全文

posted @ 2019-05-08 15:20 COMPLEX-B 阅读(109) 评论(0) 推荐(0) 编辑

2019年5月7日 #

java只有值传递

摘要: 1.在方法中传递基本数据类型时,传入的值是原值的拷贝,所以在方法中改变此数据不会影响到原数据 2.在方法中传递引用数据类型时,传入的是引用的拷贝 列1: 改变原引用 列2: 阅读全文

posted @ 2019-05-07 14:34 COMPLEX-B 阅读(118) 评论(0) 推荐(0) 编辑

2019年5月6日 #

反射使用方法

摘要: 获取.class对象的三种方式 Class c = Class.forName("java.lang.String");// 最常用 Class c = Person.class; // 在同一个包中使用 String s = new String("1"); Class c = s.getClas 阅读全文

posted @ 2019-05-06 21:30 COMPLEX-B 阅读(520) 评论(0) 推荐(0) 编辑

反射反编译Demo

摘要: ``` Class string = Class.forName("java.lang.String"); // 获取.class对象 Field[] field = string.getDeclaredFields(); // 返回所有属性对象数组 StringBuilder sb = new StringBuilder(); sb.append(Modifier... 阅读全文

posted @ 2019-05-06 19:53 COMPLEX-B 阅读(103) 评论(0) 推荐(0) 编辑

2019年5月5日 #

线程池

摘要: 工具类: 缓冲线程池:Executors.newCachedThreadPool(); 可以根据新加入任务自动调整线程池大小,没有任务队列 源码: 固定容量的线程池:Executors.newFixedThreadPool(3); 创建固定大小的线程池,新任务添加到任务队列 源码: 定义只有一个线程 阅读全文

posted @ 2019-05-05 17:30 COMPLEX-B 阅读(96) 评论(0) 推荐(0) 编辑

2019年5月4日 #

单例模式Demo

摘要: 懒汉模式实现单例 懒汉模式实现单例加同步模块 懒汉模式正确写法 饿汉模式 枚举模式,最安全,推荐使用 阅读全文

posted @ 2019-05-04 21:01 COMPLEX-B 阅读(266) 评论(0) 推荐(0) 编辑

2019年5月3日 #

原子性操作的三种方式对比

摘要: synchronized关键字 不能中断锁,适合竞争不激烈的情况,竞争激烈后会造成很多线程阻塞,代码简单,可读性好 Lock锁 可以中断锁,可以选择性的唤醒锁实现多样化同步,竞争激烈时可以维持常态 Atomic原子类 竞争激烈时性能比Lock锁好,但是只能同步单一的值 阅读全文

posted @ 2019-05-03 20:20 COMPLEX-B 阅读(314) 评论(0) 推荐(0) 编辑

多线程关键字

摘要: synchronized关键字 synchronized能使代码块或者方法同步,synchronized修饰的代码块或者方法具有原子性 使用方法 修饰代码块,作用于代码块,锁的传入对象的锁 sychronized (obj) { for (int i = 0; i 阅读全文

posted @ 2019-05-03 18:57 COMPLEX-B 阅读(597) 评论(0) 推荐(0) 编辑

2019年5月2日 #

Atomic原子类

摘要: 原子类实现原理:CAS(compare and swap) CAS的原理是拿期望的值和原本的一个值作比较,如果相同则更新成新的值。 UnSafe 类的 objectFieldOffset() 方法 是一个本地方法,这个方法是用来拿到 “原来的值” 的内存地址。另外 value 是一个volatile 阅读全文

posted @ 2019-05-02 22:01 COMPLEX-B 阅读(257) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 10 ··· 13 下一页