`
文章列表
第七条:改写equals尽量遵守的约定         7.1 在进行比较时,不需要进行 null 值比较,可以直接采用instanceof 中为null则直接返回false         7.2 域的比较顺序也会影响性能,最新比较的域应该是最容易发生改变的域。         7.3 改写equals的时候一般要改写hashCode()         7.4 不要让equals方法过于聪明         7.5 不要让equals依赖于不可靠的因素         7.6 不要把其中的Object替换成其他的对象                 如:     @Override     ...
第四条:避免创建重复的对象      4.1         String s = new String("haha"); // don't do this  该语句每次都会new 一个新的对象出来,在循环中将会new出一堆的新对象          String ss = "haha";这个方式新建的对象把 ...
总共657条建议,每次把自己理解的建议记录下来     第一条:考虑用静态工厂来代替公开的构造方法         第二条:通过私有的构造函数来强化单例属性                 两种单例模式:       模式一:       ...
总结 : 1. 写一个方法实现Callable接口                 2. 生成executorService es = Executors.newFixedThreadPool(3);                 3. 运行该线程 Future f = es.submit(c1); c1即为实现Callablel类的实例 第二项:queue JDK5.0新增的conllection 常用实现类 LinkedList 实现队列的话建议使用这个类 常见方法 具体的查询API Add(); addFirst(),addLast(),getFirst(),getLast(), ...
以下是调用DoCallStuff的主程序。     import java.util.concurrent.ExecutionException;     import java.util.concurrent.ExecutorService;     import java.util.concurrent.Executors;     import java.util.concurrent.Future;     public class Executor {             public static void main(String[] args){                 ...
Jdk1.5中的多线程。 主要是在java.util.concurrent包中 ,其中几个重要的类对比如下        5.0                          1.4 ExecutorService            取代        Thread Callable   Future     取代             ...
这种用法要求在执行一些处理之前,一定要执行某项特殊操作,处理之后一定也要执行某项特殊操作。这种人为的顺序性,无疑增加了代码的耦合度,降低了代码的独立性。很有可能会成为线程死锁和资源操作冲突的根源。 这点一直让我不安,可是没有找到方法避免。毕竟,死锁或者资源操作冲突,是线程的固有问题。 很巧的是,正在我惴惴不安的时候,我的一个朋友提供了一个信息。Sun公司根据JCR,决定在jdk1.5中引入关于concurrency(并发)的部分。 以下这个网址是concurrency部分的util.concurrent一个实现。非常好的信息。对于处理多线程并发问题,很有帮助。 http://gee.cs ...
上述代码只是一段示意代码。实际应用中,人们通常抽取出来一个专门的读写同步锁。 interface ReadWriteLock {   … getReadLock();   … releaseReadLock();   … getWriteLock();   … releaseWriteLock(); } 具体的实现原理也是类似的信号量同步机制。 class RWLock {   … readers, writers;   … synchronized … getReadLock() { // 相当于synchronized(this)      …      whil ...
读写模型 读写模型是一个稍微复杂一些的模型。 一份共享资源允许多个读者同时读取。但是只要有一个写者在写这份共享资源,任何其他的读者和写者都不能访问这份共享资源。 读写模型实现起来,不仅需要信号量机制,还需要额外的读者计数和写者计数。 public static final Object signal = new Object(); public static int readers = 0; public static int writers = 0; // 读者代码 … read() {   for(… ) { // 循环执行   synchronized(sign ...
生产者/消费者模型 有了信号量这个利器,我们就可以处理比较复杂的线程同步模型了。 首先,我们来看一个比较简单的生产者/消费者模型。还是以Java代码为例。 public static final Object signal = new Object(); public static final char[] buf = new char[1024]; // 需要同步访问的共享资源 // 生产者代码 … produce() {   for(… ) { // 循环执行   synchronized(signal){       // 产生一些东西,放到 buf 共享资源中 ...
request常见方法:   //完整的请求路径是 http://localhost:56231/test/action/pplibe?act=query         String scheme = request.getScheme();            //请求类型,一般为http         String serverName = request.getServerName();    //服务的ip地址, ...

GWT表格搭建

1. CheckBoxSelectionModel<BaseModelData> sm = new CheckBoxSelectionModel<BaseModelData>(); 创建一个CheckBoxSelectionModel这个的初始化方法中主要是初始化了一些css                                                 sm.setSelectionMode(SelectionMode.MULTI);//设置单选表格时候的方法                                                 ...
1. 我们通过 xxx.gwt.xml中的:         <entry-point                 class='com.huawei.iread.manager.frame.client.ModuleEntryPoint' />中进入我们预置的类:ModuleEntryPoint'中的 public void onModuleLoad()方法           2. 主要通过分配器来 ...
AJAX的经典调用 //创建XML对象 function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else { if (window.XMLHttpRequest) { ...
# iostat -x 1 avg-cpu: %user %nice %sys %idle 16.24 0.00 4.31 79.44 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util /dev/cciss/c0d0 0.00 44.90 1.02 27.55 8.16 579.59 4.08 289.80 20.57 22.35 78.21 5.00 14.29 /dev/cciss/c0d0p1 0.00 44.90 1.02 27.55 8.16 579.5 ...
Global site tag (gtag.js) - Google Analytics