`
buzhucele
  • 浏览: 331886 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
package concurrent; import java.util.Random; import java.util.concurrent.locks.ReentrantReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock; import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock; /** *1、readLock可重入; *2、writeLock必须等待所有的readLock释放后 ...
package concurrent; import java.util.concurrent.Callable; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.FutureTask; /** * 高效并发缓存 * @author user * */ public class MemoryC ...
它允许一组线程互相等待,直到到达某个公共屏障点,barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。 package concurrent; import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier; /** * 允许一组线程互相等待,直到到达某个公共屏障点 * @author user * */ public class CyclicBarrierTest { private int[] numAr ...
信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。 package concurrent; import java.util.Collections; import java.util.HashSet; import java.util.Set; import java.util.concurrent.Semaphore; /** * 通过以下两种方式获得许可 * acquire() * tryAcquire() * @author use ...
仅在计算完成时才能获取结果;如果计算尚未完成,则阻塞 get 方法。一旦计算完成,就不能再重新开始或取消计算. package concurrent; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; /** ...
在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待,在某些场景下同CyclicBarrier类似。 package concurrent; import java.util.concurrent.CountDownLatch; /** * 闭锁,要关注await,countDown的异常, * @author user * */ public class CountDownLatchTest { public void timeTasks(int nThreads, final Runnable task) throws Interr ...
mkdir swap 创建文件 cd swap sudo dd if=/dev/zero of=swapfile bs=1024 count=2000000 转换缓存文件 sudo mkswap swapfile 激活缓存文件 sudo swapon swapfile 使用free验证
业务对象类 import java.io.Serializable; public class Question implements Serializable { private static final long serialVersionUID = 1L; private String seq; private String question; private String ans; public String getAns() { return ans; } public void setAns(String ans ...
import java.util.ArrayList; import java.util.List; public class BinaryTest { public static List<Integer> binaryNum(int targetNum) { List<Integer> list = new ArrayList<Integer>(); if (targetNum > 0){ int baseNum = 1; ...

day going

产品or项目方法: 战略 --> 范围  --> 关系 --> 设计 设计过程: 本能设计 --> 行为设计 --> 反思设计 HttpClient容易忽视的细节——连接关闭 http://seanhe.iteye.com/blog/234759 Oracle tns配置 dev-***= (description= (address_list=(address=(protocol=tcp)(host=*.*.*.*)(port=1521))) (connect_data=(service_name=service_name_1)(s ...
linux必学的60个命令,值得一看
nginx+tomcat
查看进程: tasklist /svc 停止进程: taskkill /im 2468 /f
package jmx; /** * 接口命名规则:xxxMBean * 实现类:xxx */ public interface HelloMBean { public void setName(String name); public String getName(); public void print(); public void addName(); } package jmx; public class Hello implements HelloMBean { private String name = &q ...
替换::%s/w1/w2/g 撤销::undo 重复::redo 设置行号::set nu 语法为 :[addr]s/源字符串/目的字符串/[option] 全局替换命令为::%s/源字符串/目的字符串/g [addr] 表示检索范围,省略时表示当前行。 如:“1,20” :表示从第1行到20行; “%” :表示整个文件,同“1,$”; “. ,$” :从当前行到文件尾; s : 表示替换操作 [option] : 表示操作类型 如:g 表示全局替换; c 表示进行确认 p 表示替代结果逐行显示(Ctrl + L恢复屏幕); 省略option时仅对每行第一个匹配串进行替换; 如果在源字符串和目 ...
Global site tag (gtag.js) - Google Analytics