1. 程式人生 > >Java面試總結(一)

Java面試總結(一)

目錄

1、一個".java"原始檔中是否可以包括多個類(不是內部類)?有什麼限制?

2、Java有沒有goto?

3、說說&和&&的區別。

4、在JAVA中如何跳出當前的多重巢狀迴圈?

5、switch語句能否作用在byte上,能否作用在long上,能否作用在String上?

6、short s1= 1; s1 = (s1+1是int型別,而等號左邊的是short型別,所以需要強轉)1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?(沒有錯)

7、char型變數中能不能存貯一箇中文漢字?為什麼?

8、用最有效率的方法算出2乘以8等於幾?

9、使用final關鍵字修飾一個變數時,是引用不能變,還是引用的物件不能變?

10,靜態變數和例項變數的區別?

11、是否可以從一個static方法內部發出對非static方法的呼叫?

12、Integer與int的區別

13、Math.round(11.5)等於多少?Math.round(-11.5)等於多少?

14、Overload和Override的區別?Overloaded的方法是否可以改變返回值的型別?

15、介面是否可繼承介面?抽象類是否可實現(implements)介面?抽象類是否可繼承具體類(concreteclass)?抽象類中是否可以有靜態的main方法?

16、Java中實現多型的機制是什麼?

17、abstractclass和interface語法上有什麼區別?

18、abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?

19、內部類可以引用它的包含類的成員嗎?有沒有什麼限制?

20、String s = "Hello";s = s + "world!";這兩行程式碼執行後,原始的String物件中的內容到底變了沒有?

21、ArrayList和Vector的區別

22、HashMap和Hashtable的區別

23、List和 Map區別?

24、List,Set, Map是否繼承自Collection介面?

25、List、Map、Set三個介面,存取元素時,各有什麼特點?

26、說出ArrayList,Vector,LinkedList的儲存效能和特性

27、去掉一個Vector集合中重複的元素

28、Collection和Collections的區別。

29、Set裡的元素是不能重複的,那麼用什麼方法來區分重複與否呢?是用==還是equals()?它們有何區別?

30、你所知道的集合類都有哪些?主要方法?

31、String s = new String("xyz");建立了幾個StringObject?是否可以繼承String類?

32、String和StringBuffer的區別

33、下面這條語句一共建立了多少個物件:String s="a"+"b"+"c"+"d";

34、try {}裡有一個return語句,那麼緊跟在這個try後的finally{}裡的code會不會被執行,什麼時候被執行,在return前還是後?

35、final, finally, finalize的區別。 

36、執行時異常與一般異常有何異同?

37、error和exception有什麼區別?

38、簡單說說Java中的異常處理機制的簡單原理和應用。

39、Java 中堆和棧有什麼區別?

40、能將 int 強制轉換為 byte 型別的變數嗎?如果該值大於 byte 型別的範圍,將會出現什麼現象? 

41、a.hashCode() 有什麼用?與 a.equals(b) 有什麼關係?

42、位元組流與字元流的區別

43、什麼是java序列化,如何實現java序列化?或者請解釋Serializable介面的作用。

44、描述一下JVM載入class檔案的原理機制?

45、heap和stack有什麼區別。

46、GC是什麼?為什麼要有GC?

47、垃圾回收的優點和原理。並考慮2種回收機制。

48、垃圾回收器的基本原理是什麼?垃圾回收器可以馬上回收記憶體嗎?有什麼辦法主動通知虛擬機器進行垃圾回收?

49、Java 中,throw 和 throws 有什麼區別

50,java中會存在記憶體洩漏嗎,請簡單描述。

51、說一說Servlet的生命週期?

52、Servlet API中forward()與redirect()的區別?

53、request.getAttribute()和 request.getParameter()有何區別?

54,jsp靜態包含和動態包含的區別

55,MVC的各個部分都有那些技術來實現?如何實現?

 56,jsp有哪些內建物件?作用分別是什麼?

57,Http中,get和post方法的區別

58,什麼是cookie?Session和cookie有什麼區別?

59,jsp和servlet的區別、共同點、各自應用的範圍?

60,tomcat容器是如何建立servlet類例項?用到了什麼原理?

61,JDBC訪問資料庫的基本步驟是什麼?

