原创 高併發網絡服務器設計

小白模式 畢業入職第一家公司的入職作業就是寫一個高併發的http服務器。當時的大致思路是這樣: 主線程創建監聽端口,將監聽端口放入epoll監聽列表,然後epoll開始循環監聽,當到來的讀請求是監聽端口,則接受客戶端連接,並將客戶

原创 @Value 注入屬性值(下)

@Value 注入屬性值(下) 之前試驗過@Value是在<init>對象實例化後,在注入屬性(即調用類的set方法實現屬性的初始化)前其作用的。 具體是如何起作用以及是什麼時候其作用的。 下圖是spring中一個bean的生

原创 bean 初始化 初探

bean 初始化<clinit> <init> 初探 java文件編譯後會爲每個類自動生成一個<clinit>和<init>函數。 <clinit> 函數是在類第一次加載到jvm方法區的時候調用,實現對類中的一些靜態變量賦值以及執

原创 mvc單個請求處理線程不變

mvc單個請求處理線程不變問題疑問思考結論 問題 通過攔截器講用戶信息解析到threadlocal中,在後續的處理流程裏面將這個用戶的信息取出來 疑問 這個取到的用戶信息一定就是現在所處理請求對應的用戶信息嗎,也就是說這個這個線程

原创 maven本地jar包打入war包

maven本地jar包打入war包1.添加依賴2.資源掃描 有時需要將本地的jar包打包到war中已實現一些功能,嘗試了兩種方式將本地jar包打入war包。 1.添加依賴 添加dependency,配置scope爲system 以

原创 java ClassPath獲取資源路徑

ClassPath路徑 項目中很多時候會用到classpath:來獲取資源路徑。 很多時候我們在xml中定位資源的時候,不知道如何定義。 其實我們只要明白一點就很容易了:資源文件的定位只需要按打好的包的文件路徑描述就沒問題了。 如下圖

原创 @Value 注入屬性值(補充)

在@Value 注入屬性值(下)中發現@Value註解註釋的屬性是在InstantiationAwareBeanPostProcessor的postProcessPropertyValues方法注入到bean中的。但是當時並沒有發現是在哪

原创 網絡傳輸Byte數組

網絡傳輸Byte數組 案例背景 需要將byte數組,以Json的方式傳輸,Json默認會將Byte數組轉化成String作爲key的value。我們也可以自己將Byte數組轉化爲String在放入Json鍵值對裏。在接手端再從Json中解

原创 Netty channel 關閉之後收到大量處理包

現象 Netty Channel.close()觸發channelInactive 此時 channel state isOpen=false, isActive=false, isWritable=false,此時channel不

原创 @Value 注入屬性值

@Value 注入屬性值(中) 之前試驗過@Value是在<init>對象實例化後,在注入屬性(即調用類的set方法實現屬性的初始化)前其作用的。 具體是如何起作用以及是什麼時候其作用的。 下圖是spring中一個bean的生命週期:

原创 @Value 注入屬性值

本次實驗室爲了測試@Value註解是在什麼時候起效的 下面是程序詳情: 配置文件 study.properties study=123 spring配置文件 <?xml version="1.0" encoding="UTF-8"?>

原创 Netty Tls實現

Netty Tls實現 TLS作用 TLS發展歷史 TLS基本原理 客戶端發出請求ClientHello 服務器回覆ServerHello 客戶端迴應 服務器最後迴應 證書生成 Netty 代碼實現 服務端實現 客戶端代碼 調

原创 main函數結束後程序會怎樣

本人之前一直是使用c/c++進行編程,現在轉用java已經一年了,覺得這裏面還是有很多使用上的不同。 C/C++ 每個c/c++代碼有一個main函數,程序啓動後,會開啓一個主線程執行main函數,在main函數內部我們可以開啓很多的線程

原创 java socket與Netty服務器通信

java socket與Netty服務器通信 本人初學java,第一次學寫技術博客: ByteBuffer與ByteBuf C/C++中在進行網絡通信的過程中直接面對的是字節流或是字符流。java中網絡通信的話面對的是緩衝區buffer

原创 多態

多態 C語言 面嚮對象語言C 虛函數 虛繼承 面嚮對象語言java 多態 C語言 函數指針是發源於C語言的。是在C語言中實現多態的手段 #include <iostream> typedef int (*calculat