JAVA程式員面試寶典總結-談談我的理解吧,java面試寶典
2014年9月7日
今天開啟閱讀了這本書,中斷了原計劃中演算法中級層次的系統性訓練,我覺得先看看面試題吧。先給這本書A掉再說。
閱讀了一天,大概閱讀了一半,有點失望,因為這本書講解的面試都是基礎中的基礎,我看著都著急,作者很難深入系統層次的去談論技術,都是一些表面的文章。
不過我給大家整理了一些比較細節的東西。
第五章開始吧:
-----------------------------------------------------
classLoader知識。
整體調用用到的是父類委託。為什麼這麼用?安全性,避免重複載入。
也就是classLader在JVM啟動的時候,bootstrap classlader(類載入器-載入),使用者定義的classloader,
算了,我搜了一篇講解不錯的http://blog.csdn.net/changewang/article/details/6107507
--------------------
JVM中採用unicode編碼儲存。在對於外界的系統而言,會在讀出讀入的時候,inputstream等類(檔案讀入讀出邊界)的地方加上編碼來轉化。windows是GBK編碼。
---------------------
int j=0;j=j++;//j=0。緩衝中間變數類似於temp =jj=j+1;j=temp;
-----------------
/* * 自增運算子的優先順序問題 * */int i=0;int y=i++ +i++ +i++ +i++;System.out.println(y); // 0 +1 +2+3 =6 每進行一步+操作,然後自增++,從左至右計算,不是一次性全部出來完,然後++的,注意i=0;y=i++ +i++ + ++i;System.out.println(y); // 先進行++i,優先順序高 1 + 2 + 1=4
/* *輸出的是9.0 因為三目運算被10.0的傳回值定義為了double類型,所以x>5=false的時候輸出9.0 */int x=5;System.out.println("data ="+((x>5)?10.0:9));
/* * * 三目運算子傳回值為常量,103是常量,而非int!!!,那麼g也會被指定為常量輸出 */char g='g';int l=103;System.out.println(false?l:g); //103System.out.println(false?103:g); //g
/* * 基礎資料型別 (Elementary Data Type)是傳值副本 * 物件類型,包括string也是,是傳遞引用副本 *output ab-b *看看結果就知道了 */String a=new String("a");StringBuffer b1 = new StringBuffer(a); StringBuffer b2 = new StringBuffer("b"); new Test().operate(b1, b2); System.out.println(b1 + "-" + b2); //b1=ab b2=b/* * && || 採用短路運算子,如果第一個運算式已經可以判斷出來整個表達的話,編譯器會跳過後面的運算式的。 * & | ^不僅僅是位元運算符,還是布爾邏輯運算子。非短路運算子 */int m=5,n=5;if((m==5) || (n++)==5);System.out.println("c."+n); //c.5if((m==5) | (n++)==5);System.out.println("c."+n); //c.6/* * int 為4個位元組,32位,>>n向右移動n位。每移動一位/2操作 * 即sum>>32向右移動32,一個迴圈。依舊是sum=32 * */int sum=32;System.out.println(sum>>32);System.out.println(sum>>5);//5= 1System.out.println(sum>>6); // 6~31 =0 /* * * 記得一個微軟面試題 (x-1)&x的問題 * 1.x二進位最右側去掉1.每執行一次(x-1)&x ,可以統計1的個數 * 2.if(x-1)&x 判斷是不是2的指數 * */int t1=32;if(((t1-1)&t1)==0) System.out.println("是2的指數");t1=32; //二進位中只有1個1int cnt=0;//統計二進位1的個數while(t1!=0){t1=t1&(t1-1);cnt++;}System.out.println("二進位1的個數為"+cnt);/* * 還有一個演算法常用到的奇偶判斷,來快速滾動數組,從而節約空間的 * (x-1)&1 奇數=0 偶數=1 所以結果只有0,1。例子比較多。只要記住(x-1)&1可以判斷奇偶,並且0,1是結果、將來有的用啦 */
好了。囧,瞌睡,我休息去、、、明天繼續。
【重分懸賞】JAVA程式員面試寶典,哪個版本比較好?各有什優缺點?指點
面試,只是一個開始,是進入企業的敲門石,把java面試的常問的幾個經典的問題總結一下,最主要的還是看技術。當面試時,最好帶著自己認為好的作品,這樣,不但容易讓面試順利,運氣好的話,面試官還可以談薪水。
Java程式員面試寶典
我有這本書籍,不貴啊。36元 。都是演算法啊。