62,說說preparedStatement和Statement的區別

63,說說事務的概念,在JDBC程式設計中處理事務的步驟。

64,資料庫連線池的原理。為什麼要使用連線池。

65,JDBC的髒讀是什麼?哪種資料庫隔離級別能防止髒讀?

66,什麼是幻讀,哪種隔離級別可以防止幻讀?

67,JDBC的DriverManager是用來做什麼的? 

68,execute,executeQuery,executeUpdate的區別是什麼? 

69,SQL查詢出來的結果分頁展示一般怎麼做?

70,JDBC的ResultSet是什麼? 


1、一個".java"原始檔中是否可以包括多個類(不是內部類)?有什麼限制?

        可以有多個類,但只能有一個public的類,並且public的類名必須與檔名相一致。

2、Java有沒有goto?

        java中的保留字,現在沒有在java中使用。

3、說說&和&&的區別。

        &和&&都可以用作邏輯與的運算子,表示邏輯與(and),當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。

        &&還具有短路的功能,即如果第一個表示式為false,則不再計算第二個表示式,例如,對於if(str!= null&& !str.equals(s))表示式,當str為null時,後面的表示式不會執行,所以不會出現NullPointerException如果將&&改為&,則會丟擲NullPointerException異常。If(x==33 &++y>0) y會增長,If(x==33 && ++y>0)不會增長

        &還可以用作位運算子,當&操作符兩邊的表示式不是boolean型別時,&表示按位與操作,我們通常使用0x0f來與一個整數進行&運算,來獲取該整數的最低4個bit位,例如,0x31 & 0x0f的結果為0x01。

4、在JAVA中如何跳出當前的多重巢狀迴圈?

        在Java中,要想跳出多重迴圈,可以在外面的迴圈語句前定義一個標號,然後在裡層迴圈體的程式碼中使用帶有標號的break語句,即可跳出外層迴圈。

        例如:

for(int i=0;i<10;i++){
   for(intj=0;j<10;j++){
       System.out.println(“i=” + i + “,j=” + j);
       if(j == 5) break ok;
   }
}

      另外,我個人通常並不使用標號這種方式,而是讓外層的迴圈條件表示式的結果可以受到裡層迴圈體程式碼的控制,例如,要在二維陣列中查詢到某個數字。

int arr[][] ={{1,2,3},{4,5,6,7},{9}};
boolean found = false;
for(int i=0;i<arr.length&&!found;i++)       {
        for(intj=0;j<arr[i].length;j++){
              System.out.println(“i=” + i + “,j=” + j);
              if(arr[i][j] ==5) {
                      found =true;
                      break;
              }
        }
}

 

5、switch語句能否作用在byte上,能否作用在long上,能否作用在String上?

          在switch(e)中,e只能是一個整數表示式或者列舉常量,整數表示式可以是int基本型別或Integer包裝型別,由於byte,short,char都可以隱含轉換為int,所以,這些型別以及這些型別的包裝型別也是可以的。顯然,long和String型別都不符合switch的語法規定,並且不能被隱式轉換成int型別,所以,它們不能作用於swtich語句中。

          switch語句能否作用在String上說錯了,Java1.7之後已經支援這種寫法了!

6、short s1= 1; s1 = (s1+1是int型別,而等號左邊的是short型別,所以需要強轉)1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?(沒有錯)

          對於short s1= 1; s1 = s1 + 1;由於s1+1運算時會自動提升表示式的型別,所以結果是int型,再賦值給short型別s1時,編譯器將報告需要強制轉換型別的錯誤。

          對於short s1= 1; s1 += 1;由於 +=是java語言規定的運算子,java編譯器會對它進行特殊處理,因此可以正確編譯。

7、char型變數中能不能存貯一箇中文漢字?為什麼?

          char型變數是用來儲存Unicode編碼的字元的,unicode編碼字符集中包含了漢字,所以,char型變數中當然可以儲存漢字啦。不過,如果某個特殊的漢字沒有被包含在unicode編碼字符集中,那麼,這個char型變數中就不能儲存這個特殊漢字。補充說明:unicode編碼佔用兩個位元組,所以,char型別的變數也是佔用兩個位元組。

