在JAVA中,構(gòu)造函數(shù)在何時被執(zhí)行?
父類和子類的執(zhí)行順序;靜態(tài)變量的執(zhí)行特征;方法重寫的注意事項。
1.當父類和子類都有靜態(tài)代碼塊和構(gòu)造函數(shù)時,執(zhí)行順序如下:
父類靜態(tài)代碼塊gt子類靜態(tài)代碼塊
父構(gòu)造函數(shù)gt子類構(gòu)造函數(shù)(先父,后子)
如果是多級繼承關(guān)系,最高級的父類先執(zhí)行,然后降序總結(jié):靜態(tài)優(yōu)先執(zhí)行,父類優(yōu)先執(zhí)行注意:靜態(tài)代碼塊在JVM加載類時執(zhí)行,靜態(tài)代碼塊只執(zhí)行一次。
2.
當調(diào)用類中的方法時,在執(zhí)行方法體之前,必須先給類中的成員變量賦值。如果代碼中沒有指定具體的值,也有一個默認值。成員變量的賦值順序是有順序的。如果同時存在直接賦值和構(gòu)造方法賦值,則按照順序執(zhí)行。3.重寫重載是方法的名稱,返回類型是相同的。唯一的區(qū)別是方法的參數(shù)不同(參數(shù)類型不同或者參數(shù)類型不同)。覆蓋:1。被重寫的兩個方法的返回值、方法名、參數(shù)列表必須完全一致。2.子類拋出的異常不能超過父類相應(yīng)方法拋出的異常。3.子類的訪問級別不能低于父類對應(yīng)方法的訪問級別(public、package、protect
一般的java項目后臺都有什么技術(shù),比如SpringMVC,shiro還有什么技術(shù)?
可以按照目前微服務(wù)體系所需要的要素來分類。
從流量接入方面:需要負載均衡、限流、熔斷、灰度等技術(shù),包括nginx、hystrix、resilisence4j等。
從服務(wù)治理方面:服務(wù)注冊、開發(fā)、鏈接跟蹤等。都是需要的,dubble、thrift等rpc框架都有;
從穩(wěn)定性保障方面:需要各種監(jiān)控報警工具,我只知道有貓;暫時的;
從數(shù)據(jù)存儲方面:常用的關(guān)系數(shù)據(jù)庫如mysql和子數(shù)據(jù)庫、子表工具如mycat,以及nosql數(shù)據(jù)庫如redis、hbase、es、mongodb
從數(shù)據(jù)訪問方面:有hibernate、mybatis、springjdbc等orm框架;
從集裝箱一側(cè):有tomcat,jetty等等;
此外,還有消息隊列中間件、日志框架、分布式配置中心以及第三方工具如guava和apache。