<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 32, 文章 - 1, 評論 - 5, 引用 - 0
    數(shù)據(jù)加載中……

    2011年5月18日

    利用反射打印測試JavaBean

    /**
      * 測試方法
      *
      * @param obj
      * @return
      */
     public static StringBuffer testPOJO(Object obj) {
      Class cls = obj.getClass();
      Field[] fields = cls.getDeclaredFields();
      StringBuffer resultBuf = new StringBuffer();
      try {
       for (int i = 0; i < fields.length; i++) {
        String fieldName = fields[i].getName();
        Class fieldType = fields[i].getType();
        Method method;
        if (fieldType.equals(boolean.class)) {
         method = cls.getMethod("is" + genMethodName(fieldName));
        } else {
         method = cls.getMethod("get" + genMethodName(fieldName));
        }
        Object res;
        if ((res = method.invoke(obj)) != null) {
         String result = res.toString();
         resultBuf.append("[" + fieldName + "] = " + result + "\n");
        } else {
         resultBuf.append("[" + fieldName + "] = NULL \n");
        }
       }
      } catch (Exception e) {
       e.printStackTrace();
      }
      return resultBuf;
     }
     
     public static String genMethodName(String fieldName) {
      String firstWord = fieldName.substring(0, 1);
      String others = fieldName.substring(1, fieldName.length());
      return firstWord.toUpperCase() + others;
     }

    posted @ 2011-10-12 16:34 colorfire 閱讀(393) | 評論 (0)編輯 收藏

    轉(zhuǎn) 淘寶2011.9.21校園招聘會筆試題

    原鏈接 http://blog.csdn.net/hackbuteer1/article/details/6823329

    一、單選題
    1、我們有很多瓶無色的液體,其中有一瓶是毒藥,其它都是蒸餾水,實驗的小白鼠喝了以后會在5分鐘后死亡,而喝到蒸餾水的小白鼠則一切正常。現(xiàn)在有5只小白鼠,請問一下,我們用這五只小白鼠,5分鐘的時間,能夠檢測多少瓶液體的成分(C)
    A、5瓶                     B、6瓶                           C、31瓶                               D、32瓶

    2、若某鏈表最常用的操作是在最后一個結(jié)點之后插入一個結(jié)點和刪除最后一個結(jié)點,則采用()存儲方式最節(jié)省時間?
    A、單鏈表                   B、帶頭結(jié)點的非循環(huán)雙鏈表                       C、帶頭節(jié)點的雙循環(huán)鏈表                D、循環(huán)鏈表

    3、如果需要對磁盤上的1000W條記錄構(gòu)建索引,你認為下面哪種數(shù)據(jù)結(jié)構(gòu)來存儲索引最合適?()
    A、Hash Table                      B、AVL-Tree                      C、B-Tree                 D、List

    4、可用來檢測一個web服務(wù)器是否正常工作的命令是()

    A、ping                      B、tracert                          C、telnet                           D、ftp

    只有C可以測試Web主機的網(wǎng)頁服務(wù)器是否工作正常,假設(shè)該服務(wù)器的網(wǎng)頁服務(wù)器使用的是默認端口,則可以使用命令telnet hostname 80 來測試其是否工作。

    5、下面哪個操作是Windows獨有的I/O技術(shù)()
    A、Select                           B、Poll                               C、IOCP                               D、Epoll

    6、IPV6地址包含了()位
    A、16                               B、32                                C、64                              D、128

    7、數(shù)據(jù)庫里建索引常用的數(shù)據(jù)結(jié)構(gòu)是()
    A、鏈表                         B、隊列                       C、樹                             D、哈希表

    8、在公司局域網(wǎng)上ping www.taobao.com沒有涉及到的網(wǎng)絡(luò)協(xié)議是()

    A、ARP                          B、DNS                               C、TCP                         D、ICMP

    DNS是將域名www.taobao.com映射成主機的IP地址,ARP是將IP地址映射成物理地址,ICMP是報文控制協(xié)議,由路由器發(fā)送給執(zhí)行ping命令的主機,而一個ping命令并不會建立一條TCP連接,故沒有涉及TCP協(xié)議。

    二、填空題
    1、http屬于(應(yīng)用層)協(xié)議,ICMP屬于(網(wǎng)絡(luò)層)協(xié)議。
    2、深度為k的完全二叉樹至少有(2^(k-1))個結(jié)點,至多有(2^k-1)個結(jié)點。
    3、字節(jié)為6位的二進制有符號整數(shù),其最小值是(-32)。

    4、設(shè)有28盞燈,擬公用一個電源,則至少需有4插頭的接線板數(shù)(9)個。

    第一個板4個口,此后每增加1個板會消耗1個原來的口,總的只增加3個口,故N個接線板能提供 1+3*N個電源口

    三、綜合題
    1、有一顆結(jié)構(gòu)如下的樹,對其做鏡像反轉(zhuǎn)后如下,請寫出能實現(xiàn)該功能的代碼。注意:請勿對該樹做任何假設(shè),它不一定是平衡樹,也不一定有序。
      1 1
      / | \ / | \
      2 3 4 4 3 2
      /|\ /\ | | / \ / | \
      6 5 7 8 9 10 10 9 8 7 5 6

      答:以孩子、兄弟的存儲結(jié)構(gòu)來存儲這棵樹,使之成為一顆二叉樹,然后對二叉樹進行鏈表的轉(zhuǎn)換。

     

    1. typedef struct TreeNode  
    2. {  
    3.     int data;  
    4.     struct TreeNode *firstchild;  
    5.     struct TreeNode *nextsibling;  
    6. }TreeNode,*Tree;  
    7.   
    8. void MirrorTree(Tree root)  
    9. {  
    10.     if(!root)  
    11.         return ;  
    12.     if(root->firstchild)  
    13.     {  
    14.         Tree p=root->firstchild;  
    15.         Tree cur=p->nextsibling;  
    16.         p->nextsibling=NULL;  
    17.         while(cur)  
    18.         {  
    19.             Tree curnext=cur->nextsibling;  
    20.             cur->nextsibling=p;  
    21.             if(p->firstchild)  
    22.                 MirrorTree(p);  
    23.             p=cur;  
    24.             cur=curnext;  
    25.         }  
    26.         root->firstchild=p;  
    27.     }  
    28. }  
    29.   
    30. int main(void)  
    31. {  
    32.     TreeNode *root=(TreeNode *)malloc(sizeof(TreeNode));  
    33.     Init();  
    34.     MirrorTree(root);  
    35.     OutPut();  
    36. }  
    2、假設(shè)某個網(wǎng)站每天有超過10億次的頁面訪問量,出于安全考慮,網(wǎng)站會記錄訪問客戶端訪問的ip地址和對應(yīng)的時間,如果現(xiàn)在已經(jīng)記錄了1000億條數(shù)據(jù),想統(tǒng)計一個指定時間段內(nèi)的區(qū)域ip地址訪問量,那么這些數(shù)據(jù)應(yīng)該按照何種方式來組織,才能盡快滿足上面的統(tǒng)計需求呢,設(shè)計完方案后,并指出該方案的優(yōu)缺點,比如在什么情況下,可能會非常慢?

     

    答:用B+樹來組織,非葉子節(jié)點存儲(某個時間點,頁面訪問量),葉子節(jié)點是訪問的IP地址。這個方案的優(yōu)點是查詢某個時間段內(nèi)的IP訪問量很快,但是要統(tǒng)計某個IP的訪問次數(shù)或是上次訪問時間就不得不遍歷整個樹的葉子節(jié)點。答:

    或者可以建立二級索引,分別是時間和地點來建立索引。

    四、附加題
    1、寫出C語言的地址對齊宏ALIGN(PALGNBYTES),其中P是要對齊的地址,ALIGNBYTES是要對齊的字節(jié)數(shù)(2的N次方),比如說:ALIGN(13,16)=16
    1. ALIGN(P,ALIGNBYTES) ( (void*)( ((unsigned long)P+ALIGNBYTES-1)&~(ALIGNBYTES-1) ) )  
    2、在高性能服務(wù)器的代碼中經(jīng)常會看到類似這樣的代碼:
    typedef union
    {
      erts_smp_rwmtx_t rwmtx;
      byte cache_line_align_[ERTS_ALC_CACHE_LINE_ALIGN_SIZE(sizeof(erts_smp_rwmtx_t))];
    }erts_meta_main_tab_lock_t;

    erts_meta_main_tab_lock_t main_tab_lock[16];

    請問其中用來填充的cache_line_align的作用是?

    3、在現(xiàn)代web服務(wù)系統(tǒng)的設(shè)計中,為了減輕源站的壓力,通常采用分布式緩存技術(shù),其原理如下圖所示,前端的分配器將針對不同內(nèi)容的用戶請求分配給不同的緩存服務(wù)器向用戶提供服務(wù)。
      分配器
      / | \
      緩存 緩存 ...緩存
      服務(wù)器1 服務(wù)器2 ...服務(wù)器n

    1)請問如何設(shè)置分配策略,可以保證充分利用每個緩存服務(wù)器的存儲空間(每個內(nèi)容只在一個緩存服務(wù)器有副本)

    2)當(dāng)部分緩存服務(wù)器故障,或是因為系統(tǒng)擴容,導(dǎo)致緩存服務(wù)器的數(shù)量動態(tài)減少或增加時,你的分配策略是否可以保證較小的緩存文件重分配的開銷,如果不能,如何改進?

    3)當(dāng)各個緩存服務(wù)器的存儲空間存在差異時(如有4個緩存服務(wù)器,存儲空間比為4:9:15:7),如何改進你的策略,按照如上的比例將內(nèi)容調(diào)度到緩存服務(wù)器?

    posted @ 2011-10-10 10:19 colorfire 閱讀(312) | 評論 (0)編輯 收藏

    safari 地址欄中url兩遍

    環(huán)境:mac os 10.6.6,safari 5.0.5

    現(xiàn)象:
    在地址欄中輸入url提交后,地址欄中地址竟然又被復(fù)制一次。 e.g 輸入http://www.baidu.com/回車提交變?yōu)閔ttp://www.baidu.comwww.baidu.com,而以數(shù)字結(jié)尾的例如http://sparklet.net/?p=207則訪問正常。

    問題解決:
    該問題實際是由于代理導(dǎo)致,之前使用web代理上網(wǎng),后來web服務(wù)器我給關(guān)掉了,但代理忘記改回來,結(jié)果導(dǎo)致這種奇怪現(xiàn)象。不知道是不是safari的bug。
    總結(jié):blogjava的文檔輸入太難用了,分類也不方便。

    posted @ 2011-05-18 22:36 colorfire 閱讀(280) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 国产情侣激情在线视频免费看| 三年片在线观看免费观看大全动漫| 在线视频免费观看爽爽爽| 亚洲国产一区二区a毛片| 免费人成网站在线观看不卡| 久久精品国产亚洲AV果冻传媒| 天堂在线免费观看| 亚洲国产一区二区三区青草影视| 免费人妻无码不卡中文字幕系| 亚洲视频日韩视频| 亚洲精品动漫免费二区| 亚洲GV天堂无码男同在线观看| 国产精品冒白浆免费视频| 免费一区二区无码视频在线播放| 亚洲国产人成精品| 麻豆精品成人免费国产片| 亚洲美女人黄网成人女| 天天看免费高清影视| 国产精品亚洲综合| 亚洲av无码国产精品色午夜字幕| 免费看又黄又无码的网站| 亚洲黄页网在线观看| 免费在线视频一区| 久久国产精品国产自线拍免费| 亚洲国产精品日韩在线| 国产精品久久免费视频| 三级毛片在线免费观看| 亚洲熟妇无码爱v在线观看| 精品国产一区二区三区免费看| 一边摸一边爽一边叫床免费视频| 亚洲国产精品SSS在线观看AV| 成人免费黄色网址| 成人午夜影视全部免费看| 亚洲免费视频在线观看| 日韩毛片免费在线观看| 国产成人无码区免费内射一片色欲| 亚洲成aⅴ人在线观看| 亚洲精品动漫人成3d在线| 一区二区三区福利视频免费观看| 亚洲人成网站18禁止| 亚洲成a人片在线观看日本|