8、用最有效率的方法算出2乘以8等於幾?

          2<< 3,(左移三位)因為將一個數左移n位,就相當於乘以了2的n次方,那麼,一個數乘以8只要將其左移3位即可,而位運算cpu直接支援的,效率最高,所以,2乘以8等於幾的最效率的方法是2<< 3。

9、使用final關鍵字修飾一個變數時,是引用不能變,還是引用的物件不能變?

         使用final關鍵字修飾一個變數時,是指引用變數不能變,引用變數所指向的物件中的內容還是可以改變的。例如,對於如下語句:

             finalStringBuffer a=new StringBuffer("immutable");

         執行如下語句將報告編譯期錯誤:

             a=new StringBuffer("");

         但是,執行如下語句則可以通過編譯:

             a.append(" broken!");

         有人在定義方法的引數時,可能想採用如下形式來阻止方法內部修改傳進來的引數物件:

             public void method(final  StringBuffer param){}

         實際上,這是辦不到的,在該方法內部仍然可以增加如下程式碼來修改引數物件:

             param.append("a");

10,靜態變數和例項變數的區別?

         在語法定義上的區別:靜態變數前要加static關鍵字,而例項變數前則不加。

         在程式執行時的區別:例項變數屬於某個物件的屬性,必須建立了例項物件,其中的例項變數才會被分配空間,才能使用這個例項變數。靜態變數不屬於某個例項物件,而是屬於類,所以也稱為類變數,只要程式載入了類的位元組碼,不用建立任何例項物件,靜態變數就會被分配空間,靜態變數就可以被使用了。總之,例項變數必須建立物件後才可以通過這個物件來使用,靜態變數則可以直接使用類名來引用。

          例如,對於下面的程式,無論建立多少個例項物件,永遠都只分配了一個staticVar變數,並且每建立一個例項物件,這個staticVar就會加1;但是,每建立一個例項物件,就會分配一個instanceVar,即可能分配多個instanceVar,並且每個instanceVar的值都只自加了1次。
instanceVar的值都只自加了1次。
public class VariantTest{
        publicstatic int staticVar = 0;
        publicint instanceVar = 0;
        publicVariantTest(){
              staticVar++;
              instanceVar++;
              System.out.println(staticVar +instanceVar);
        }
}

11、是否可以從一個static方法內部發出對非static方法的呼叫?

           不可以。因為非static方法是要與物件關聯在一起的,必須建立一個物件後,才可以在該物件上進行方法呼叫,而static方法呼叫時不需要建立物件,可以直接呼叫。也就是說,當一個static方法被呼叫時,可能還沒有建立任何例項物件,如果從一個static方法中發出對非static方法的呼叫,那個非static方法是關聯到哪個物件上的呢?這個邏輯無法成立,所以,一個static方法內部發出對非static方法的呼叫。

12、Integer與int的區別

           int是java提供的8種原始資料型別之一。Java為每個原始型別提供了封裝類,Integer是java為int提供的封裝類。int的預設值為0,而Integer的預設值為null,即Integer可以區分出未賦值和值為0的區別,int則無法表達出未賦值的情況。

           例如:要想表達出沒有參加考試和考試成績為0的區別,則只能使用Integer。在JSP開發中,Integer的預設為null,所以用el表示式在文字框中顯示時,值為空白字串,而int預設的預設值為0,所以用el表示式在文字框中顯示時,結果為0,所以,int不適合作為web層的表單資料的型別。

            在Hibernate中,如果將OID定義為Integer型別,那麼Hibernate就可以根據其值是否為null而判斷一個物件是否是臨時的,如果將OID定義為了int型別,還需要在hbm對映檔案中設定其unsaved-value屬性為0。

            另外,Integer提供了多個與整數相關的操作方法,例如,將一個字串轉換成整數,Integer中還定義了表示整數的最大值和最小值的常量。

13、Math.round(11.5)等於多少?Math.round(-11.5)等於多少?

            Math類中提供了三個與取整有關的方法:ceil、floor、round,這些方法的作用與它們的英文名稱的含義相對應。

            例如,ceil的英文意義是天花板,該方法就表示向上取整,Math.ceil(11.3)的結果為12,Math.ceil(-11.3)的結果是-11;floor的英文意義是地板,該方法就表示向下取整,Math.floor(11.6)的結果為11,Math.floor(-11.6)的結果是-12;最難掌握的是round方法,它表示“四捨五入”,演算法為Math.floor(x+0.5),即將原來的數字加上0.5後再向下取整,所以,Math.round(11.5)的結果為12,Math.round(-11.5)的結果為-11。

