原创 synchronized 的使用以及底層簡單分析

synchronized 的使用 文章目錄synchronized 的使用實例級別靜態方法級別代碼塊級鎖 實例級別 public class UtilInstance { private int num; pub

原创 自己實現一個DB工具類實現ResultSet解析成List

今天無聊,然後封裝了一下DB的工具類,這個工具類主要作用就是解析ResultSet然後通過反射封裝成List<T> 我們來看看效果吧      這就是最終的結果   我們傳入數據庫配置信息,然後傳sql和類來獲得一個List   我們

原创 java手寫二分查找樹

完整代碼在這裏 https://github.com/zhangjunapk/half_search_tree   樹被廣泛使用,比如文件系統,unix上用到了紅黑樹,windows上用到了樹 二分查找樹可以說是一個有序的集合,節點之間用

原创 EhCache 核心功能實現

剛纔我弄了一下EhCache 底層有用鏈表實現的,並且默認使用lru算法來提高效率,當把元素放進去的時候,會先放到頭部鏈表 然後在使用數據的時候,會從頭部查找這個數據,然後把找到的數據放到頭部,然後返回 並且還會開啓線程來定時從尾部清理節

原创 我是怎麼封裝poi工具類的

今天我封裝了一下POI工具類 可以用這個工具類解析xls並生成List 可以通過list和標題來生成xls文件   首先是生成xls文件的部分 public static <T> void generateXls(OutputStre

原创 手寫快速Web開發框架--集成RabbitMQ

#最近難得有空,然後試着集成了下RabbitMQ ###完整代碼在這裏 https://github.com/zhangjunapk/WinterBatis 先看下效果,訪問這個路徑能發送消息,然後消費者能消費消息       ##首先

原创 手寫快速web開發框架--集成定時任務

  今天寫的東西有點多,集成了RabbitMQ/定時任務到手寫的web開發框架裏,並且寫了定時任務熱部署 接下來看定時任務的集成 首先你懂得,定義一個註解 @Retention(RetentionPolicy.RUNTIME) @Tar

原创 OkHttp+Jsoup爬Boss直聘招聘信息

OkHttp可以向指定鏈接發送請求,然後獲得響應,Jsoup可用於解析html,Jsoup強大的地方是Select方法,可以通過傳入元素選擇表達式來獲得元素 谷歌瀏覽器有個功能可以獲得元素選擇的表達式   這樣就把選擇元素的表達式複製到

原创 RPC(遠程過程調用)

  當我們的web系統很大的時候,我們就需要使用分佈式框架 分佈式框架都用到了RPC 可以讓客戶端像調用本地服務一樣調用遠程服務 其本質是通過Socket鏈接服務端, 然後向服務端發送需要調用的服務的接口 然後服務端向客戶端返回實現了接口

原创 Spring aop入門

Spring 的 AOP挺牛逼的,今天我就簡單使用了一下----------------------什麼是 AOP----------------------我理解的AOP就是使用動態代理,將業務邏輯和一些雜碎的事情分離開,讓開發者專注於

原创 手寫Mybatis

Mybatis的核心就是動態sql以及通過jdk的動態代理注入完整代碼可以查看我的GitHubJdk的動態代理僅僅需要接口就能生成子類我們需要寫一個InvocationHandler,然後重寫invoke方法Mybatis的工作流程和Sp

原创 Queue隊列的分析以及手寫實現

今天弄了一下隊列,使用鏈表實現隊列對高併發幫助挺大的,弄成請求隊列 。哈哈我理解的隊列是先進先出,就像排隊一樣接下來是代碼實現我們需要創建一個節點類package queue; public class Node<T>{ Nod

原创 手寫Spring

最近我手寫實現了Spring的核心功能,通過手寫更深入理解點擊打開鏈接了反射/動態代理Spring核心包括兩部分:AOP/IOC完整代碼可以去我的GitHub點擊打開鏈接介紹AOP和IOC之前,先 看看動態代理和反射代理是一種設計模式,假

原创 手寫jvm

這是我對jvm的理解,可能會有問題,望大佬發現後及時指正,誤人子弟就不好了   jvm對數據的存放進行了劃分,方法區用來存放類的信息,堆區存放初始化後的類 然後每個線程在執行方法時,會創建java棧,程序計數器,本地方法棧 java棧裏

原创 js代碼執行問題

今天我遇到一個js代碼的執行問題,上代碼$("#primary_menu .nav-menu").append("<li class=\"\">\n" + " <a href=\"//category