面試題(通信行業公司)
一、unix:1.ps -ef|grep tomcat
2.mkdir dir
3.打tar包:tar -cvf XXX.tar XXX
4.解壓tar包:tar -xvf XXX.tar
二、java
1.HashMap和HashTable的區別:
HashMap不是線程安全的,HashTable是線程安全的
HashTable不允許null值(key和value都不可以),HashMap允許null值(key和value都可以)。
HashTable使用Enumeration,HashMap使用Iterator。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。
Hashtable是基于陳舊的Dictionary類,完成了Map接口;HashMap是Java 1.2引進的Map接口的一個實現(HashMap繼承于AbstractMap,AbstractMap完成了Map接口)。
HashTable中hash數組默認大小是11,增加的方式是 old*2+1。HashMap中hash數組的默認大小是16,而且一定是2的指數。
哈希值的使用不同,HashTable直接使用對象的hashCode。
2.什么是java的序列化?如何實現java的序列化:
序列化就是一種用來處理對象流的機制,所謂對象流也就是將對象的內容進行流化。可以對流化后的對象進行讀寫操作,也可將流化后的對象傳輸于網絡之間。序列化是為了解決在對對象流進行讀寫操作時所引發的問題。
序列化的實現:將需要被序列化的類實現Serializable接口,然后使用一個輸出流(如:FileOutputStream)來構造一個ObjectOutputStream(對象流)對象,接著,使用ObjectOutputStream對象的writeObject(Object obj)方法就可以將參數為obj的對象寫出(即保存其狀態),要恢復的話則用輸入流。
單例模式:確保某一個類只有一個實例,而且自行實例化并向整個系統提供這個實例。這個類稱為單例類。
代碼清單1:餓漢式單例類
public class EagerSingleton
{
private static final EagerSingleton m_instance = new EagerSingleton();
/**
* 私有的默認構造方法
*/
private EagerSingleton() { }
/**
* 靜態方法獲得單例
*/
public static EagerSingleton getInstance()
{
return m_instance;
}
}
代碼清單2:懶漢式單例類
package com.javapatterns.singleton.demos;
public class LazySingleton
{
private static LazySingleton m_instance = null;
/**
* 私有的默認構造方法,保證外界無法直接實例化
*/
private LazySingleton() { }
/**
* 靜態方法,返還此類的惟一實例
*/
public synchronized static LazySingleton getInstance()
{
if (m_instance == null)
{
m_instance = new LazySingleton();
}
return m_instance;
}
}
4.靜態塊與構造器在繼承中的執行順序:
運行結果:
5.成員內部類:
運行結果:
6.參數傳遞:
結果:
7.參數傳遞2:
結果為:
AB B
8.
結果:
1.存儲過程與函數的區別:
1)前者,程序頭部聲明用的是procedure;后者,程序頭部聲明用的是function;
2)前者,不需要描述返回類型,后者需要;
3)前者可以作為一個獨立的pl/sql語句來執行;后者不能獨立運行,必須作為表達式的一部分條用;
4)sql語句中不可調用procedure,但可以調用function;
2.查詢student表中name重復的記錄:
3.table表中有兩列A,B,如果A>B選擇A,如果A<B,選擇B:
Gavin
posted on 2012-03-30 16:00 GavinMiao 閱讀(743) 評論(0) 編輯 收藏 所屬分類: 面試題