原创 手寫簡單版Tomcat(二)——XML解析配置

上節寫到讀取靜態文件,接下來仿一個讀取web.xml配置文件的功能。 首先,讀取XML我參考的是這篇文章:https://www.cnblogs.com/hongwz/p/5514786.html 但是這篇文章裏的讀取XML是遠遠不夠的,

原创 什麼是事務的一致性?一致性和原子性的區別是什麼?

(PS:黃色字體爲二次修改的內容) 關於事務的一致性,《數據庫系統概念》中是這樣描述的 第二段說的三個特性是指原子性、隔離性、持久性。 就算這樣,相信大家也是懵懵的,我也是,所以纔會寫下這篇博客。 看到別的博客說,一致性是事務的最終目的

原创 手寫簡單版Tomcat(一)——訪問靜態文件

轉載自 https://my.oschina.net/liughDevelop/blog/1790893 作爲一個Java Web開發者,怎麼能不對Tomcat不感興趣呢? 於是,懷着一顆好奇的心,就想要摸一摸Tomcat的底層及實現原理

原创 手寫Java虛擬機(三)—— 解析class類文件

唔。。在解析前,先給大家介紹下Class類文件結構吧。 Class文件格式採用的是一種類似C語言結構體的僞結構來存儲數據,這種僞結構中只有兩種類型:無符號數和表。 無符號數屬於基本的數據類型,用u1,u2,u4,u8來代表1個字節,2個字

原创 mysql 分佈式事務、分佈式鎖

上週近年來第一次面試,結果被事務虐的體無完膚(當然,不僅僅是事務),所以決定惡補一下事務知識。 一、事務的基本要素(ACID)   1、原子性(Atomicity):事務開始後所有操作,要麼全部做完,要麼全部不做,不可能停滯在中間環節。事

原创 手寫簡單版Tomcat(三)——解析servlet

到目前爲止,我們手寫的tomcat已經具備了基本的讀取靜態資源文件、讀取web.xml文件來進行配置的功能,接下來就是對servlet的解析。 <web-app> <welcome-file-list>

原创 手寫Java虛擬機(七)——方法調用與返回

大家也不用找四、五、六了,都在這一起寫了,因爲這幾節單獨寫個博客感覺沒意思,在我看完《自己動手寫Java虛擬機》第七章並且實現之後,才能把這前幾個章節給串起來。 文字比較枯燥,所以我還是給大家分析個例子吧,比如,下面這個類的執行流程。

原创 HttpClient超時重發不生效

業務需要,遠程調用的接口等待時間太長,所以增加了超時重發機制  使用的是默認的 DefaultHttpRequestRetryHandler 類,但是發現並沒有重發,只是超時,於是在官網上查資料  於是使用官網上的例子,但是仍然沒有用

原创 Quartz修改JobDetail

可以調用org.quartz.Scheduler.add(JobDetail,boolean)方法添加一個JobDetail, 不過需要注意的是,JobDetail需要設置原先JobDetail相同的JobKey,以及這個方法並沒有綁定觸

原创 圖的深度優先遍歷、廣度優先遍歷

這個題目是我在《啊哈!算法》中看到的,題目如下:   深度優先遍歷: 思路如下: 首先,當地圖二維數組e[x][y]的x = 5 的時候,說明已經到達5號城市,可以return了,所以,這個遞歸的終止條件僞代碼如下:

原创 手寫Java虛擬機(一)—— Java命令行工具

這個Java命令行工具是個什麼意思呢? 其實就是在cmd裏面輸入java -version,然後會給你返回結果,這樣一個東西 我們接下來就是要實現這樣一個的類似功能,用Java實現,也就是,在cmd輸入myjava -version,輸

原创 遞歸解決全排列問題

這個題目是我在《啊哈!算法》中看到的,題目如下: 終極問題就是: 輸入一個指定點的數 N 輸出1到N的全排列, 又該如何呢? 例如:輸入 3 時輸出 123 的全排列, 輸入 4 時輸出 1234 的全排歹…… 輸入 9 時輸出 123

原创 mysql 事務、分佈式鎖

上週近年來第一次面試,結果被事務虐的體無完膚(當然,不僅僅是事務),所以決定惡補一下事務知識。 一、事務的基本要素(ACID)   1、原子性(Atomicity):事務開始後所有操作,要麼全部做完,要麼全部不做,不可能停滯在中間環節。事

原创 算法 - 插入排序

通常人們整理橋牌的方法是一張一張的來,將每一張牌插入到其他已經有序的牌中的適當位置。在計算機的實現中,爲了給要插入的元素騰出空間,我們需要將其餘所有元素在插入之前都向右移動一位。這種算法叫做插入排序。 插入排序所需的時間取決於輸入中元素的

原创 負載均衡算法WeightedRoundRobin(加權輪詢)簡介及實現

文章轉載自https://www.cnblogs.com/markcd/p/8456870.html,只有代碼是自己實現的,其他全是轉載。 Nginx的負載均衡默認算法是加權輪詢算法,本文簡單介紹算法的邏輯,並給出算法的Java實現版本。