原创 spring aop過程分析

額。。。終於艱難的把整個aop和部分ioc初始化過程捋了遍。。。 總結 1.在 bean初始化完成,加入到spring ioc容器之前,會調用BeanPostProcessors執行後置動作 2.其中會調用自動代理生成器(Ab

原创 java反射通過class構造對象

通過class獲取到構造函數,通過構造函數創建對象 public static void main(String[] args) throws Exception { System.out.println(con

原创 java獲取啓動類的名字

public static String getMainClassName() { StackTraceElement[] stackTraceElements = new RuntimeException().getSt

原创 mysql時區問題導致查出來的時間差了13小時

https://juejin.im/post/5902e087da2f60005df05c3d

原创 spring:bean的銷燬

登記需要執行銷燬方法的bean 在bean裝配裏面提過,bean初始化完成之後,會註冊成爲添加到disposableBeans,這個disposableBeans就是在關閉的時候,調用其destroy方法來銷燬bean Abstr

原创 spring IOC:bean裝配

總結 額。。。寫得並不是很好,不過通過這個來強迫自己去梳理下整個流程,加深印象,也是闊以的 最後,spring的註釋是寫得真的全啊!!! 過程總結: 項目啓動 做創建刷新上下文前的各種準備工作 下面開始裝配bean 調用Bean

原创 AQS

AbstractQueuedSynchronizer 基礎的同步器,主要實現了對等待隊列的管理(入隊出隊,獨佔/共享模式下對等待節點的喚醒等),而具體的獲取、釋放的判斷邏輯由子類實現 等待隊列 節點類是AbstractQueued

原创 彙編貪食蛇

前言: 隨便說說:最近閒得蛋疼,然後之前《彙編語言》看了一遍,沒怎樣具體寫過東西,就想着來用匯編寫個貪食蛇吧(話說大一就想寫過,想不到是到了大二才完成,還是用匯編寫的。。。) 代碼可以點這裏下載 P.S.由於CPU差異,初始速

原创 spring提供的RestTemplate的header格式

閒聊: 這次需求需要後臺服務以http方式調用另一個服務,我用的spring的RestTemplate,先是通過本地配置host方法成功調成功,但是後面接入公司的mesh網關後(調用方所在服務器不需要配置host),連接失敗了,

原创 彙編中以bit爲單位的比較

隨便說說:之前寫貪食蛇的時候說過以bit爲單位的比較有點麻煩,但其實現在想來也沒有多麻煩。。。 例如要判斷一個byte中第3、6位是否爲0和1,也就是2位和5位 代碼: mov al,source_data and al,010

原创 保護模式下的內存訪問

隨便說說: 保護模式下的內存訪問模式、方法,而這個保護模式下的內存訪問模式在實模式與保護模式已經介紹過是什麼,這次來具體點看。 訪問內存 1.首先確定好哪些是屬於訪問內存? 1.1最容易確定莫過於直接對內存空間進行讀寫的指令 例如

原创 實現一個操作系統-工作環境及一個最小“操作系統”(windows下)

參考書籍: 《一個操作系統的實現》 《x86彙編語言 從實模式到保護模式》 隨便說說:在一開始粗略瀏覽了《一個操作系統的實現》前2章之後,發現怎麼無論在哪個環境下(windows和linux)都需要用到linux,而我現在基本

原创 特權級保護

特權級 也就是描述符中的DPL(實模式與保護模式) 作用: 在進行內存訪問時(保護模式下的內存訪問),用於控制操作或者限制訪問性,其實也就是滿足了特權級的轉換規則,才允許操作,不然就是不合法的內存訪問。 概述: 特權級分爲4級:

原创 jvm關閉

關閉方式 正常關閉 最後一個普通線程(非守護線程)結束 調用了System.exit 發送SIGINT信號(相當於不帶參數的kill命令)或者鍵入Ctrl-C 強制關閉 調用Runtime.halt 發送SIGKILL信號(

原创 線程異常的處理

主動處理 runnable中通過try…catch進行處理 public void run() { Throwable thrown = null; try { ... } catch (T