棲息地

          家園

          java 面試題三(轉(zhuǎn))

          3.1  Static Nested Class 和 Inner Class的不同。

              Static Nested Class是被聲明為靜態(tài)(static)的內(nèi)部類,它可以不依賴于外部類實(shí)例被實(shí)例化。而通常的內(nèi)部類需要在外部類實(shí)例化后才能實(shí)例化。

              3.2  JSP中動態(tài)INCLUDE與靜態(tài)INCLUDE的區(qū)別?

              動態(tài)INCLUDE用jsp:include動作實(shí)現(xiàn) <jsp:include page="included.jsp" flush="true" />它總是會檢查所含文件中的變化,適合用于包含動態(tài)頁面,并且可以帶參數(shù)。

              靜態(tài)INCLUDE用include偽碼實(shí)現(xiàn),定不會檢查所含文件的變化,適用于包含靜態(tài)頁面<%@ include file="included.htm" %>

              3.3  什么時候用assert.

              assertion(斷言)在軟件開發(fā)中是一種常用的調(diào)試方式,很多開發(fā)語言中都支持這種機(jī)制。在實(shí)現(xiàn)中,assertion就是在程序中的一條語句,它對一個boolean表達(dá)式進(jìn)行檢查,一個正確程序必須保證這個boolean表達(dá)式的值為true;如果該值為false,說明程序已經(jīng)處于不正確的狀態(tài)下,系統(tǒng)將給出警告或退出。一般來說,assertion用于保證程序最基本、關(guān)鍵的正確性。assertion檢查通常在開發(fā)和測試時開啟。為了提高性能,在軟件發(fā)布后,assertion檢查通常是關(guān)閉的。

              3.4  GC是什么? 為什么要有GC?

              GC是垃圾收集的意思(Gabage Collection),內(nèi)存處理是編程人員容易出現(xiàn)問題的地方,忘記或者錯誤的內(nèi)存回收會導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚至崩潰,Java提供的GC功能可以自動監(jiān)測對象是否超過作用域從而達(dá)到自動回收內(nèi)存的目的,Java語言沒有提供釋放已分配內(nèi)存的顯示操作方法。

              3.5  short s1 = 1; s1 = s1 + 1;有什么錯? short s1 = 1; s1 += 1;有什么錯?

              short s1 = 1; s1 = s1 + 1; (s1+1運(yùn)算結(jié)果是int型,需要強(qiáng)制轉(zhuǎn)換類型)

              short s1 = 1; s1 += 1;(可以正確編譯)

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

              Math.round(11.5)==12

              Math.round(-11.5)==-11

              round方法返回與參數(shù)最接近的長整數(shù),參數(shù)加1/2后求其floor.

              3.7  String s = new String("xyz");創(chuàng)建了幾個String Object?

              兩個

              3.8  設(shè)計4個線程,其中兩個線程每次對j增加1,另外兩個線程對j每次減少1.寫出程序。

              以下程序使用內(nèi)部類實(shí)現(xiàn)線程,對j增減的時候沒有考慮順序問題。

          package test;

          public class ThreadTest1 {

                   private int j;

                   public static void main(String args[]) {

                             ThreadTest1 tt = new ThreadTest1();

                             Inc inc = tt.new Inc();

                             Dec dec = tt.new Dec();

                             for (int i = 0; i < 2; i++) {

                                      Thread t = new Thread(inc);

                                      t.start();

                                      t = new Thread(dec);

                                      t.start();

                             }

                   }

                   private synchronized void inc() {

                             j++;

                             System.out.println(Thread.currentThread().getName() + "-inc:" + j);

                   }

                   private synchronized void dec() {

                             j--;

                             System.out.println(Thread.currentThread().getName() + "-dec:" + j);

                   }

                   class Inc implements Runnable {

                             public void run() {

                                      for (int i = 0; i < 3; i++) {

                                               inc();

                                      }

                             }

                   }

                   class Dec implements Runnable {

                             public void run() {

                                      for (int i = 0; i < 3; i++) {

                                               dec();

                                      }

                             }

                   }

          }

              3.9  Java有沒有g(shù)oto?

              Java中的保留字,現(xiàn)在沒有在Java中使用。

              3.10  啟動一個線程是用run()還是start()?

              啟動一個線程是調(diào)用start()方法,使線程所代表的虛擬處理機(jī)處于可運(yùn)行狀態(tài),這意味著它可以由JVM調(diào)度并執(zhí)行。這并不意味著線程就會立即運(yùn)行。run()方法可以產(chǎn)生必須退出的標(biāo)志來停止一個線程。

          posted on 2010-03-25 21:38 drecry 閱讀(181) 評論(0)  編輯  收藏 所屬分類: java中有關(guān)的問題

          主站蜘蛛池模板: 巴青县| 若尔盖县| 五大连池市| 当阳市| 鸡西市| 鹤庆县| 集贤县| 邹平县| 盐边县| 隆林| 隆尧县| 芦溪县| 合川市| 陆川县| 潮州市| 临武县| 永寿县| 克拉玛依市| 兴和县| 格尔木市| 盈江县| 余江县| 扬州市| 永宁县| 寿光市| 阿克陶县| 灵川县| 庆安县| 双柏县| 道真| 花垣县| 府谷县| 玉山县| 绵阳市| 昭苏县| 峨山| 博客| 秦皇岛市| 苍山县| 华容县| 萨嘎县|