摘要:
ThreadPoolExecutor是JDK自带的并发包对于线程池的实现,从JDK1.5开始,直至我所阅读的1.6与1.7的并发包代码,从代码注释上看,均出自Doug Lea之手,从代码上看JDK1.7几乎是重写了ThreadPoolExecutor的实现代码,JDK1.6的实现比较晦涩难懂,不便于... 阅读全文
摘要:
thrift作为一个从底到上除去业务逻辑代码,可以生成多种语言客户端以及服务器代码,涵盖了网络,IO,进程,线程管理的框架,着实庞大,不过它层次清晰,4层每层解决不同的问题,可以按需取用,相当方便。+-------------------------------------------+| Serv... 阅读全文
摘要:
web应用为什么要使用状态保存?因为http协议是无状态协议,http协议是一次请求,一次响应的模式,不会去保存链接状态;web应用中进行状态保存的方法:1,在server端处理html:一般我们可以在表单中加入<INPUT TYPE="hidden" NAME="user"VALUE="Jennifer"> 或者重写URL地址<A HREF="/orderform.htm?user=Jennifer">Order Now!</A> 这里的区别在于HTTP协议的请求行使用GET或 阅读全文
摘要:
每个java程序启动都会实例化一个java虚拟机,一个java虚拟机就是一个操作系统级别的进程;java中的堆是用来分配使用关键字new得出来的对象,由jvm都其进行垃圾回收;对于java中线程,每个线程有一个堆栈(stack),栈中主要存放基本类型的对象还有一般对象的引用(指针),那么栈中的数据和其引用的数据对于线程来说是独立占有的;对于程序的代码段是共享的,而且是不可改变的;所以一般可能出现共享的对象都是文件,数据库,或者在spring中经常使用的单例;对于同步的问题,java里面有关键字sycronized,既可以作用于函数,也就相当于程序的代码段,保证同一时间只有一个线程运行该代码段, 阅读全文
摘要:
java的并发是一个复杂的主题,信手拈来就可以发现一大堆的有趣的问题。这里不讨论生产者模式,主要关注如何用java来实现该模式;这个例子是由生产者生产随机数,多个线程来取随机数;package ThreadTest;public class SetOfNum { private int numOne;//标记资源是否可用 private int numTwo;//资源的内容 public int getNumOne() { return numOne; } public void setNumOne(int numOne) { this... 阅读全文