1. 程式人生 > >筆試錯題記錄3

筆試錯題記錄3

####選擇題 1.servlet生命週期

  • init() 方法進行初始化。只調用一次。後續每次使用者請求時不再呼叫。像Applet 的init()一樣。
  • service()方法執行實際任務的方法,用來處理客戶端的請求,並把格式化的響應寫回給客戶端。每次伺服器接受一個servlet請求,伺服器會產生一個新的執行緒,並呼叫服務。
  • **destroy()**方法終止結束。最後servlet是由JVM垃圾回收器進行垃圾回收。

2.HTTP狀態碼

  • 200 請求成功
  • 301 所請求的頁面已經轉移個新的URL
  • 302 所請求的頁面臨時轉移到一個新的URL
  • 403 禁止訪問所請求的頁面
  • 404 伺服器無法找到所請求的頁面
  • 504 閘道器超時

3.HashMap 和 TreeMap 和 LinkedHashMap

  • HashMap 根據鍵的HashCode值儲存資料,具有很快的訪問速度。遍歷時,取得資料的順序是完全隨機的。不支援執行緒同步。如果需要同步,使用Collection的synchronizedMap使HashMap具有同步功能。遍歷速度和容量有關。
  • LinkedHashMap儲存記錄的插入順序,在用iterator遍歷LinkedHashMap時,先得到的記錄肯定是先插入的。遍歷時會比HashMap慢。LinkedHashMap 遍歷速度只和實際資料有關,和容量無關。
  • TreeMap 實現了SortMap介面,能夠把它儲存的記錄根據鍵排序。預設是按照鍵值的升序排序。

4.Applet類的直接父類是Panel類。

5.swing 和 awt 的區別於聯絡

  • awt(Abstract Window Toolkit):抽象視窗工具包,早期編寫圖形介面應用程式的包。awt構建圖形使用者介面時,實際上是利用作業系統的圖形庫。不同作業系統的圖形庫可能不同。awt是基於本地的C和C++程式,所以其執行時間夠快。
  • swing:為了解決awt的存在的問題而新開發的圖形介面包。由於Swing是純粹用Java程式碼來實現的,因此Swing的控制元件在各平臺通用。Swing是基於Java程式碼的,所以其執行速度較慢。

6.static修飾符 靜態程式碼塊。靜態程式碼塊在類載入到JVM時執行,只被執行一次,也就是說靜態程式碼塊不需要例項類就能夠被呼叫,並且程式碼是主動執行的。一般情況下,有些程式碼需要在專案啟動的時候執行,就需要使用靜態程式碼塊。static塊可以放在類的任何地方,類中可以有多個static塊

。如果有多個static塊,那麼JVM將按照它們在類中出現的先後順序依次執行。

程式碼的執行順序:主調類的靜態程式碼塊 -> 物件父類的靜態程式碼塊 -> 物件的靜態程式碼塊 -> 物件父類的非靜態程式碼塊 -> 物件父類的建構函式 -> 物件的非靜態程式碼塊 -> 物件的建構函式。

class Book{
    public Book(String msg) {
        System.out.println(msg);
    }
}
 
public class Person {
 
    Book book1 = new Book("book1成員變數初始化");
    static Book book2;
    
    static {
        book2 = new Book("static成員book2成員變數初始化");
        book4 = new Book("static成員book4成員變數初始化");
    }
    
    public Person(String msg) {
        System.out.println(msg);
    }
    
    Book book3 = new Book("book3成員變數初始化");
    static Book book4;
    
    public static void funStatic() {
        System.out.println("static修飾的funStatic方法");
    }
    
    public static void main(String[] args) {
        Person.funStatic();
        System.out.println("****************");
        Person p1 = new Person("p1初始化");
    }
}

/*
輸出結果:
static成員book2成員變數初始化

static成員book4成員變數初始化

static修飾的funStatic方法

***************

book1成員變數初始化

book3成員變數初始化

p1初始化
*/