一、java
子類返回類型小於等於父類方法返回類型,
子類拋出異常小於等於父類方法拋出異常,
子類訪問權限大於等於父類方法訪問權限。正則表達式
二、編程
Java把內存分紅兩種,一種叫作棧內存,一種叫作堆內存。數組
在函數中定義的一些基本類型的變量和對象的引用變量都是在函數的棧內存中分配。當在一段代碼塊中定義一個變量時,java就在棧中爲這個變量分配內存空間,當超過變量的做用域後,java會自動釋放掉爲該變量分配的內存空間,該內存空間能夠馬上被另做他用。緩存
堆內存用於存放由new建立的對象和數組。在堆中分配的內存,由java虛擬機自動垃圾回收器來管理。在堆中產生了一個數組或者對象後,還能夠在棧中定義一個特殊的變量,這個變量的取值等於數組或者對象在堆內存中的首地址,在棧中的這個特殊的變量就變成了數組或者對象的引用變量,之後就能夠在程序中使用棧內存中的引用變量來訪問堆中的數組或者對象,引用變量至關於爲數組或者對象起的一個別名,或者代號。安全
引用變量是普通變量,定義時在棧中分配內存,引用變量在程序運行到做用域外釋放。而數組&對象自己在堆中分配,即便程序運行到使用new產生數組和對象的語句所在地代碼塊以外,數組和對象自己佔用的堆內存也不會被釋放,數組和對象在沒有引用變量指向它的時候(好比先前的引用變量x=null時),才變成垃圾,不能再被使用,可是仍然佔着內存,在隨後的一個不肯定的時間被垃圾回收器釋放掉。這個也是java比較佔內存的主要緣由。多線程
三、函數
出於運行速率的考慮,java編譯器會把常常常常訪問的變量放到緩存(嚴格講應該是工做內存)中,讀取變量則從緩存中讀。可是在多線程編程中,內存中的值和緩存中的值可能會出現不一致。volatile用於限定變量只能從內存中讀取,保證對全部線程而言,值都是一致的。可是volatile不能保證原子性,也就不能保證線程安全。優化
四、spa
DynaValidatorActionForm 動態驗證表單 Validation 確認的意思
五、
六、
優化Hibernate所鼓勵的7大措施:
1.儘可能使用many-to-one,避免使用單項one-to-many
2.靈活使用單向one-to-many
3.不用一對一,使用多對一代替一對一
4.配置對象緩存,不使用集合緩存
5.一對多使用Bag 多對一使用Set
6.繼承使用顯示多態 HQL:from object polymorphism="exlicit" 避免查處全部對象
7.消除大表,使用二級緩存
七、
C。因爲replaceAll方法的第一個參數是一個正則表達式,而"."在正則表達式中表示任何字符,因此會把前面字符串的全部字符都替換成"/"。若是想替換的只是".",那麼久要寫成"\\.".