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)不理解
2021-07-09
2021-07-08
2021-07-08
2021-07-08
2021-07-08
2021-07-08
2021-07-07
2021-07-07
2021-07-07
2021-07-07
2021-07-07
2021-07-06
2021-07-06
2021-07-06
工作態(tài)度怎么寫 具有穩(wěn)定的工作心態(tài)
2021-07-06
該文觀點僅代表作者本人,查查吧平臺系信息發(fā)布平臺,僅提供信息存儲空間服務(wù),不承擔(dān)相關(guān)法律責(zé)任。圖片涉及侵權(quán)行為,請發(fā)送郵件至85868317@qq.com舉報,一經(jīng)查實,本站將立刻刪除。