string 字串常量
stringbuffer 字串變數(執行緒安全)
stringbuilder 字串變數(非執行緒安全)
string 型別和 stringbuffer 型別的主要效能區別其實在於 string 是不可變的物件, 因此在每次對 string 型別進行改變的時候其實都等同於生成了乙個新的 string 物件,然後將指標指向新的 string 物件,所以經常改變內容的字串最好不要用 string ,因為每次生成物件都會對系統效能產生影響.
stringbuffer每次結果都會對 stringbuffer 物件本身進行操作,而不是生成新的物件,再改變物件引用。所以在一般情況下我們推薦使用 stringbuffer ,特別是字串物件經常改變的情況下。
stringbuilder 該類被設計用作 stringbuffer 的乙個簡易替換,用在字串緩衝區被單個執行緒使用的時候(這種情況很普遍)
error(錯誤)是系統中的錯誤,程式設計師是不能改變的和處理的,是在程式編譯時出現的錯誤,只能通過修改程式才能修正。
exception(異常)表示程式可以處理的異常,可以捕獲且可能恢復。遇到這類異常,應該盡可能處理異常,使程式恢復執行,而不應該隨意終止異常。
樂觀鎖:總是認為不會產生併發問題,每次去取資料的時候總認為不會有其他執行緒對資料進行修改,因此不會上鎖
悲觀鎖: 總是假設最壞的情況,每次取資料時都認為其他執行緒會修改,所以都會加鎖(讀鎖、寫鎖、行鎖等),當其他執行緒想要訪問資料時,都需要阻塞掛起。
final用於修飾類、成員變數和成員方法。
final修飾的類,不能被繼承(string、stringbuilder、stringbuffer、math,不可變類),其中所有的方法都不能被重寫.
所以不能同時用 abstract和final修飾類(abstract修飾的類是抽象類,抽象類是用於被子類繼承的,和final起相反的作用);
final修飾的方法不能被重寫,但是子類可以用父類中final修飾的方法;
final修飾的成員變數是不可變的,如果成員變數是基本資料型別,初始化之後成員變數的值不能被改變,如果成員變數是引用型別,那麼它只能指向初始化時指向的那個物件,不能再指向別的物件,但是物件當中的內容是允許改變的。
finally: 通常和try catch搭配使用,保證不管有沒有發生異常,資源都能夠被釋放(釋放連線、關閉io流)。
finalize是object類中的乙個方法,子類可以重寫finalize()方法實現對資源的**
本質區別:請求**是一次請求,一次響應. 重定向是兩次請求兩次響應.
**的特點:forward
1. **位址列路徑不變
2. **只能訪問當前伺服器下的資源
3. **是一次請求,可以使用request物件來共享資料
重定向的特點:redirect
4. 位址列發生變化
5. 重定向可以訪問其他站點(伺服器)的資源
6. 重定向是兩次請求。不能使用request物件來共享資料
![在這裡插入描述](
C 基礎回顧2
istream 輸入流 型別,提供輸入操作 ostream 輸出流 型別,提供輸出操作 cin 乙個istream物件,從標準輸入讀取資料 cout 乙個ostream物件,從標準輸出讀取資料 cerr 乙個ostream物件,通常用於輸出程式錯誤訊息,寫入到標準錯誤 運算子,用來從乙個istrea...
回顧c 基礎(2)
我們知道在c 中,記憶體有五個區 堆區,棧區,自由儲存區,全域性 靜態儲存區和常量儲存區。棧區 就是通常由編譯器在需要的時候進行分配,在不需要的時候自動清除的區域,比如區域性變數,函式引數。堆區 就是那些由new出來的分配的記憶體塊,它們的釋放編譯器不用管,是由我們的應用程式去控制,一般乙個new就...
jQuery基礎回顧2
id id選擇器 div 元素選擇器 classname 類選擇器 classname,classname1,id1 組合選擇器 id classname 子元素選擇器 id classname 後代元素選擇器 id classname 緊鄰下乙個元素選擇器 id classname 兄弟元素選擇器...