面試手札

tomcat
context.xml在/conf下和/conf/catalina/{hostName}下和再下一級的/${webappName}.xml
JDK
volatile在彙編中插入內存屏蔽指令是的讀直接讀主內存、寫的話,馬上刷新主內存,讀寫原子性。
線程池拒絕策略有:一、拋異常二、丟棄三、丟棄隊列中待最久的任務四、交給調用者線程處理
併發集合:linkedhashmap按插入有序,或最近使用、concurrentskiplisthashmap有序
class.forName加載、並初始化,classLoader.loadClass加載
自旋鎖:佔用CPU時間,不引發線程狀態變化、適用競爭不激烈的狀況
公平鎖/非公平鎖:unsafe類
ClassPath:查找user classes, 能夠每一個應用定義不一樣,查找tool.jar、lib目錄
加載器:啓動類加載器(rt.jar)->擴展類加載器(ext/)->應用類加載器(根據classpath)
數據庫
事務隔離級別:Read uncommitted、Read committed(Oracle)避免髒讀、Repeatable read(Mysql)、Serializable避免幻讀
spirng
事務傳播:required加入事務(若是已經有),requiredNew建立新事務
ioc
做用域:singleton、prototype、request、session、global-session
<bean id="xxx" class="yyyy">
    <constructor-arg ref="zzz"/>
    <constructor-arg value="aaa"/>
</bean>
<bean id="xxx" class="yyyy">
    <property name="zzzz" ref="aaaa" />
</bean>
另外還有靜態工廠和實例工廠
AOP
before、afterReturning、afterThrowing、after、 around
匹配表達式
java.lang.String    匹配String類型;  
java.*.String       匹配java包下的任何「一級子包」下的String類型;  
如匹配java.lang.String,但不匹配java.lang.ss.String  
java..*            匹配java包及任何子包下的任何類型;  
                  如匹配java.lang.String、java.lang.annotation.Annotation  
java.lang.*ing      匹配任何java.lang包下的以ing結尾的類型;  
java.lang.Number+  匹配java.lang包下的任何Number的自類型;  
                   如匹配java.lang.Integer,也匹配java.math.BigInteger
<aop:config>
     <aop:pointcut id="yyy" expression="execution(public * com.invicme.apps.aop.advisor.ArithmeticCalculateImpl.*(..))"/>
     <aop:advisor advice-ref="xxxx" pointcut-ref="yyy" />
</aop:config>
<aop:config>
    <aop:aspect ref="xxx">
        <aop:before pointcut="execution(** com.invicme.apps.aop.advisor.perform(..))" method="yyy"/>
    </aop:aspect>
</aop:config>
DispatcheServlet
FrameworkServelet.doGet->processRequest->DispatcheServlet.doSerivice->doDispatch->getHandler、getHadndlerAdapter->前攔截器鏈->調用handler獲得ModelAndView->後攔截器鏈
 
Mybatis
#和$的局別,#是加引號,有效防止sql注入
JVM
GC root:方法運行時,方法引用的對象,類靜態變量引用的對象,類中經常使用引用的對象,native方法中引用的對象
活動的thread引用的變量,系統類(好比java.util.*)
分析內存快照:jmap導出,jhat、Visual VM、MAT查看
設計模式
責任鏈模式:要麼本身處理,要麼給下一個處理
模板方法模式:定義模板方法,具體方法,鉤子方法。應用:HTTPServlet,service爲模板方法
訂閱、發佈模式:事件註冊,通知
相關文章
相關標籤/搜索