久久综合丝袜日本网手机版,日韩欧美中文字幕在线三区,亚洲精品国产品国语在线,极品在线观看视频婷婷

      <small id="aebxz"><menu id="aebxz"></menu></small>
    1. java面試題的題目及答案

      時(shí)間:2022-06-24 06:34:15 面試 我要投稿
      • 相關(guān)推薦

      java面試題的題目及答案

      1.java異常機(jī)制的原理與應(yīng)用

      java面試題的題目及答案

      答:每當(dāng)程序出現(xiàn)異常之后,如果程序沒(méi)有進(jìn)行相應(yīng)的處理,則程序會(huì)出現(xiàn)中斷現(xiàn)象。

      實(shí)際上,產(chǎn)生了異常之后,JVM會(huì)拋出一個(gè)異常類的實(shí)例化對(duì)象,如果此時(shí)使用了try語(yǔ)句捕獲的話,則可以進(jìn)行異常的處理,否則,交給JVM進(jìn)行處理。當(dāng)try語(yǔ)句捕獲異常之后,將與catch語(yǔ)句的異常類型進(jìn)行匹配,如果匹配成功則執(zhí)行catch內(nèi)的語(yǔ)句。簡(jiǎn)單的應(yīng)用:在所以throws語(yǔ)句的地方加入try-catch。標(biāo)準(zhǔn)應(yīng)用:try-catch-finally-throw-throws一起使用。

      2. 垃圾回收機(jī)制的優(yōu)點(diǎn)

      答:釋放無(wú)用的對(duì)象所占用的空間。方式:自動(dòng)回收,手動(dòng)回收。使用System.gc(),實(shí)際上調(diào)用Runtime.getRuntime().gc()

      3. Error與Exception區(qū)別

      答:Error是jvm進(jìn)行處理,是jvm出錯(cuò)

      exception是可以由程序處理的,可以用try-catch捕獲的

      4. final,finally,finallize

      答:final定義的變量的值不能改變,定義的方法不能被覆蓋,定義的類不能被繼承

      finally是異常的統(tǒng)一出口,finallize是垃圾回收前的收尾工作,是Object類定義的

      5. Anonymous Inner Class是否可以extends,是否可以implements Interface

      答:允許繼承和實(shí)現(xiàn),因?yàn)槟涿麅?nèi)部類就是在抽象類和接口的基礎(chǔ)上發(fā)展起來(lái)的

      6. Static Nested Class 與Inner Class的區(qū)別

      答:使用Static定義的Class就是外部類,可以通過(guò)外部類. 內(nèi)部類直接訪問(wèn)

      而Inner Class是不能被外部訪問(wèn)的,只能通過(guò)外部類的實(shí)例再找到內(nèi)部類實(shí)例。

      7. HashMap and HashTable?

      答:HashMap:1) released in jdk 1.2,new Class 2)采用異步處理方式,性能較高,是非線程安全的 3)允許null

      HashTable:1)released in jdk 1.0 ,old Class 2)采用同步處理方式,性能低,是線程安全的3)不允許null

      8. assert代表什么?

      答:asserts是jdk 1.4之后發(fā)布的新關(guān)鍵字,表示斷言,即程序執(zhí)行到某個(gè)地方肯定是預(yù)計(jì)的值,一般開發(fā)很少使用。要使用assert,必須加上 -ea參數(shù)

      9. gc是什么?

      答:gc是garbage collection,垃圾回收,使用gc可以進(jìn)行垃圾空間的釋放

      10. String s = new String("xyz")產(chǎn)生了幾個(gè)對(duì)象?

      答:一個(gè)匿名對(duì)象xyz,在?臻g內(nèi)。一個(gè)new實(shí)例化的對(duì)象,在堆空間內(nèi)。

      11. sleep() and wait()?

      答:sleep()是Thread類定義方法,表示線程的休眠,可以自動(dòng)喚醒

      wait()方法是Object類定義的方法,需要手動(dòng)notify()和notifyAll()//sleep()不釋放資源,wait()釋放資源

      12. java中存在goto,但不能使用

      13.數(shù)組有沒(méi)有l(wèi)ength(),String有沒(méi)有l(wèi)ength()?

      答:數(shù)組有l(wèi)ength屬性,String有l(wèi)ength()

      14. Overload與Override的區(qū)別

      答:Overload:重載

      |- 在一個(gè)類中定義的若干方法

      |- 所有的方法名相同,但參數(shù)類型或個(gè)數(shù)不同

      |- 只有參數(shù)有關(guān),與返回類型無(wú)關(guān)

      Override:覆寫

      |- 在繼承的關(guān)系中

      |- 子類定義了父類同名的方法,參數(shù)類型或個(gè)數(shù)最好完全一樣。

      |- 訪問(wèn)權(quán)限不能更嚴(yán)格

      15. Set里的元素不能重復(fù),用什么方法區(qū)分?==與equals()方法的區(qū)別

      答:set里的元素是不能重復(fù)的,用iterator()方法來(lái)區(qū)分重復(fù)與否,==屬于地址比較,

      ==用于比較引用和比較基本數(shù)據(jù)類型時(shí)具有不同的功能:

      比較基本數(shù)據(jù)類型,如果兩個(gè)值相同,則結(jié)果為true

      而在比較引用時(shí),如果引用指向內(nèi)存中的同一對(duì)象,結(jié)果為true

      16. 列出常見(jiàn)的 runtime exception

      答:NumberFormatException/ArrayOutIndexofBoundException/NullPointerException/ClassCastException

      17. abstract class 和 interface有什么區(qū)別?

      答:抽象類:

      |-由抽象方法和常量、變量、全局常量、構(gòu)造方法、普通方法組成

      |-使用abstract聲明

      |-子類要通過(guò)extends繼承抽象類,子類如果不是抽象類,則必須覆寫抽象類的全部抽象方法

      |-存在單繼承的局限

      |-抽象類可以實(shí)現(xiàn)若干個(gè)接口

      接口:

      |-由抽象方法和全局常量組成

      |-使用interface關(guān)鍵字

      |-子類要通過(guò)implements實(shí)現(xiàn)接口,子類如果不是抽象類,則必須覆寫抽象類的全部抽象方法

      |-一個(gè)子類可以實(shí)現(xiàn)多個(gè)接口

      |-接口不能繼承一個(gè)抽象類,但允許繼承多個(gè)接口

      18. 啟動(dòng)一個(gè)線程要用start(),因?yàn)橐ㄖ猨vm進(jìn)行cpu資源的分配

      19. try{}里面有一個(gè)return,問(wèn)finally{}里面的代碼是否執(zhí)行,在什么時(shí)機(jī)執(zhí)行?

      答:finally{}里面的代碼執(zhí)行,在return之前。

      20. 寫一個(gè)singleton

      答:singleton的核心就是構(gòu)造方法私有化,Class,Runtime都采用單例

      package com.leongod.demo;

      public class Singleton(){

      private static final sin = new Singleton();

      private Singleton(){}

      public static Singleton getInstance(){

      return sin;

      }

      }

      21. 程序設(shè)計(jì):輸入一組數(shù)字,然后排序輸出

      答:package com.leongod.demo;

      import java.io.BufferedReader;

      import java.io.InputStreamReader;

      import java.util.Iterator;

      import java.util.Set;

      import java.util.TreeSet;

      public class IO {

      public static void main(String[] args) throws Exception {

      BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));

      System.out.println("請(qǐng)輸入一組數(shù)字,中間用空格分割:");

      String str = buf.readLine();

      Set set = new TreeSet();

      String[] arr = str.split(" ");

      for(String s : arr) {

      if (s.matches("\d+")) {

      set.add(Integer.parseInt(s));

      }

      }

      Iterator it = set.iterator();

      System.out.println("排序后的結(jié)果:");

      while (it.hasNext()) {

      System.out.print(it.next() + ",");

      }

      }

      }

      22.列出目錄內(nèi)的文件

      package com.leongod.demo;

      import java.io.File;

      import com.sun.org.apache.xpath.internal.functions.FuncBoolean;

      public class FileDemo {

      public static void main(String[] args) {

      ?? File file = new File("D:" + File.separator + "kongkong");

      ?? fun(file);

      }

      public static void fun(File file) {

      if (file.isDirectory()) {

      File[] lf = file.listFiles();

      if (lf != null) {

      for(File f : lf) {

      fun(f);

      }

      }

      }else {

      System.out.println(file.toString());

      }

      }

      }

      23. char可以存一個(gè)中文漢字嗎?

      答:可以,使用了unicode編碼

      24.多線程有幾種實(shí)現(xiàn)方法,都是什么?同步有幾種實(shí)現(xiàn)方法,都是什么?

      答:兩種多線程方法,繼承Thread類,實(shí)現(xiàn)Runnable接口

      |-Thread類是Runnable接口的子類

      |-使用Runnable接口可以實(shí)現(xiàn)資源共享的目的

      |-所有線程操作都必須通過(guò)Thread類的start()方法啟動(dòng)

      兩種實(shí)現(xiàn)同步的方法:

      |-同步代碼塊:Synchronized(this)

      |-同步方法

      25.f=3.4是不對(duì)的,3.4默認(rèn)是double類型的

      26.String and StringBuffer?

      答:String 不可以修改,StringBuffer可以修改

      27.Class.forname向容器中加載驅(qū)動(dòng)程序

      28.int與Integer有什么區(qū)別?

      答:int是基本數(shù)據(jù)類型,Integer是包裝類

      在jdk1.5以后,可以實(shí)現(xiàn)自動(dòng)裝箱和拆箱

      29.2*8有效的方法是移位操作:2<<3

      30.請(qǐng)說(shuō)出類集框架的完整結(jié)構(gòu)

      答:類級(jí)框架的最大接口:Collection、Map、Iterator、Enumeration

      Collection:存放單值

      |-List:允許有重復(fù)內(nèi)容

      |-ArrayList:異步處理,新的操作類,非線程安全

      |-Vector:同步處理,舊的操作類,線程安全,支持Enumeration

      |-Set:不允許有重復(fù)的內(nèi)容,依靠hashCode()和equals()進(jìn)行重復(fù)的驗(yàn)證

      |-HashSet:無(wú)序存放

      |-TreeSet:有序存放,按Comparable排序

      |-Map:存放一對(duì)值

      |-HashMap:新的類,異步處理,非線程安全,允許有null

      |-HashTable:舊的類,同步處理,線程安全,不允許有null

      |-TreeMap:有序排列,按key配需

      |-Iterator:迭代輸出,依靠collection接口中的iterator方法輸出,是新的輸出標(biāo)準(zhǔn)

      31.是否可以繼承String類?答:不可以,因?yàn)槭褂昧薴inal關(guān)鍵字


      【java面試題的題目及答案】相關(guān)文章:

      JAVA題庫(kù):JAVA面試題目整理07-11

      java 面試題目求助!07-13

      面試題目及答案06-28

      JAVA筆試和面試題目大全07-13

      2015java面試題及答案06-23

      Java試題筆試題目答案06-23

      一道Java面試題,題目如下07-11

      Java常見(jiàn)面試題(含答案)07-13

      6道經(jīng)典英語(yǔ)面試題目及答案06-29

      java面試題目:上機(jī)操作題07-13