`
Luob.
  • 浏览: 1591900 次
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
(一)核心军规 1、不在数据库做运算 cpu计算务必移至业务层; 2、控制单表数据量 int型不超过1000w,含char则不超过500w; 合理分表; 限制单库表数量在300以内; 3、控制列数量 字段少而精,字段数建议在20以内; 4、平衡范式与冗余 效率优先; 往往牺牲范式; 5、拒绝3B 拒绝大sql语句:big sql 拒绝大事物:big transaction 拒绝大批量:big batch (二)字段类军规 6、用好数值类型 tinyint(1Byte) sma ...
shell变量里的字符替换 (2008-11-11 09:29:17)转载▼ b=${a/123/321};将${a}里的第一个123替换为321 b=${a//123/321};将${a}里的所有123替换为321 shell调试: sh -x aaa.sh from: http://bbs.chinaunix.net/viewthread.php?tid=218853&extra=&page=7#pid1628522 shell ...
百度新闻 http://bschool.hexun.com/2016-10-08/186313362.html
import java.util.concurrent.Exchanger; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * Exchange 2个线程之间交换数据 */ public class ExchangeTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method ...
/* * 还有一个利用场景: 应用启动的时候 ,检查所有的服务是否正确启动,如果正确启动,应用程序就可以启动成功. **/ import java.util.Random; import java.util.concurrent.Callable; import java.util.concurrent.CompletionService; import java.util.concurrent.Cou ...
//一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。CyclicBarrier 支持一个可选的 Runnable 命令,在一组线程中的最后一个线程到达之后(但在释放所有线程之前),该命令只在每个屏障点运行一次。若在继续所有参与线程之前更新共享状态,此屏障操作 很有用。 //设置parties、count及barrierCommand ...
更多介绍http://blog.csdn.net/java2000_wl/article/details/23556859 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Semaphore; /** * 信号灯 控制并发访问数量 * 只有 获取运行令牌(信号灯)后 ,才可以运行,当令牌(信号灯)使用完了,后面的访问 只能等着.直到有令牌被释放后,获取令牌才可以继续访问 */ publi ...
import java.util.HashMap; import java.util.Map; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; /** * 使用读写锁 实现一个 缓存模型 * */ public class CasheDemo { /** * @param args */ private Map<String,Object> cache=new ...

java 读写锁

    博客分类:
  • Java
import java.util.Random; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; /** * 读写锁 , 读写 互斥 ,写写互斥 ,对于读 比 写频繁的时候 ,优势比较明显 */ public class ReadWriteLockTest { /** * @param args */ public static void main(String[] args) ...
import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /** * Lock 类似 synchronize (让多个线程 执行任务的时候 相互不干扰,不被打断 :互斥) * Condition (让多个线程之间 进行 交流 :通信) * * 例子 : 老大 --> 老二 -->老三 --> 老大 --> ...
// lock 练习 public class LockTest{ public static void main(String[] args) { // TODO Auto-generated method stub new LockTest().init(); } private void init(){ final Outputer out=new Outputer(); new Thread( new Runnable() { @Override public void run() { // TODO ...
import java.util.Random; import java.util.concurrent.Callable; import java.util.concurrent.CompletionService; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorCompletionService; import java.util.concurrent.ExecutorService; import java.util.concurrent.Execu ...

JDK1.5 线程池

    博客分类:
  • Java
import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; /** * java 线程池 和 带定时器的线程池 */ public class ThreadPoolTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method ...
import java.util.Random; /*** * 线程内独享数据 ,多个线程内操作的数据互不干扰. * ThreadLocal 底层 采用的是 ThreadLocalMap * 自己实现的话就是 可以采用 Map<Thread.currentThread().getName(),value> * (个人理解 勿喷) */ public class ThreadLocalTest { /** * @param args */ private static ThreadLocal<Integer&g ...
import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; /** * 定时器 timer (功能有限,只能采用[秒数等]计算定时), 其他更好的工具 quartz ,spring scheduler */ public class TraditionalTimerTest { static int count=0; /** * @param args */ public static void m ...
Global site tag (gtag.js) - Google Analytics