摘要: 工厂模式:factory工厂模式就相当于创建实例对象的new,用于制造孩子的机器创建对象的一般方法: Sample s=new Sample();示例代码:/*** 2设计模式之工厂模式(factory)** @time 下午05:10:37* @author retacn yue* @Email zhenhuayue@sina.com*/public class Factory {//public static Sample creator(int witch) {if (1 == witch) {return new SampleA();} else if (2 == witch) {re 阅读全文
posted @ 2012-09-28 18:03 retacn_yue 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 并发流程控制CountDownLatchpublicvoidtest(){finalintCOUNT=10;finalCountDownLatchcountDownLatch=newCountDownLatch(COUNT);for(inti=0;i<COUNT;i++){Threadthread=newThread("workThread"+i){@Overridepublicvoidrun(){//当你启动了一个线程,需要等到他结束countDownLatch.countDown();}};thread.start();}try{countDownLatch.aw 阅读全文
posted @ 2012-09-28 16:43 retacn_yue 阅读(201) 评论(0) 推荐(0) 编辑
摘要: ConcurrentHashMap并没有实现Lock-Free,只是使用了分离锁的办法使得能够支持多个writer开发,但是他需要更多的内存同样的思路用于更新数据库----乐观锁publicclassSequenceDao{publicbooleancompareAndSet(Stringname,intvalue,intexpect){Map<String,Object>parameters=newHashMap<String,Object>();parameters.put("name",name);parameters.put("va 阅读全文
posted @ 2012-09-28 16:42 retacn_yue 阅读(214) 评论(0) 推荐(0) 编辑
摘要: Synchronized是lock的一种简化实现,一个lock可以应对多个condition而synchronized把lock和condiiton合并了,一个synchronizedLock只对应一个condition在jdk中他们的效率差不多注:不要在lock和condition上使用waitnotifynotifyAll方法使用AtomicIntegerclassCounter{privatevolatileintcount=0;//若要线程安全执行count++,需要加锁publicsynchronizedvoidincrement(){count++;}publicintgetCou 阅读全文
posted @ 2012-09-28 16:40 retacn_yue 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 阻塞队列(生产者和消费者开发模式)三种常用的阻塞队ArrayBlockingQueue<T>;LinkedBlockingQueue<T>;SynchronousQueue<T>//在队列满时被阻塞ArrayBlockingQueue<String>arrayBlockingQueue=newArrayBlockingQueue<String>(19);try{arrayBlockingQueue.put("");}catch(InterruptedExceptione){e.printStackTrace();} 阅读全文
posted @ 2012-09-28 16:38 retacn_yue 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 新建线程并启动的几种方法:1privateThreadthread=newThread("myThread");Thread.start();2privateclassmyThreadextendsThread{@Overridepublicvoidrun(){}}myThreadthread=newmyThread().start();3privateThreadthread=newThread(){//构造器@Overridepublicvoidrun(){}};thread.setName("myThread");Thread.start();4T 阅读全文
posted @ 2012-09-28 16:37 retacn_yue 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 深入理解JVMclassLoader加载.class完成后,有两种执行方式:解析执行编译机器码执行:client和server两种模式Java代码执行机制编译为class文件Java源码编译机制A分析和输入的符号表(parseandenter)Pase词法和说法分析Enter符号输入到符号表B处理注解(annotationprocessing)C语义分析和生成class文件(analyseandgenerate)类加载机制:装载(load)全限定名+类加载器链接(link)初始化(initialize):调用了new反射调用类中的方法子类调用了初始化Jvm启动过程中指定的初始化类类加载器有四种 阅读全文
posted @ 2012-09-28 16:30 retacn_yue 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 大型分布式JAVA应用与soa一个大型soa应用平台:统一的服务交互方式,实现和现有应用的无缝集成提供调试/跟踪的支持依赖管理高性能和高可用实现soa可参考scaesb基于SCA实现soa平台(servicecomponentarchitecture)SCA框架须具备以下5个要素标准的消息通信格式消息路由支持多种消息交互类型支持多种网络协议支持多种数据格式并能进行相互转换基于tuscany实现soa平台基于mule实现soa平台 阅读全文
posted @ 2012-09-28 16:22 retacn_yue 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 基于消息方式实现系统间的通信常用的通信协议:tcp/ip保证数数据传输的可靠性,会牺牲性能udp/ip双方不建立联接,面是发送到网上进行传递,性能较好系统间通信对数据的处理同步IO常用的是(BlockingIO)当发起读写操作时,均为阻塞方式,只有当操作完成后才会释放资源NIO(Non-BlockingIO)基于事件驱动的,实际上采用的reactor模式2,发起读写操作时是非阻塞方式,linux2.6以后版本采用epoll3方式来实现NIO异步操作方式;AIO(基于事件戏动)采用proactor模式4直接调用API的read和write方法读取:操作系统将可读的流传达入read方法的缓冲区,通 阅读全文
posted @ 2012-09-28 16:19 retacn_yue 阅读(1221) 评论(0) 推荐(0) 编辑