posts - 2, comments - 2, trackbacks - 0, articles - 23
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          日歷

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          相關(guān)博客

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          coreJava面試題

          Posted on 2012-02-16 14:10 齊納爾多 閱讀(548) 評論(0)  編輯  收藏 所屬分類: 面試資料
          1.異常處理機制的簡單原理和應(yīng)用
          2.垃圾回收的優(yōu)點和原理,并考慮2種回收機制
          3.線程同步的方法
          4.Error與Exception有什么區(qū)別
          5.java中一個類被聲明為final類型.
          6.heap和stack有什么區(qū)別
          7.系統(tǒng)要使用超大整數(shù)(超過long長度范圍),請你設(shè)計一個數(shù)據(jù)結(jié)構(gòu)來存儲這種超大型數(shù)字以及設(shè)計一種算法來實現(xiàn)超大整數(shù)加法運算
          8.設(shè)計一個圖形系統(tǒng),請你設(shè)計基本的圖形元件(Point,Line,Rectangle,Triangle)的簡單實現(xiàn)
          9.final, finally, finalize的區(qū)別
          10.Anonymous Inner Class (匿名內(nèi)部類) 是否可以extends(繼承)其它類,是否可以implements(實現(xiàn))interface(接口)
          11.Static Nested Class 和 Inner Class的不同
          12.&和&&區(qū)別
          13.HashMap和Hashtable的區(qū)別
          14.Collection 和 Collections的區(qū)別
          15.GC是什么? 為什么要有GC
          16.String s = new String("xyz");創(chuàng)建了幾個String Object
          17.sleep() 和 wait() 有什么區(qū)別
          18.short s1 = 1; s1 = s1 + 1;有什么錯? short s1 = 1; s1 += 1;有什么錯?
          19.Java有沒有g(shù)oto?
          20.Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們有何區(qū)別?
          21.最常見到的runtime exception
          22.abstract class和interface有什么區(qū)別?
          23.abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized
          24.接口是否可繼承接口? 抽象類是否可實現(xiàn)(implements)接口? 抽象類是否可繼承實體類(concrete class)?
          25.構(gòu)造器Constructor是否可被override
          26.當(dāng)一個線程進入一個對象的一個synchronized方法后,其它線程是否可進入此對象的其它方法
          27.用最有效率的方法算出2乘以8等於幾
          28.兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
          29.當(dāng)一個對象被當(dāng)作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞
          30.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上(int、short、char、byte)
          31.Singleton
          32.Hashtable和HashMap區(qū)別
          33.JVM加載class文件的原理機制
              在Java中,類裝載器把一個類裝入Java虛擬機中,要經(jīng)過三個步驟來完成:裝載、鏈接和初始化,其中鏈接又可以分成校驗、準(zhǔn)備、解析
                  裝載:查找和導(dǎo)入類或接口的二進制數(shù)據(jù); 
                  鏈接:執(zhí)行下面的校驗、準(zhǔn)備和解析步驟,其中解析步驟是可以選擇的; 
                       校驗:檢查導(dǎo)入類或接口的二進制數(shù)據(jù)的正確性; 
                       準(zhǔn)備:給類的靜態(tài)變量分配并初始化存儲空間; 
                       解析:將符號引用轉(zhuǎn)成直接引用;
                  初始化:激活類的靜態(tài)變量,初始化Java代碼和靜態(tài)Java代碼塊
          34.舉例說明一個典型的垃圾回收算法
                    1) 引用計數(shù)
                   要求堆中的每個對象實例都有一個稱為引用計數(shù)的字段,當(dāng)分配時計數(shù)+1、超出或銷毀時-1,當(dāng)引用計數(shù)為0時其空間可回收。
                    引用計數(shù)優(yōu)點:回收速度快;
                    缺點:引起運行時系統(tǒng)性能下降。
                    2) 標(biāo)記并清除
                    要求每個對象都包含一個位字段,稱為標(biāo)記位,或在算法運行時建立一個外部數(shù)組以存放標(biāo)記位。該算法從遍歷堆中所有已分配的內(nèi)存塊開始,重新設(shè)置塊的標(biāo)記位,檢查所有指向堆中對象的字段和變量,將被引用對象的標(biāo)記位設(shè)置為真,然后找出所有未標(biāo)記對象,將其放到自由塊列表中來回收空間。
                    標(biāo)記并清除優(yōu)點:存儲開銷較低且不會影響運行時的執(zhí)行性能;
                    缺點:當(dāng)內(nèi)存垃圾收集器運行時可能會占用很長時間。

          35.請用java寫二叉樹算法,實現(xiàn)添加數(shù)據(jù)形成二叉樹功能,并以先序的方式打印出來
          36.寫一個java程序?qū)崿F(xiàn)線程連接池功能
          流程如下:先啟動若干個線程,并讓這些線程處于睡眠狀態(tài),當(dāng)有客戶請求時,就會喚醒池中的一個睡眠線程,來處理用戶請求。處理完成以后,線程又處于睡眠狀態(tài)。
          37.數(shù)據(jù)庫連接池原理
          數(shù)據(jù)庫連接是關(guān)鍵的有限的昂貴的資源,每個數(shù)據(jù)庫連接對象都對應(yīng)一個物理數(shù)據(jù)庫連接,每次打開一個物理連接使用后都得關(guān)閉這個連接,這就造成了性能底下
          解決方案:在應(yīng)用程序啟動時,建立足夠多的數(shù)據(jù)庫連接,并將這些連接組成一個連接池,由應(yīng)用程序?qū)Τ刂械倪B接動態(tài)的申請、分配、釋放。
          對于多于池中連接數(shù)的并發(fā)請求、應(yīng)該在請求隊列中排隊等待,并且應(yīng)用程序可以根據(jù)池中連接的使用率,動態(tài)地增加或者減少池中的連接數(shù)
          (最大連接數(shù)、最小連接數(shù))
          38.給定一個C語言函數(shù),要求實現(xiàn)在java類中進行調(diào)用
          39.編一段代碼,實現(xiàn)在控制臺輸入一組數(shù)字后,排序后在控制臺輸出
          40.列出某文件夾下的所有文件
          41.調(diào)用系統(tǒng)命令實現(xiàn)刪除文件的操作
          42.實現(xiàn)從文件中一次讀出一個字符的操作
          43.列出一些控制流程的方法
          44.多線程有哪些狀態(tài)
          45.編寫了一個服務(wù)器端的程序?qū)崿F(xiàn)在客戶端輸入字符然后在控制臺上顯示,直到輸入"END"為止,讓你寫出客戶端的程序
          46.作用域public,private,protected,以及不寫時的區(qū)別 
          47.ArrayList和Vector的區(qū)別,HashMap和Hashtable的區(qū)別 
          48.char型變量中能不能存貯一個中文漢字?為什么?
          49.多線程有幾種實現(xiàn)方法,都是什么?同步有幾種實現(xiàn)方法,都是什么? 
          50.垃圾回收機制,如何優(yōu)化程序
          51.float型float f=3.4是否正確
          52.介紹JAVA中的Collection FrameWork(包括如何寫自己的數(shù)據(jù)結(jié)構(gòu))? 
          53.Java中異常處理機制,事件機制
          54.JAVA中的多態(tài)與繼承
          55.現(xiàn)在輸入n個數(shù)字,以逗號,選擇升序、降序排列。
          56.Java 的通信編程,編程題(或問答),用JAVA SOCKET編程,讀服務(wù)器幾個字符,再寫入本地顯示
          57.在COLLECTION框架中,實現(xiàn)比較要實現(xiàn)什么樣的接口
          58.JAVA多線程編程。 用JAVA寫一個多線程程序,如寫四個線程,二個加1,二個對一個變量減一,輸出。
          59.STRING與STRINGBUFFER的區(qū)別
          60.hashmap的內(nèi)部實現(xiàn)機制,hash是怎樣實現(xiàn)的,什么時候rehash 

          62.java的內(nèi)存管理
          63.分布式緩存的內(nèi)存管理,如何管理和釋放不斷膨脹的session,memcache是否熟悉
          64.oralce的底層管理(怎樣讓查詢快,插入慢)
          65.java底層是怎樣對文件操作的

          66.研究了哪些框架的源碼
          67.并發(fā)問題,鎖,怎么處理死鎖,臟數(shù)據(jù)處理
          68.性能問題

          69.equals和hashcode這些方法怎么使用的
          70.java的NIO












           

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 徐州市| 苏尼特左旗| 吕梁市| 贺兰县| 桃源县| 金门县| 红原县| 东光县| 长岭县| 浦北县| 彭阳县| 和静县| 鹤岗市| 香河县| 黑河市| 双城市| 红桥区| 星座| 乳源| 色达县| 翁源县| 绍兴县| 平谷区| 资中县| 如东县| 油尖旺区| 根河市| 万宁市| 马鞍山市| 革吉县| 河西区| 宁国市| 旬邑县| 科技| 平湖市| 五河县| 泰顺县| 宁波市| 洞口县| 福鼎市| 肥东县|