<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    自由飛翔

    我在仰望,java之上

    統(tǒng)計(jì)

    留言簿(2)

    我關(guān)注的blog

    閱讀排行榜

    評(píng)論排行榜

    面試題(通信行業(yè)公司)

    一、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的區(qū)別:
    HashMap不是線程安全的,
    HashTable是線程安全的
    HashTable不允許null值(key和value都不可以),HashMap允許null值(key和value都可以)。
    HashTable使用Enumeration,HashMap使用Iterator。
    HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。
    Hashtable是基于陳舊的Dictionary類(lèi),完成了Map接口;HashMap是Java 1.2引進(jìn)的Map接口的一個(gè)實(shí)現(xiàn)(HashMap繼承于AbstractMap,AbstractMap完成了Map接口)。
    HashTable中hash數(shù)組默認(rèn)大小是11,增加的方式是 old*2+1。HashMap中hash數(shù)組的默認(rèn)大小是16,而且一定是2的指數(shù)。
    哈希值的使用不同,HashTable直接使用對(duì)象的hashCode。
    2.什么是java的序列化?如何實(shí)現(xiàn)java的序列化:

    序列化就是一種用來(lái)處理對(duì)象流的機(jī)制,所謂對(duì)象流也就是將對(duì)象的內(nèi)容進(jìn)行流化。可以對(duì)流化后的對(duì)象進(jìn)行讀寫(xiě)操作,也可將流化后的對(duì)象傳輸于網(wǎng)絡(luò)之間。序列化是為了解決在對(duì)對(duì)象流進(jìn)行讀寫(xiě)操作時(shí)所引發(fā)的問(wèn)題。

    序列化的實(shí)現(xiàn):將需要被序列化的類(lèi)實(shí)現(xiàn)Serializable接口,然后使用一個(gè)輸出流(如:FileOutputStream)來(lái)構(gòu)造一個(gè)ObjectOutputStream(對(duì)象流)對(duì)象,接著,使用ObjectOutputStream對(duì)象的writeObject(Object obj)方法就可以將參數(shù)為obj的對(duì)象寫(xiě)出(即保存其狀態(tài)),要恢復(fù)的話則用輸入流。

    3.什么是java的單例模式?寫(xiě)一個(gè)單例模式;
    單例模式:確保某一個(gè)類(lèi)只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例。這個(gè)類(lèi)稱(chēng)為單例類(lèi)。

      代碼清單1:餓漢式單例類(lèi)

    public class EagerSingleton 

        private static final EagerSingleton m_instance = new EagerSingleton(); 

       /** 
       * 私有的默認(rèn)構(gòu)造方法 
       */
     
       private EagerSingleton() { } 

       /** 
       * 靜態(tài)方法獲得單例 
       */ 
       public static EagerSingleton getInstance() 
       {
          return m_instance; 
       }
    }

    代碼清單2:懶漢式單例類(lèi)

    package com.javapatterns.singleton.demos;
    public class LazySingleton
    {
        private static LazySingleton m_instance = null;


        /**
        * 私有的默認(rèn)構(gòu)造方法,保證外界無(wú)法直接實(shí)例化
        */
        private LazySingleton() { }


        /**
        * 靜態(tài)方法,返還此類(lèi)的惟一實(shí)例
        */
        public synchronized static LazySingleton getInstance()
        {
            if (m_instance == null)
            {
                m_instance = new LazySingleton();
            }
            return m_instance;
        }
    }

    4.靜態(tài)塊與構(gòu)造器在繼承中的執(zhí)行順序:

    public class TestExeuteOrder {

    public static void main(String[] args) {
    Parent p = new ChildTest();
    p = new ChildTest();

    }

    }
    class ChildTest extends Parent{
    static{
    System.out.println("in child static");
    }
    public ChildTest(){
    System.out.println("in child construtor");
    }
    }

    class Parent{
    static{
    System.out.println("in parent static");
    }
    public Parent(){
    System.out.println("in parent construtor");
    }
    }
    運(yùn)行結(jié)果:
    in parent static
    in child static
    in parent construtor
    in child construtor
    in parent construtor
    in child construtor
    5.成員內(nèi)部類(lèi):
    public class TestExeuteOrder{
    class Inner{
    void test(){
    if(TestExeuteOrder.this.flag){
    System.out.println("what a funny");
    }
    }
    }
    private boolean flag = true;
    public TestExeuteOrder(){
    new Inner().test();
    }
    public static void main(String[] args){
    new TestExeuteOrder();
    }
    }
    運(yùn)行結(jié)果:
    what a funny
    6.參數(shù)傳遞:
    public class TestExeuteOrder{

    public static void main(String[] args){
    String a = "ello";
    TestExeuteOrder t = new TestExeuteOrder();
    t.change(a);
    System.out.println(a);
    }
    public void change(String str){
    str += "H";
    }
    }
    結(jié)果:
    ello
    7.參數(shù)傳遞2:
    public class TestExeuteOrder{

    public static void main(String[] args){
    StringBuffer x = new StringBuffer("A");
    StringBuffer y = new StringBuffer("B");
    change(x,y);
    System.out.println(x+" "+y);
    }
    public static void change(StringBuffer a,StringBuffer b){
    a.append(b);
    b = a;
    }
    }
    結(jié)果為:
    AB B
    8.

    public class TestExeuteOrder{
    public static void main(String[] args){
    String a = "good";
    char[] b = new char[]{'a','b','c'};
    method(a,b);
    System.out.println("a="+a+"------>b="+new String(b));
    }
    public static void method(String a,char[] b){
    a = "Test ok";
    b[0] = 'g';
    }
    }
    結(jié)果:
    a=good------>b=gbc
    三、SQL:

     

    1.存儲(chǔ)過(guò)程與函數(shù)的區(qū)別:
    1)前者,程序頭部聲明用的是procedure;后者,程序頭部聲明用的是function;
    2)前者,不需要描述返回類(lèi)型,后者需要;
    3)前者可以作為一個(gè)獨(dú)立的pl/sql語(yǔ)句來(lái)執(zhí)行;后者不能獨(dú)立運(yùn)行,必須作為表達(dá)式的一部分條用;
    4)sql語(yǔ)句中不可調(diào)用procedure,但可以調(diào)用function;
    2.查詢student表中name重復(fù)的記錄:

    select * from student where name in(select name from student group by sname having count(*) >1);

    3.table表中有兩列A,B,如果A>B選擇A,如果A<B,選擇B:

    select( case when s1.A>s1.B then s1.A  when s1.A<s1.B then s1.B end) re from student s1;

     



    Gavin

    posted on 2012-03-30 16:00 GavinMiao 閱讀(749) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 面試題

    主站蜘蛛池模板: 免费无码又爽又刺激聊天APP| 免费看国产一级特黄aa大片| 亚洲综合久久一本伊伊区| 成人性生交大片免费看午夜a| 国产精品亚洲精品爽爽| 亚洲精品国精品久久99热一| 18禁无遮挡无码国产免费网站| 亚洲精品国产首次亮相| 亚洲中文久久精品无码| 国产成人免费在线| 色费女人18女人毛片免费视频| 亚洲AV午夜成人片| 永久中文字幕免费视频网站| a毛片视频免费观看影院| 亚洲精品天堂在线观看| 国产av无码专区亚洲国产精品| 亚洲精品免费在线| 一级美国片免费看| 精品亚洲成在人线AV无码| 亚洲一级特黄大片无码毛片 | 亚洲一区二区在线免费观看| 成人在线视频免费| 日韩中文字幕免费视频| 亚洲高清乱码午夜电影网| 亚洲成AV人片在线观看无| 日韩免费一区二区三区| 99爱在线精品视频免费观看9| 在线视频亚洲一区| 亚洲成人黄色在线观看| 在线亚洲精品自拍| 日韩免费视频播播| 无遮免费网站在线入口| a级毛片毛片免费观看永久| 亚洲a∨无码精品色午夜| 亚洲色欲www综合网| 在线A亚洲老鸭窝天堂| 日韩免费一区二区三区| 曰曰鲁夜夜免费播放视频| 日韩视频在线观看免费| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 亚洲久悠悠色悠在线播放|