2012年1月17日
摘要: 江湖传说linux下最强的编辑器emacs与vim一直相持不下,很难分辨谁强谁弱,但对于个人来说最强大并不表示最适合,选择一款适合自己的编辑器,才是硬道理。所以本人选择了vim。 学习vim之前先要有个心理准备。为什么?网上有个主流文本编辑器的学习曲线,知道vim的曲线是怎么样的吗?请看下图。 陡峭的学习曲线吓跑了不少人,因为要使用好vim,需要了解一堆命令,但一旦你熟练掌握了这些命令,你便会觉得他的伟大并因此而爱不惜手,这就是vim的学习曲线如此的原因。(ps:大家不必被这陡峭的折线吓着,这估计是画图的人故意夸大的做法) 网上有一篇简明的vim练级攻略,个人觉得很有用,尤其对于初学者,故贴. 阅读全文
posted @ 2012-01-17 09:19 victorlinwen 阅读(519) 评论(0) 推荐(0)
  2011年10月7日
摘要: 线程池是java5的新特性,用来管理线程public class ThreadPoolTest { /** * @param args */ public static void main(String[] args) { /**创建线程池,固定一次执行三个任务 */// ExecutorService threadPool = Executors.newFixedThreadPool(3); /**创建线程池,非固定,来几个执行几个 */// ExecutorService threadPool = Executors.newCachedThreadPool(); /**创建线... 阅读全文
posted @ 2011-10-07 00:14 victorlinwen 阅读(883) 评论(0) 推荐(0)
  2011年10月6日
摘要: 代码如下,比较坑爹,就是上一篇文章的hashmap改为了ThreadLocalpublic class ThreadScopeShareData { /** * @param args */// private static HashMap<Thread, Integer> map = new HashMap<Thread, Integer>(); private static ThreadLocal<Integer> threadLocal = new ThreadLocal<Integer>(); public static void mai 阅读全文
posted @ 2011-10-06 20:04 victorlinwen 阅读(502) 评论(0) 推荐(1)
摘要: public class ThreadScopeShareData { /** * @param args */ private static HashMap<Thread, Integer> map = new HashMap<Thread, Integer>(); public static void main(String[] args) { for(int i=0;i<2;i++){ new Thread(new Runnable() { @Override public void run() { int data = new Random().nextI 阅读全文
posted @ 2011-10-06 11:00 victorlinwen 阅读(1215) 评论(0) 推荐(0)
  2011年10月5日
摘要: 源代码如下public class TranditionalThreadCommunication { /** * @param args */ public static void main(String[] args) { final Business business = new Business(); new Thread(new Runnable() { @Override public void run() { for(int i = 0; i<50;i++){ business.sub(i); } } }).start()... 阅读全文
posted @ 2011-10-05 01:49 victorlinwen 阅读(558) 评论(0) 推荐(0)
  2011年10月2日
摘要: 全部的代码如下public class TraditionalThreadSynchronized { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub new TraditionalThreadSynchronized().init(); } private void init(){ /**内部类不能访问局部变量,所以这里要用final*/ final Outputer outputer = new Outputer(); new Th... 阅读全文
posted @ 2011-10-02 16:47 victorlinwen 阅读(947) 评论(1) 推荐(0)
  2011年10月1日
摘要: public class TraditionalTimerTest { private static boolean flag; /** * @param args */ public static void main(String[] args) { /** * 连环炸弹哦 * @author gavinlin * */ class MyTimerTask extends TimerTask{ @Override public void run() { System.out.println("bombing"); new Timer()... 阅读全文
posted @ 2011-10-01 23:39 victorlinwen 阅读(1258) 评论(0) 推荐(0)
摘要: public class ThreadMain { /** * @param args */ public static void main(String[] args) { /** * 创建thread的子类,复写其run方法 */ Thread thread = new Thread(){ @Override public void run() { while(true){ try { System.out.println(Thread.currentThread().getName()+" this is my name,i am goin... 阅读全文
posted @ 2011-10-01 23:28 victorlinwen 阅读(228) 评论(0) 推荐(1)