原创 JVM筆記 -- JVM內存結構

jvm內存結構 組成 1. 程序計數器 是最小的一塊內存區域,它可以看作是當前線程所執行的字節碼的行號計數器。在虛擬機的概念模型裏,字節碼解釋器工作時就是通過改變這個計數器的值來選取下一條需要執行的字節碼指令,分支、循環、跳轉、

原创 JVM筆記 -- Java內存模型

Java內存模型(JMM)規定了所有的變量都存儲在主內存(Main Memroy)中,每條線程還有自己的工作內存(Working Memory),線程的工作內存中保存了被該線程使用到的變量的主內存副本拷貝,線程對變量的所有操作都必須在工

原创 JVM筆記 -- 垃圾回收機制

    目錄 對象存活判定算法 引用計數算法 可達性分析算法 方法區的回收 垃圾收集算法(GC算法) 分代收集算法(Generational Collection) 標記 - 清除算法 複製算法 標記 - 整理算法 HotSpot的算法實

原创 簡談TCP連接——三次握手與四次揮手

基本概念 在三次握手與四次揮手的過程中,會出現一些相關概念。爲了便於後文的閱讀,我先把相關的解釋羅列在此。 SYN:SYN是Synchronize(同步)的縮寫,意思是通過告知初始序號使通信雙方保持步調一致,以便完成後續的數據收發檢查。

原创 MyBatis筆記——基本配置與訪問

MyBatis簡介 MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apachesoftware foundation 遷移到了googlecode,並且改名爲MyBatis 。2013年11月遷移到Gi

原创 項目中遇到的中文亂碼問題

執行sql語句時中文亂碼 數據庫連接的url末尾加上?autoReconnect=true&useUnicode=true&characterEncoding=utf8 如:jdbc.url=jdbc:mysql://localhost:

原创 筆記——重定向與請求分派

重定向 例:http://localhost:8080/Test/MyJsp.jsp 請求URL:http://localhost:8080/Test/ 相對路徑,無”/”(容器會相對於原先的請求URL建立完整的URL), 如請求上述UR

原创 筆記——授權與認證

定義角色 tomcat-users.xml <?xml version="1.0" encoding="UTF-8"?> <!-- 不建議這樣做,如果不重啓就無法修改內容 --> <tomcat-users>   <role role

原创 筆記——JSP(雜)

JSP最終會變成一個servlet MyJSP.jsp ->MyJSP_jsp.java -> MyJSP_jsp.class -> myJSP_jsp(Servlet對象)   Scriptlet:<% %> 在JSP中放入常規的Jav

原创 筆記——容器與servlet的生命週期

什麼是容器 Servlet沒有main()方法。它們受控於另一個Java應用,這個Java應用稱爲容器。如Tomcat 如果Web服務器應用(如Apache)得到一個指向某servlet的請求,此時服務器不是把這個請求交給servlet本

原创 筆記——會話、cookie、url重寫

會話 容器幾乎會做cookie的所有工作,如 在響應中發送一個會話cookie(從請求中得到會話ID) HttpSession session = request.getSession(); 在服務器中請求一個會話,餘下的事情會自動完成

原创 筆記——過濾器與包裝器

與servlet類似,過濾器就是Java組件,請求發送到servlet之前,可以用過濾器截獲和處理請求,另外servlet結束工作之後,但在響應發回給客戶之前,可以用過濾器處理響應。   <?xml version="1.0"encodi

原创 筆記——ServletConfig與ServletContext

ServletConfig對象 每個servlet都有一個ServletConfig對象 用於向servlet傳遞部署時信息 用於訪問ServletContext 參數在部署描述文件中部署 初始化參數 <servlet>     <s

原创 AQS(AbstractQueuedSynchronizer)之——獨佔鎖的實現

簡介 AQS(AbstractQueuedSynchronizer)即隊列同步器,它是J.U.C包下構建同步(鎖)操作基礎組件。其大體組成如下(以下描述基於JDK 1.8): public abstract class Abstrac

原创 TCP連接的三次握手與四次揮手

基本概念 在三次握手與四次揮手的過程中,會出現一些相關概念。爲了便於後文的閱讀,我先把相關的解釋羅列在此。 SYN:SYN是Synchronize(同步)的縮寫,意思是通過告知初始序號使通信雙方保持步調一致,以便完成後續的數據收發檢查。