搬家之余

昨天,换了新居;辞别Zhang and Yang,开始自己的独居之旅,感谢An、Chao帮忙搬家;匆忙之中来到这里,日常生活用品需要慢慢补充,不管怎么也算是自己的一个窝,一个奋斗向上的地方!

今天,差不多完成自己制定的项目任务,有一些细节没有完善,明天早上搞定吧!因为太累,7点坐地铁回宿舍;跟中介说好的今天给我配置的电脑桌和凳子没有兑现,打电话关机or不在服务器,顿时觉得自己有点2B,相信中介就是个错误。

肚子饿了,去楼下找地儿吃饭,一眼望去没有个饭店,心中多少有点委屈;我这是为什么?走了好一会儿看到一个刀削面饭馆,进去和想象的出入很大,哎!就这样吧!随便吃点得了!这是为什么?北京,就是这样嘛?还是我看到的是这样!

决定单独出来的原因: 可以有个独立的空间;可以让女朋友过来住几天;可以有个没有人打扰的环境,拥有独立思考的空间。够了,让我从这里优秀自己!给自己信心,我能行,我能做到。

辞职Eclipse工程师

犹豫,决断,兴奋,期待,经历,失落,煎熬,堕落,挣扎,希望,路上,满足。 —- < 十月的心情 >

  • 犹豫,辞职
  • 决断,希望重生
  • 兴奋,寻找希望,翻开新的一页
  • 期待,一份合适的工作
  • 经历,失败、搭建
  • 失落,怀疑自己、否定自己
  • 煎熬,循环建立自信,否定自我
  • 堕落,生活规律混乱
  • 挣扎,这不是我想要的生活,求生
  • 希望,几家不错的公司通知我面试
  • 路上,敲定工作,开始上班
  • 满足,之前面试的好几家公司都给我发了offer

阅读全文

线程设计面试题

昨天的关于JAVA Thread的面试题:设计四个线程,其中两个线程对j加1操作,另外两个线程对j减1操作。发现这个面试题网上一大片,我这里也简单地记录一下:

/**
 * @author effine
 * @date 2013-10-28  下午11:50:34
 */

public class InterviewThread {

    private int j = 0;

    public static void main(String args[]) {

        InterviewThread it = new InterviewThread();

        /* 实例化内部类 */
        Inc inc = it.new Inc();
        Dec dec = it.new Dec();

        /* 循环得到四个线程 */
        for (int i = 0; i < 2; i++) {
            Thread t = new Thread(inc);
            t.start();
            t = new Thread(dec);
            t.start();
        }
    } //main method finish

    /* 同步加1方法 */
    private synchronized void inc() {
        j++;
        System.out.println(Thread.currentThread().getName() + "-inc:" + j);
    }

    /* 同步减1方法 */
    private synchronized void dec() {
        j--;
        System.out.println(Thread.currentThread().getName() + "-dec:" + j);
    }

    /* 加1线程类 */
    class Inc implements Runnable {
        public void run() {
            for (int i = 0; i < 100; i++) {
                inc();
            }
        }
    }

    /* 减1线程类 */
    class Dec implements Runnable {
        public void run() {
            for (int i = 0; i < 100; i++) {
                dec();
            }
        }
    }
    
}

File Tree

看到windows文件资源管理器,突然想用Java来实现这种不同层的文件缩进,参考OSC中一个博主的思想,记录一下;Code如下:

/**
* @author effine
* @date 2013年10月26日  下午1:25:14
*/

import java.io.File;

public class FileTree {
public static int count = 0;

public static void parse(File[] files) {
    if (files.length == 0) {
        FileTree.count--;
        System.out.println();
        return;
    } else {
        for (File f : files) {
            if (f.isDirectory()) {
                FileTree.count++;
                for (int i = 1; i <= FileTree.count; i++) {
                    System.out.print("\t");
                }
                
                System.out.println(f.getName());
                File[] files2 = f.listFiles();
                
                FileTree.parse(files2);
            }
            
        }
        for (File f : files) {
            if (!f.isDirectory()) {
                for (int i = 0; i <= FileTree.count; i++) {
                    System.out.print("\t");
                }
                System.out.println(f.getName());
            }
        }
        FileTree.count--;
    }
    
}

public static void main(String[] args) {
        File file = new File("d:/test");
        File[] files = file.listFiles();
        FileTree.parse(files);
    }
}