14、Overload和Override的區別?Overloaded的方法是否可以改變返回值的型別?

           Overload是過載的意思,Override是覆蓋的意思,也就是重寫。

           過載Overload表示同一個類中可以有多個名稱相同的方法,但這些方法的引數列表各不相同(即引數個數或型別不同)。

           重寫Override表示子類中的方法可以與父類中的某個方法的名稱和引數完全相同,通過子類建立的例項物件呼叫這個方法時,將呼叫子類中的定義方法,這相當於把父類中定義的那個完全相同的方法給覆蓋了,這也是面向物件程式設計的多型性的一種表現。子類覆蓋父類的方法時,只能比父類丟擲更少的異常,或者是丟擲父類丟擲的異常的子異常,因為子類可以解決父類的一些問題,不能比父類有更多的問題。子類方法的訪問許可權只能比父類的更大,不能更小。如果父類的方法是private型別,那麼,子類則不存在覆蓋的限制,相當於子類中增加了一個全新的方法。

           至於Overloaded的方法是否可以改變返回值的型別這個問題,要看你倒底想問什麼呢?這個題目很模糊。如果幾個Overloaded的方法的引數列表不一樣,它們的返回者型別當然也可以不一樣。但我估計你想問的問題是:如果兩個方法的引數列表完全一樣,是否可以讓它們的返回值不同來實現過載Overload。這是不行的,我們可以用反證法來說明這個問題,因為我們有時候呼叫一個方法時也可以不定義返回結果變數,即不要關心其返回結果,例如,我們呼叫map.remove(key)方法時,雖然remove方法有返回值,但是我們通常都不會定義接收返回結果的變數,這時候假設該類中有兩個名稱和引數列表完全相同的方法,僅僅是返回型別不同,java就無法確定程式設計者倒底是想呼叫哪個方法了,因為它無法通過返回結果型別來判斷。

           override可以翻譯為覆蓋,從字面就可以知道,它是覆蓋了一個方法並且對其重寫,以求達到不同的作用。對我們來說最熟悉的覆蓋就是對介面方法的實現,在介面中一般只是對方法進行了宣告,而我們在實現時,就需要實現介面宣告的所有方法。除了這個典型的用法以外,我們在繼承中也可能會在子類覆蓋父類中的方法。在覆蓋要注意以下的幾點:

                 1、覆蓋的方法的標誌必須要和被覆蓋的方法的標誌完全匹配,才能達到覆蓋的效果;

                 2、覆蓋的方法的返回值必須和被覆蓋的方法的返回一致;

                 3、覆蓋的方法所丟擲的異常必須和被覆蓋方法的所丟擲的異常一致,或者是其子類;

                 4、被覆蓋的方法不能為private,否則在其子類中只是新定義了一個方法,並沒有對其進行覆蓋。

            Overload對我們來說可能比較熟悉,可以翻譯為過載,它是指我們可以定義一些名稱相同的方法,通過定義不同的輸入引數來區分這些方法,然後再呼叫時,VM就會根據不同的引數樣式,來選擇合適的方法執行。在使用過載要注意以下的幾點:

      1、在使用過載時只能通過不同的引數樣式。例如,不同的引數型別,不同的引數個數,不同的引數順序(當然,同一方法內的幾個引數型別必須不一樣,例如可以是fun(int,float),但是不能為fun(int,int));

      2、不能通過訪問許可權、返回型別、丟擲的異常進行過載;

      3、方法的異常型別和數目不會對過載造成影響;

      4、對於繼承來說,如果某一方法在父類中是訪問許可權是priavte,那麼就不能在子類對其進行過載,如果定義的話,也只是定義了一個新方法,而不會達到過載的效果。

15、介面是否可繼承介面?抽象類是否可實現(implements)介面?抽象類是否可繼承具體類(concreteclass)?抽象類中是否可以有靜態的main方法?

