1.類的初始化過程
1)父類的靜態變數、**塊的初始化;
2)靜態變數、**塊的初始化;
2.物件的初始化過程
1)父類物件的初始化;
2)普通成員、構造**塊初始化;
3)呼叫構造器
3.方法的重寫
++++++++++++++++++mybatis+++++++++++++++++++
1.mybatis中,實體類的屬性名和表中的欄位名對不上,怎麼辦?
1)寫sql語句的時候給字段起別名
2)在mabatis-config.xml配置檔案中的setting標籤裡開啟駝峰命名規則
3)在對映檔案中的裡定義resultmap屬性,然後指定字段屬性和bean的屬性的對應關係
++++++++++++++linux++++++++++++++++++++++
++++++++++++jvm++++++++++++++++++++
1.gc(垃圾**機制)
堆被分為新生代區、老年代區和永久代(存放類載入器),gc使用分代**演算法完成前兩個代中的垃圾**,所謂的分代**演算法,是指:新生代使用複製演算法完成minorgc,老年代使用標記-整理演算法完成fullgc(包含一次major gc和minorgc)。
在什麼時候進行gc?
1)手動呼叫system.gc(),一般會進行fullgc;
2)minorgc:
新生代被分為eden區、from survive 區和to survive區。剛開始的時候只有eden區和from區存放物件,當滿了之後,就觸發一次minorgc,eden區和from區存活的物件被拷貝到
to區,然後eden區和from區清空。緊接著,to區變為from區,之前的from區變為to區,重複上述過程。直到達到jvm中的設定的年齡閾值(通過maxtenuringthreshold引數決定,預設15次)。
3)majorgc:
當新生代中年齡到達閾值的物件被傳送到老年代 或者 新生代中to區放不下的物件被傳送到老年代 時,如果系統判斷老年代記憶體空間不足,就會進行一次majorgc.
對誰進行gc?
對死亡的物件進行gc。
判斷物件死亡的依據是:從一系列被稱為gc roots的物件出發,依次遍歷被引用的物件,構成乙個引用鏈,如果a物件沒有出現在引用鏈上,則判定a物件死亡。
能夠充當gc roots的物件:
1)虛擬機器棧引用的物件;
2)方法區中靜態變數引用的物件;
3)方法區中常量引用的物件;
4)本地方法棧中jni(即native方法)引用的物件。
當清除物件時,虛擬機會先判斷物件的finalize()方法是否執行且被覆蓋,如果沒有執行且被覆蓋,那就把物件放入乙個名為f-queue的佇列中,在物件清除執行緒中對該佇列進行清除。
否則,就直接進行清除。
怎麼進行gc?
新生代:
新生代使用複製演算法進行gc,原因:
因為新生代中的物件的存貨週期都很短,因此每次拷貝所需的空間都不大。
老年代:
標記-清除演算法和標記-整理演算法。標記-清除法是指對死亡的物件先標記再清除。標記整理法多了乙個整理的步驟,即劃定一段記憶體空間,存放死亡的物件,然後再去清除。
面試常見問題 1 this的常見問題
this 的含義 this關鍵字是乙個非常重要的語法點。毫不誇張地說,不理解它的含義,大部分開發任務都無法完成。前一章已經提到,this可以用在建構函式之中,表示例項物件。除此之外,this還可以用在別的場合。但不管是什麼場合,this都有乙個共同點 它總是返回乙個物件。簡單說,this就是屬性或方...
面試常見問題
面試時,有幾個問題是公司面試人員常常會提出的,針對這些問題好好準備,在面試時也就不會啞口無言,無言以對了,下面就面試十大必考題做出分析,也許對hr經理也是乙個 1 為什麼想進本公司?這通常是面試官最先問到的問題。此時面試官就開始評斷錄用與否了,建議大家先判斷自己去應徵的工作性質,是專業能力導向呢,或...
面試常見問題
1.如果我們不能提供你所要求的薪水,你還願意來我們公司嗎?你的期望薪水是多少?你想得到的薪水是多 少?如果達不到你的要求,怎麼辦?答 我認為工作最重要的是合作開心,薪酬是其次的,不過我原來的月薪是 元,如果跳槽的話就希望 自己能有點進步,如果不是讓您太為難的話,您看這個工資是不是可以有一點提高?2....