摘要: 有一个场景,需要完成很多任务,首先想到是用多线程来完成.主要参数:1:任务数量2:线程数量代码分析:由于这里的任务是计算密集型的,最好的方式是线程数量和cpu核数一样,启动线程越多效率越低 如果任务是IO密集型的话,线程数量可以设置大些,具体数量可以慢慢调,比如像数据酷拷贝大量数据到另一个数据库,文件拷贝等总结:线程不是越多越好,当设置线程数量时,可以查看cpu使用率,如果使用率比较低那可以把线程数跳高,如果cpu已经很忙了,线程数越多cpu线程切换开销越大,造成程序效率更低下package com.xf.test;import java.util.ArrayList;import ja... 阅读全文
posted @ 2013-09-13 21:20 鸟枪变大炮 阅读(3073) 评论(0) 推荐(0)
  2013年11月15日
摘要: public class BinaryTree { public Node root; public BinaryTree(Node root){ this.root = root; } public void insert(int x){ Node node = new Node(); node.key = x; Node current = root; Node parent = null; while(true){ parent = current; if(node.key < current.key){ //左孩子 current = curren... 阅读全文
posted @ 2013-11-15 00:06 鸟枪变大炮 阅读(270) 评论(0) 推荐(0)
  2013年9月1日
摘要: List ll = new ArrayList(); Iterator it1 = ll.iterator(); while(it1.hasNext()){ String next = it1.next(); } //都没有这么写过,换种风格也不错 for(Iterator it2 = ll.iterator(); it2.hasNext();){ String next = it2.next(); } 阅读全文
posted @ 2013-09-01 20:48 鸟枪变大炮 阅读(391) 评论(0) 推荐(0)
  2013年8月28日
摘要: 先贴个NIO服务端程序package com.xf.nio;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;import java.nio.channels.ServerSocketChannel;import java.nio.channels.SocketChannel;import java.util.Iterator; 阅读全文
posted @ 2013-08-28 22:54 鸟枪变大炮 阅读(240) 评论(0) 推荐(0)
  2013年8月26日
摘要: 以前都没想过阅读Tomcat,mina等等的源代码,回想看公司游戏项目的源代码,在看看这些开源项目,觉得这真学习的好机会,以前觉得这些代码太难了,自己没那个能力去理解,由于经常读公司项目的代码,阅读能力有一定提升,突然意识到自己不该那么肤浅了,也没意识到自己现在有那个能力去阅读开源项目的源代码了,好把,坚持读源代码吧,相信会有不一样的收获的 阅读全文
posted @ 2013-08-26 00:10 鸟枪变大炮 阅读(196) 评论(0) 推荐(0)
  2013年8月17日
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2013-08-17 19:58 鸟枪变大炮 阅读(8) 评论(0) 推荐(0)
  2013年8月16日
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2013-08-16 21:35 鸟枪变大炮 阅读(6) 评论(0) 推荐(0)
  2013年8月11日
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2013-08-11 20:31 鸟枪变大炮 阅读(36) 评论(0) 推荐(0)