Java面試題目之備忘十二

2021-08-30 19:08:52 字數 1606 閱讀 3268

public class threadtester

catch (interruptedexception e)

t2.start(); }}

class c

catch (interruptedexception e)

system.out.println("hello"); }

public synchronized void world() }

class t1 extends thread

@override

public void run() }

class t2 extends thread

@override

public void run()

}

問題:程式執行後,是先輸出world,還是hello輸出後再輸出world?

結果: hello world

關於synchronized關鍵字的作用

1 在某個物件的所有synchronized方法中,在某一時刻,只能有乙個唯一的乙個執行緒去訪問這些synchronized方法;

2 如果乙個方法是synchronized方法,那麼該synchronized關鍵字表示給當前物件上鎖(this)

3 如果乙個synchronized方法是靜態的(static的),那麼該synchronized關鍵字表示給當前物件所對應的class物件上鎖。(每個類,不管生成多少物件,其對應的class物件只有乙個)

public class threadtester

catch (interruptedexception e)

t2.start(); }}

class c

catch (interruptedexception e)

}system.out.println("hello"); }

public void world() }

}class t1 extends thread

@override

public void run() }

class t2 extends thread

@override

public void run()

}public class threadtester

catch (interruptedexception e)

t2.start(); }}

class c

catch (interruptedexception e)

system.out.println("hello"); }

public synchronized void world() }

class t1 extends thread

@override

public void run() }

class t2 extends thread

@override

public void run()

}

問題:程式執行後,是先輸出world,還是hello輸出後再輸出world?

結果  world hello

Java面試題目之備忘八

請問arraylist,linkedlist以及vector的區別?1 arraylist底層實際是採用陣列實現的 並且該陣列的型別是object型別的 2 如果是jdk6的話,採用array.of 方法來生成乙個新的陣列,如果是jdk5.0,使用的是system.arraycopy 方法 3 li...

Java面試題目之備忘十四

1 關於httpservlt中的service,doget,dopost方法的關係 首先客戶端提交乙個請求,該請求一定是首先到達了service方法,然後service方法根據請求中的引數內容是get,還是post 或者其他方式來決定到底是呼叫doget,還是dopost,還是其他的do方法。2 請...

Java面試題目之備忘十五

關於servlet 的生命週期 1 初始化階段 init方法被呼叫 客戶端第一次訪問該servlert,那麼該servlet將被例項化,緊接著,init方法被呼叫,注意 該init方法在servlet的整個生命週期中僅執行一次。2 服務階段 service方法被呼叫 客戶端每發來一次請求,該serv...