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

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

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

    posts - 30,  comments - 28,  trackbacks - 0
    華為筆試題:計算字符串“010111001100....”中‘0’和‘1’連續出現的次數。

    #include<iostream>;

    void main() {

    ???char *charArray="01000111100011100111100001";
    ???int max[2]?? ?={0,0};
    ???int count[2]? ={0,0};

    ? while(*charArray){
    ??????
    ? int?? index???? =*charArray-'0';

    ? count[index]++;
    ??count[index^1] =0;

    ? if(count[index]>max[index])
    ?????? ?max[index]=count[index];

    ? charArray++;
    ? }
    ?
    ?std:cout<<"Max times of 0 is"<<max[0]<<std:endl;
    ?std:cout<<"Max times of 1 is"<<max[1]<<std:endl;
    }
    //~:end the codes

    程序代碼的藝術化,呵呵
    posted @ 2006-09-26 03:57 murainwood 閱讀(363) | 評論 (0)編輯 收藏

    自己想的一道題,算是30%原創吧?
    String a=new String("Hello");
    ? a+="World";

    ?問:a的內容最后是什么?
    ???????? 這兩個語句,共生成了幾個Java對象?

    簡單不?看樣子非常簡單吧,呵呵。
    第一問:a(確切地說a引用的內容)是HelloWorld
    ?
    第二問: 兩個語句,一共生成了幾個對象?
    ????看第一個語句,說實話,用這種方式初始化String,實在是代碼垃圾。這先不管啦。這個語句是老生長談,一個或兩個對象。
    ??? 為何?第一次執行時創建了二個, 一個為字面量"Hello"(它本身是一個String對象), 一個為new String("Hello")(它是通過new創建的, 功能上和字面量"foo"完全一樣, 但卻是另一個對象).

    第二次執行時, 只創建一個, 即new String("Hello"), 這是因為: "Hello"作為String字面量, 是存在于String Pool里面的, 第二次使用它時, 直接指向原有的String, 而不再創建新的String; 但new String("Hello")卻每執行一次都創建一個新的,完全一樣的String對象.

    ???第二個語句呢?
    ???? 3個對象。
    ???? 首先是“World”,毋庸質疑。
    ???? 那么然后呢?注意了,String是final類,不可改變。平時我們寫Java會有個錯覺,stringA+stringB就以為是前者尾巴接上后者腦袋。的確,在C/C++里就是如此。一點兒錯都沒有。
    ??? 但是Java不是,Java設計者為了更多方面的考慮,他們把String設計成了final。
    ??? 看一下JVM匯編指令吧
    ? 0:?aload_0
    ?? 1:?invokespecial?#1; //Method java/lang/Object."<init>":()V
    ?? 4:?return

    static void inti();
    ? Code:
    ?? 0:?new?#2; //class java/lang/String
    ?? 3:?dup
    ?? 4:?ldc?#3; //String Hello
    ?? 6:?invokespecial?#4; //Method java/lang/String."<init>":(Ljava/lang/String;)V
    ?? 9:?astore_0
    ?? 10:?new?#5; //class java/lang/StringBuilder
    ?? 13:?dup
    ?? 14:?invokespecial?#6; //Method java/lang/StringBuilder."<init>":()V
    ?? 17:?aload_0
    ?? 18:?invokevirtual?#7; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
    ?? 21:?ldc?#3; //String Hello
    ?? 23:?invokevirtual?#7; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
    ?? 26:?invokevirtual?#8; //Method java/lang/StringBuilder.toString:()Ljava/lang/String;
    ?? 29:?astore_0
    ?? 30:?return

    }

    仔細看一下我做的標記,JVM給我們生成了一個StringBuilder類。(我用的是JDK5,舊版本是StringBuffer類,單單這一點小改動就能讓Java的速度提高很多)。讓后用append方法載入Hello和World兩個String的引用(明確地說轉化成字符數組)。
    當載入完成后,StringBuilder實例調用toString,生成一個新的String實例(暫時稱為TempString)。
    ?最后把引用a指向TempString


    總結:兩句語句總共生成了4個或5個Java類實例

    PS:Java中沒有指針實在是太不方便了。特別是在操作原始數據類型的時候。個人認為Java應該在這點上學學C#。指針不是洪水猛獸,對優秀程序員而言,指針是編程中的一種享受。
    ??????? 希望“海豚”(Java7)能出現指針吧---很不現實,還是等開源后的Java版本吧


    posted @ 2006-08-14 03:18 murainwood 閱讀(508) | 評論 (4)編輯 收藏
    下學期會有找工作這類麻煩的事情,不過不管怎么說,還是以好好學習為主吧。
    ?1.學一種操作系統,Solaris,FreeBSD,Linux三者選一,至少達到熟練使用的程度。
    ?2.繼續學習Java,鞏固深入Java基礎,JVM,反射,JNI,JDBC,
    ?3.學會一種Web框架,一種數據庫持久框架
    ?4.放棄C++,復習鞏固深入C
    posted @ 2006-08-11 14:49 murainwood 閱讀(196) | 評論 (0)編輯 收藏

    Stack 和Heap的差別,上次華為研究生筆試題就考過。C語言的我很清楚:
    ?Stack: automatic variables within functions
    ? Heap: global variables (storage class external), and static variables

    簡而言之,最大的不同是:前者是函數變量的空間,后者是程序變量的空間

    另外,Stack上分配內存是安全的。而Heap上分配內存則沒那么爽了。調用malloc分配內存,是在Heap上開辟空間。一定要注意釋放。否則老是memory leak
    ?
    昨天有人問我JVM中的Stack和Heap的差別,當時心不在焉地照搬C語言敷衍了事。
    中午起床,沒事閑著看帖子。無意中想起這個問題,在Google搜索了一番。發現昨天的回答出了問題:
    “?It is useful to know that these two different kinds of memory exist in Java. Stack memory is the program's memory, and heap memory resides outside of the program.”

    Stack是程序內存,Heap內存存在于程序之外。這樣子看起來和C語言中地Heap有些像誒(C語言中的Heap也是在mian()之外的)。再仔細看看

    Stack memory stores primitive types and the addresses of objects. The object values are stored in heap memory.

    類實例存在于Heap。類實例的的指針在Stack中存放。難怪JVM沒有text segment ,在Stack就囊括了text segment

    這樣做的好處,就是為了實現Java的垃圾回收機制。任何的類對象實例都在Heap中,在Stack中有它們的引用。當所以的線程都不在需要某個引用時,JVM的那個資源回收線程就會把該實例從Heap當中清楚掉。

    文章告訴我,回收線程要做全局的檢測來確定某個實例是否已經“無用”了。這樣子,我們可以在代碼上做些工作,來給回收線程加速。
    Test t = new Test();
    ?t.someAction();
    ?// all done
    ?t = null;
    實例t不再有用時,就把他置為null,告訴JVM:你不用在Stack和Heap之間自己校驗啦,我已經做好了標記,放心回收吧。

    小結:Stack: Primitive data types(primitive types), the addresses of objects(=references).
    ??????????????????????? Heap:? objects.
    前者:基本類型和實例地址(引用),后者:類實例

    posted @ 2006-07-31 16:28 murainwood 閱讀(743) | 評論 (2)編輯 收藏
    這是家執著的公司,在我心目中,她遠比“特立獨行”的蘋果要偉大得多?,F在的蘋果,是一名衣著怪異的流行歌手,在舞臺上耍cool。那么Sun,就是名失意的求道者。
    祝Sun一路走好,一個承載著計算機業先賢們夢想的公司。
    posted @ 2006-07-31 15:44 murainwood 閱讀(177) | 評論 (0)編輯 收藏
    ? 發發牢騷,自從課設做了SWT /JFace的客戶端應用軟件,感覺超好。優美的代碼,清晰的結構,典雅的布局,簡潔的事件機制,SWT太迷人啦。不愧為IBM的杰作,Java桌面開發的新貴??上Ь褪菦]人用。不就是多了和平臺相關的dll文件和幾個Jar資源包嘛,批處理寫得熟溜得人才不嫌麻煩呢,咯咯。

    ?? Swing嘛,怎么說你好呢,你得結構是很清晰,論MVC的分離性,確實我覺得比SWT做得優秀些??墒悄闳唛L的代碼,麻煩的事件相應機制,有些讓人不習慣的布局,特別是奇怪的界面....不是偶說你,偶不想理你啦。
    ?
    ?? Java的GUI程序本來,我本來就不打算深究。精通一個SWT,了解一個Swing就夠啦

    ? 扯上個無關的,MFC,我越了解你就越討厭你,越明白你就越惡心你。還好,當初沒有誤入歧途,把你當成寶貝(反正我估計基本不做桌面軟件,^_^)
    posted @ 2006-07-31 06:12 murainwood 閱讀(782) | 評論 (0)編輯 收藏
    沒事可干,花了半小時做完了3到意法半導體的筆試題。C語言,極簡單的算法罷了,全是記事本敲,然后g++編譯。
    溫習C語言還是很必要滴?;膹U了好久,我一直喜歡用C語言的底層思維來考慮Java,Java沒有“指針”,我是一直很不爽的。
    ? 意法半導體好歹也是家不錯的公司???出的C語言算法題目怎么連華為的都不如?不過上次參加學院華為那個筆試,人家是特招研究生的。俺混進去給人做參考,感覺非常不錯。可惜最后沒留下個假名,手機號碼也沒寫,唉...
    ? 最丟人的還是那次法國湯姆遜,連OSI七層網絡都忘了。好好吸取教訓
    posted @ 2006-07-31 06:01 murainwood 閱讀(253) | 評論 (0)編輯 收藏

    ??? 項目第二階段,管理客戶端和管理服務器。架構C/S,技術RMI
    ??? 今天上午做了一個簡單的測試系統,用來測試前兩天所編寫的構件:寫了一遠程服務器,一個命令行客戶端。OK,編譯時也沒出錯。
    ??? 然而運行起來,可怕的事情發生了:先前寫的實體類無法傳送給客戶端。程序拋出了異常。仔細觀察,發現是產生了對象無法序列化的IO異常。
    ??? RMI底層通過TCP協議進行通訊,ObjectInputStream和ObjectOutputStream來負責對象的輸入和輸出。實在是不明白,以前做RMI系統實驗的時候,根本沒遇到這種序列化異常:傳String就傳String,傳Vector就傳Vector。
    ?? 猜想應該是我寫的那些類無法序列化的緣故。參考了API文檔,發現這個東西:MarshalledObject,可以對其構造方法的對象進行序列化(說穿了就是變成字節流)。
    ? 迅速改造了測試程序,OK,能穿對象了。但是.....序列化以后無法反序列化!天,類對象實例全部變成了組毫無意義的字節數組。
    ? 應該有其他的辦法,SUN的Java文檔實在不能和MSDN相比,太過于簡單啦。
    ? 經過3個小時的資料查閱和測試,終于找到了種正確而且異常簡單的方法:對先前的代碼進行簡單的重構:讓他們統統實現java.io.Serializable接口。只改一行代碼,全部解決!
    ? ^_^

    posted @ 2006-07-24 14:44 murainwood 閱讀(278) | 評論 (0)編輯 收藏
    這么多年來一直喜歡著那個女孩。我們是很好的朋友。喜歡她的樣子,她的笑容,她的性格和她的言談。
    這么多年,似乎也喜歡過其他的人,然而就像煙霧一樣,或長或短的時間里,慢慢消散。仿佛只留下淺淺的痕跡

    就這樣一直喜歡著她好了,也許能夠變成永恒
    posted @ 2006-07-21 22:49 murainwood 閱讀(141) | 評論 (0)編輯 收藏
    http://www.apache.org
    著名的Apache基金會官網,經??纯春苡惺斋@

    http://www.eclipse.org
    Eclipse基金會官網

    http://saloon.javaranch.com
    翻譯過來叫Java會客廳比較好吧

    http://www.matrix.org.cn/
    不用說了,國內比較好的Java論壇

    http://www.csdn.net
    國內最大的IT開發者站點....太浮躁,很喧囂

    http://www.mindview.net/
    Bruce Eckel的網站,很值得一看




    posted @ 2006-07-21 20:29 murainwood 閱讀(173) | 評論 (0)編輯 收藏
    僅列出標題
    共3頁: 上一頁 1 2 3 下一頁 
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    如果真的給你一片天,你敢不敢要?

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    相冊

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲资源在线观看| 好看的电影网站亚洲一区| 亚洲av无码国产综合专区| 99国产精品视频免费观看| 亚洲国产精品一区二区成人片国内| 特黄特色大片免费| 国产成人精品久久亚洲| 2022免费国产精品福利在线 | 午夜在线a亚洲v天堂网2019| 亚洲成人免费网站| 91丁香亚洲综合社区| 毛片a级三毛片免费播放| 亚洲人成人网毛片在线播放| 女人被男人桶得好爽免费视频| 亚洲人成网站在线在线观看| 国产成人青青热久免费精品| 九九久久国产精品免费热6| 在线亚洲精品自拍| 亚洲免费视频网站| 亚洲手机中文字幕| 在线观看免费精品国产| fc2免费人成在线视频| 亚洲av无码成人黄网站在线观看| 日韩精品人妻系列无码专区免费| 亚洲三级在线播放| 免费v片在线观看品善网| 99精品视频免费| 亚洲成A∨人片在线观看无码| 日本特黄特色aa大片免费| 污污视频网站免费观看| 亚洲av午夜福利精品一区| 日韩欧美一区二区三区免费观看 | 久久久久久亚洲精品无码| 亚洲福利精品电影在线观看| 国产在线国偷精品免费看| 精品亚洲aⅴ在线观看| 国产a不卡片精品免费观看| 精品视频在线免费观看| 亚洲AV无码专区在线电影成人| 区久久AAA片69亚洲| 精品久久久久国产免费|