介面可以繼承介面。抽象類可以實現(implements)介面,抽象類可以繼承具體類。抽象類中可以有靜態的main方法。

備註:只要明白了介面和抽象類的本質和作用,這些問題都很好回答,你想想,如果你是java語言的設計者,你是否會提供這樣的支援,如果不提供的話,有什麼理由嗎?如果你沒有道理不提供,那答案就是肯定的了。

只要記住抽象類與普通類的唯一區別就是不能建立例項物件和允許有abstract方法。

16、Java中實現多型的機制是什麼?

靠的是父類或介面定義的引用變數可以指向子類或具體實現類的例項物件,而程式呼叫的方法在執行期才動態繫結,就是引用變數所指向的具體例項物件的方法,也就是記憶體里正在執行的那個物件的方法,而不是引用變數的型別中定義的方法。

17、abstractclass和interface語法上有什麼區別?

1.抽象類可以有構造方法,介面中不能有構造方法。

2.抽象類中可以有普通成員變數,介面中沒有普通成員變數

3.抽象類中可以包含非抽象的普通方法,介面中的所有方法必須都是抽象的,不能有非抽象的普通方法。

4. 抽象類中的抽象方法的訪問型別可以是public,protected和(預設型別,雖然

eclipse下不報錯,但應該也不行),但介面中的抽象方法只能是public型別的,並且預設即為public abstract型別。

5. 抽象類中可以包含靜態方法,介面中不能包含靜態方法

6. 抽象類和介面中都可以包含靜態成員變數,抽象類中的靜態成員變數的訪問型別可以任意,但介面中定義的變數只能是publicstatic final型別,並且預設即為publicstatic final型別。

7. 一個類可以實現多個介面,但只能繼承一個抽象類。

18、abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?

abstract的method不可以是static的,因為抽象的方法是要被子類實現的,而static與子類扯不上關係!

native方法表示該方法要用另外一種依賴平臺的程式語言實現的,不存在著被子類實現的問題,所以,它也不能是抽象的,不能與abstract混用。例如,FileOutputSteam類要硬體打交道,底層的實現用的是作業系統相關的api實現;例如,在windows用c語言實現的,所以,檢視jdk的原始碼,可以發現FileOutputStream的open方法的定義如下:

private native void open(Stringname) throwsFileNotFoundException;

如果我們要用java呼叫別人寫的c語言函式,我們是無法直接呼叫的,我們需要按照java的要求寫一個c語言的函式,又我們的這個c語言函式去呼叫別人的c語言函式。由於我們的c語言函式是按java的要求來寫的,我們這個c語言函式就可以與java對接上,java那邊的對接方式就是定義出與我們這個c函式相對應的方法,java中對應的方法不需要寫具體的程式碼,但需要在前面宣告native。

關於synchronized與abstract合用的問題,我覺得也不行,因為在我幾年的學習和開發中,從來沒見到過這種情況,並且我覺得synchronized應該是作用在一個具體的方法上才有意義。而且,方法上的synchronized同步所使用的同步鎖物件是this,而抽象方法上無法確定this是什麼。

19、內部類可以引用它的包含類的成員嗎?有沒有什麼限制?

完全可以。如果不是靜態內部類,那沒有什麼限制!

如果你把靜態巢狀類當作內部類的一種特例,那在這種情況下不可以訪問外部類的普通成員變數,而只能訪問外部類中的靜態成員,例如,下面的程式碼:

class Outer
{
static int x;
static class Inner
    {
        voidtest()
        {
              syso(x);
        }
    }
}

20、String s = "Hello";s = s + "world!";這兩行程式碼執行後,原始的String物件中的內容到底變了沒有?

沒有。因為String被設計成不可變(immutable)類,所以它的所有物件都是不可變物件。在這段程式碼中,s原先指向一個String物件,內容是 "Hello",然後我們對s進行了+操作,那麼s所指向的那個物件是否發生了改變呢?答案是沒有。這時,s不指向原來那個物件了,而指向了另一個 String物件,內容為"Hello world!",原來那個物件還存在於記憶體之中,只是s這個引用變數不再指向它了。

