主頁 > 教育培訓(xùn) > 電腦培訓(xùn) > java面試題及答案 java筆試試題練習(xí)(8)

java面試題及答案 java筆試試題練習(xí)(8)

  4、內(nèi)部類的實現(xiàn)方式?

  答:示例代碼如下:

  package test;

  public class OuterClass {

  private class InterClass {

  public InterClass() {

  System.out.println("InterClass Create");

  }

  }

  public OuterClass() {

  InterClass ic = new InterClass();

  System.out.println("OuterClass Create");

  }

  public static void main(String[] args) {

  OuterClass oc = new OuterClass();

  }

  }

  輸出結(jié)果:

  C:>java test/OuterClass

  InterClass Create

  OuterClass Create

  再一個例題:

  public class OuterClass {

  private double d1 = 1.0;

  //insert code here

  }

  You need to insert an inner class declaration at line 3. Which two inner class declarations are

  valid?(Choose two.)

  A. class InnerOne{

  public static double methoda() {return d1;}

  }

  B. public class InnerOne{

  static double methoda() {return d1;}

  }

  C. private class InnerOne{

  double methoda() {return d1;}

  }

  D. static class InnerOne{

  protected double methoda() {return d1;}

  }

  E. abstract class InnerOne{

  public abstract double methoda();

  }

  說明如下:

  一.靜態(tài)內(nèi)部類可以有靜態(tài)成員,而非靜態(tài)內(nèi)部類則不能有靜態(tài)成員。 故 A、B 錯

  二.靜態(tài)內(nèi)部類的非靜態(tài)成員可以訪問外部類的靜態(tài)變量,而不可訪問外部類的非靜態(tài)變量;return d1 出錯。故 D 錯

  三.非靜態(tài)內(nèi)部類的非靜態(tài)成員可以訪問外部類的非靜態(tài)變量。 故 C 正確

  四.答案為C、E

  5、Java 的通信編程,編程題(或問答),用JAVA SOCKET編程,讀服務(wù)器幾個字符,再寫入本地顯示?

  答:Server端程序:

  package test;

  import java.net.*;

  import java.io.*;

  public class Server {

  private ServerSocket ss;

  private Socket socket;

  private BufferedReader in;

  private PrintWriter out;

  public Server() {

  try {

  ss=new ServerSocket(10000);

  while(true) {

  socket = ss.accept();

  String RemoteIP = socket.getInetAddress().getHostAddress();

  String RemotePort = ":"+socket.getLocalPort();

  System.out.println("A client come in!IP:"+Remo

  某公司Java面試題及部分解答(難度較大)

  1。請大概描述一下Vector和ArrayList的區(qū)別,Hashtable和HashMap的區(qū)別。(5)

  2。請問你在什么情況下會在你的JAVA代碼中使用可序列化?(5)

  為什么放到HttpSession中的對象必須要是可序列化的?(5)

  3。為什么在重寫了equals()方法之后也必須重寫hashCode()方法?(10)

  4。sleep()和wait()有什么區(qū)別?(10)

  5。編程題:用最有效率的方法算出2乘以17等于多少?(5)

  6。JAVA是不是沒有內(nèi)存泄漏問題?看下面的代碼片段,并指出這些代碼隱藏的問題。(10)

  Object[] elements = new Object[10];

  int size;

  ...

  public Object pop() {

  if (size == 0)

  return null;

  Object o = elements[--size];

  return o;

  }

  7。請闡述一下你對JAVA多線程中“鎖”的概念的理解。(10)

  8。所有的遞歸實現(xiàn)都可以用循環(huán)的方式實現(xiàn),請描述一下這兩種實現(xiàn)方式各自的優(yōu)劣。

  并舉例說明在什么情況下可以使用遞歸,而在什么情況下只能使用循環(huán)而不能使用遞歸?(5)

  9。請簡要講一下你對測試驅(qū)動開發(fā)(TDD)的認識。(10)

  10。請闡述一下你對“面向接口編程”的理解。(10)

  11。在J2EE中有一個“容器(Container)”的概念,不管是EJB、PICO還是Spring都有他們

  各自實現(xiàn)的容器,受容器管理的組件會具有有生命周期的特性,請問,為什么需要容器?

  它的好處在哪里?它會帶來什么樣的問題?(15)

  12。請闡述一下你對IOC(Inversion of Control)的理解。(可以以PICO和Spring的IOC作為例子說明他們在實現(xiàn)上各自的特點)(10)

  13。下面的代碼在絕大部分時間內(nèi)都運行得很正常,請問在什么情況下會出現(xiàn)問題?問題的根源在哪里?(10)

  import java.util.LinkedList;

  public class Stack {

  LinkedList list = new LinkedList();

  public synchronized void push(Object x) {

  synchronized(list) {

  list.addLast( x );

  notify();

  }

  }

  public synchronized Object pop()

  throws Exception {

  synchronized(list) {

  if( list.size() <= 0 ) {

  wait();

  }

  return list.removeLast();

  }

  }

  }

  解答:

  。請大概描述一下Vector和ArrayList的區(qū)別,Hashtable和HashMap的區(qū)別。(5)線程安全與否

  2。請問你在什么情況下會在你的JAVA代碼中使用可序列化?(5)cluster中session復(fù)制,緩存persist與reload

  為什么放到HttpSession中的對象必須要是可序列化的?(5)沒必須,不過session反序列化過程會導(dǎo)致對象不可用.

  3。為什么在重寫了equals()方法之后也必須重寫hashCode()方法?(10)API規(guī)范

  4。sleep()和wait()有什么區(qū)別?(10)前者占用CPU,后者空閑CPU

  5。編程題:用最有效率的方法算出2乘以17等于多少?(5)17>>1

  6。JAVA是不是沒有內(nèi)存泄漏問題?看下面的代碼片段,并指出這些代碼隱藏的問題。(10)不是

  ...

  ...沒發(fā)現(xiàn)內(nèi)存泄漏的問題

  7。請闡述一下你對JAVA多線程中“鎖”的概念的理解。(10)同步因子,在某段代碼上增加同步因子,那么整個JVM內(nèi)部只能最多有一個線程執(zhí)行這段,其余的線程按FIFO方式等待執(zhí)行.

  8。所有的遞歸實現(xiàn)都可以用循環(huán)的方式實現(xiàn),請描述一下這兩種實現(xiàn)方式各自的優(yōu)劣。

  并舉例說明在什么情況下可以使用遞歸,而在什么情況下只能使用循環(huán)而不能使用遞歸?(5)沒發(fā)現(xiàn)所有的遞歸都可以用循環(huán)實現(xiàn)的,尤其是那種不知道循環(huán)重數(shù)的遞歸算法.遞歸的優(yōu)點是簡煉,抽象性好;循環(huán)則更直觀.遞歸一般用于處理一級事務(wù)能轉(zhuǎn)化成更簡的二級事務(wù)的操作.歸納不出二級事務(wù)或者二級事務(wù)更復(fù)雜的情況不能用.

  9。請簡要講一下你對測試驅(qū)動開發(fā)(TDD)的認識。(10)不認識

  10。請闡述一下你對“面向接口編程”的理解。(10)1,利于擴展;2,暴露更少的方法;

  11。在J2EE中有一個“容器(Container)”的概念,不管是EJB、PICO還是Spring都有他們

  各自實現(xiàn)的容器,受容器管理的組件會具有有生命周期的特性,請問,為什么需要容器?

  它的好處在哪里?它會帶來什么樣的問題?(15)組件化,框架設(shè)計...

  12。請闡述一下你對IOC(Inversion of Control)的理解。(可以以PICO和Spring的IOC作為例子說明他們在實現(xiàn)上各自的特點)(10)不理解

免責(zé)聲明:該文觀點僅代表作者本人,查查吧平臺系信息發(fā)布平臺,僅提供信息存儲空間服務(wù),不承擔(dān)相關(guān)法律責(zé)任。圖片涉及侵權(quán)行為,請發(fā)送郵件至85868317@qq.com舉報,一經(jīng)查實,本站將立刻刪除。返回查查吧首頁,查看更多>>
提示

該文觀點僅代表作者本人,查查吧平臺系信息發(fā)布平臺,僅提供信息存儲空間服務(wù),不承擔(dān)相關(guān)法律責(zé)任。圖片涉及侵權(quán)行為,請發(fā)送郵件至85868317@qq.com舉報,一經(jīng)查實,本站將立刻刪除。

優(yōu)惠商城

更多