通過上面的說明,我們很容易匯出另一個結論,如果經常對字串進行各種各樣的修改,或者說,不可預見的修改,那麼使用String來代表字串的話會引起很大的記憶體開銷。因為String物件建立之後不能再改變,所以對於每一個不同的字串,都需要一個String物件來表示。這時,應該考慮使用StringBuffer類,它允許修改,而不是每個不同的字串都要生成一個新的物件。並且,這兩種類的物件轉換十分容易。

同時,我們還可以知道,如果要使用內容相同的字串,不必每次都new一個String。例如我們要在構造器中對一個名叫s的String引用變數進行初始化,把它設定為初始值,應當這樣做:

public class Demo {
private String s;
...
public Demo {
s = "Initial Value";
}
...
}

而非

s = new String("Initial Value");

後者每次都會呼叫構造器,生成新物件,效能低下且記憶體開銷大,並且沒有意義,因為String物件不可改變,所以對於內容相同的字串,只要一個String物件來表示就可以了。也就說,多次呼叫上面的構造器建立多個物件,他們的            String型別屬性s都指向同一個物件。

上面的結論還基於這樣一個事實:對於字串常量,如果內容相同,Java認為它們代表同一個String物件。而用關鍵字new呼叫構造器,總是會建立一個新的物件,無論內容是否相同。

至於為什麼要把String類設計成不可變類,是它的用途決定的。其實不只String,很多Java標準類庫中的類都是不可變的。在開發一個系統的時候,我們有時候也需要設計不可變類,來傳遞一組相關的值,這也是面向物件思想的體現。不可變類有一些優點,比如因為它的物件是隻讀的,所以多執行緒併發訪問也不會有任何問題。當然也有一些缺點,比如每個不同的狀態都要一個物件來代表,可能會造成效能上的問題。所以Java標準類庫還提供了一個可變版本,即StringBuffer。

相關推薦

Java面試總結

目錄 1、一個".java"原始檔中是否可以包括多個類(不是內部類)?有什麼限制? 2、Java有沒有goto? 3、說說&和&&的區別。 4、在JAVA中如何跳出當前的多重巢狀迴圈? 5、switch語句能否作用在byte上,能否作用在long上,能否作

測試開發工程師面試總結——Java基礎篇

本文面向物件:測試開發工程師(服務端自動化方向)。 隨手百度一下都能找到**崗位面試總結,但是有關測開崗位的面試總結卻寥寥無幾。總體原因可能是這兩個:1 測試行業整體水平參差不齊,導致不同公司面試的問題不能抽象出來寫概覽。2 很多做測開的人可能內心對

JAVA學習總結

產生 java虛擬機 右鍵 分布式系 jdk 問題 功能 地址 輸出 一、Java是什麽? Java 是由 Sun Microsystems 在 1995 年首先發布的編程語言和計算平臺。Java 是一項用於開發應用程序的技術,可以讓 Web 變得更有意思和更實用。有許多應

java面試重點

java面試重點(一) 個人學習總結,還望大家多多指教!   目 錄 1、******授權中的with admin option和with grant option區別:....................................................

java面試總結—— Spring MVC

mvc模式 M - Model 模型 模型(Model)的職責是負責業務邏輯。包含兩層:業務資料和業務處理邏輯。比如實體類、DAO、servic等。 V-View檢視 檢視(View)的職責是負責顯示介面和使用者互動(收集使用者資料)。屬於檢視的元件是不

java面試總結—— SQL優化、SQL軍規、隱式轉換

SQL優化 對查詢進行優化,要儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。任何在Order by語句的非索引項或者有計算表示式都將降低查詢速度 應儘量避免在 where 子句中對欄位進行 null 值判斷,否則將導致

java面試總結—— 如何處理專案的高併發、大資料

1.HTML靜態化 如果網站的請求量過大,我們可以將頁面靜態化提供訪問來緩解伺服器壓力,能夠緩解伺服器壓力加大以及降低資料庫資料的頻繁交換。適合於某些訪問了過大,但是內容不經常改變的頁面,如首頁、新聞頁等 2.檔案伺服器 顧名思義,檔案伺服器就是將檔案

java面試總結—— 常用技術介紹

對於面試,面試官總會對我們簡歷上的專案經歷涉及到一些技術進行詢問,大多讓我們介紹一下技術的用途、特點等等,本文就提供一些常用的技術的簡介,如果大家有一些想分享的,可以留言,我在新增。 注:本文只提供一些應用技術的簡單介紹,具體的一些特性,請大家查詢相關資料深入

java面試總結—— Spring註解

@Controller 用於標記在一個類上,宣告註解的類是一個Controller,將該類交給Spring容器進行管理,可以使Controller定義更加靈活,可以不用實現Controller介面,請求處理的方法也更加靈活。 分發處理器將會掃描使用了該註解的

C++面試總結常用關鍵字

1.簡述volatile的用法    有些變數是用volatile關鍵字宣告的。當兩個執行緒都要用到某一個變數且該變數的值會被改變時,應該用volatile宣告,該關鍵字的作用是防止優化編譯器把變數從記憶體裝入cpu暫存器中。volatile的意思是讓編譯器每次操作該變數時一

Java基礎總結物件,類,屬性,方法

物件,類,屬性,方法的解析: 以人為例。 類:人可以看作一個類。 物件:具體到什麼人(黃種人,白種人,黑種人,中國人等等)這就可以看作是物件,可以根據需求繼續往下區分,比如 男人 女人。 屬性:比如說黃種人的特點:黃面板,黑頭髮,黑眼睛等等,這些就是黃

新華三面試總結

前言 說來去華三面試也是機緣巧合。9 月 13 日,前同事也是校友半夜給我發來微信,告訴我,華三有內推機會,問我是否感興趣。第二天一早,我看到訊息後,當即與他討論這份工作的職責,討論過後意識到這份工作與我目前的工作十分契合,自我感覺能夠勝任,薪水相比現在也高出

2017年-應屆畢業生面試總結

1 前文 從2016年暑假開始準備面試,一直到9月底,面試完成,工作定下來,算是安心了。 首先說說結果吧。結果還是自己挺滿意的,被騰訊公司錄用,拋開薪資什麼的不說,能進入大公司是我的小目標!自己還是很開心的。 動筆寫這篇部落格,已經是12月中旬了。之前一

面試總結

一.怎樣實現限流? 限流特性是指:開關或熔斷器在開斷故障電流時,對通過自身的故障電流的峰值有一定的限制作用。熔斷器的限流作用比開關明顯許多,只是開關的的25%,它的意義在於不用過多的考慮線路和其它零配件的極限承受能力,而且還能開斷比較大的故障電流,必須配合熔斷器開關使用。

Java NIO總結:Channel、Buffer、Selector

0. 概述 NIO的全稱是NoneBlocking IO,非阻塞IO,區別於BIO,BIO的全稱是Blocking IO,阻塞IO。那這個阻塞是什麼意思呢?例如傳統的多執行緒伺服器是BlockingIO模式的,從頭到尾所有的執行緒都是阻塞的,接收請求和處

畢業後就是程式設計師——我的阿里、金山、中華、騰訊、360、網易面試總結

 再開始我的部落格之旅。東奔西跑的忙了一個多月,找工作的事算是告一段落;這段時間有興奮,有失落,有迷惘,也有開心,是一個讓自己得到鍛鍊,得到提升的好機會,是一段難忘的時光,記錄下留作紀念,也希望能給同樣要走這一段路的人一點提醒,免得像我一樣,當碰得頭破血流之時才不得不去承認

Java知識總結

一、基礎篇 1.1、Java基礎  面向物件的特徵:繼承、封裝和多型   final, finally, finalize 的區別 1、final修飾符(關鍵字)。被final修飾的類,就意味著不能再派生出新的子類,不能作為父類而被子類繼承。因此一個類不

C++近期常見問題面試總結

一、初始化列表:它的順序應該和宣告順序一致,否則會引起初始化錯誤 class A{ private: const int a; double b; char c; public: A(int a_, double b_, char c_) : a(a_), b(b_

java知識點總結

java中的資料型別:基本資料型別1.數值型:整型(byte、short、int、long)浮點型(float、double),字元型(char),布林型別(boolean),布林型不能與任何型別進行轉換                                   

java面試基礎

|| 轉換 har strong oat 裏的 方法 基本類型 操作 1.基本數據類型、封裝類和運算操作(1)簡述 & 和 && ,以及 | 和 || 的區別。———&和|是位運算符,不怎麽用,而&