原创 分佈式鎖(一):使用redis樂觀鎖實現CAS

環境 四臺tomcat作爲集羣,redis作爲共享內存。 需求 對於一個共享狀態的改變進行加鎖,鎖的屬性爲互斥且可重入 實現 仿照ReentrantLock類寫一個分佈式鎖 問題 CAS實現 解決 使用redis樂觀鎖實現

原创 SimpleDateFormat類的pattern和localizedPattern

今天使用SimpleDateFormat重置pattern的時候發現有兩個方法一個applyPattern,另一個是applyLocalizedPattern遂好奇這兩個方法有何不同。 測試代碼(因第一次報錯發現yyyy對應的是a

原创 利用redis樂觀鎖實現tomcat集羣搶佔定時任務

環境 四臺tomcat作爲集羣,redis作爲共享內存。 需求 定時任務獲取文件的地址,監控這些文件的狀態(未到,已到達,重發),將文件狀態保存;代碼每臺tomcat須一致。 實現 用redis寫個消息隊列,監控文件的程序作爲消費者從

原创 筆記:ThreadPoolExecutor的maximumPoolSize,workQueue運行順序

前情 今天想修改tomcat自動化的地方,原先的需求是單機tomcat查詢出任務後自己啓動線程運行(即做生產者又做消費者),現在tomcat變成集羣了,想要改成tomcat集羣一起運行(生產者-消費者分離),設計的過程中想起原先用的線

原创 一次Content-Length造成的心理崩潰

在一次網關進行添加支持rest ful風格重寫(詞窮,先暫時這麼說着)時,我的讀取報文代碼報出了read timed out異常 這是獲取報文的代碼 public static String getReqInputStream(Htt

原创 Coursare·Algorithms, Part I第二週作業

本週作業是相比較第一週要簡單一些,主要寫一個雙端隊列(Deque)和一個隨機隊列(Randomized Queue)以及一個客戶端(Permutation) Deque 要求: A double-ended queue or deque

原创 spring學習筆記

----------------------------------------------------------------- spring的xml頭文件 <?xml version="1.0" en

原创 【計蒜客】數正方形

曉萌有一個N×N的的棋盤,中間有N2個正方形的1×1的格子,他隨機在棋盤上撒上一些棋子(假設全部正好落在各個格子裏)。他希望知道,當前的棋盤上有多少個不包含棋子的,由至少四個1×1的格子組成的正方形(正方形之間可以有重疊的部分)。 輸入

原创 MapReduce運行報Does not contain a valid host:port authority: VM_0_9_centos:35697 異常

我在hadoop中運行MapReduce程序時報以下異常 FAILED Container launch failed for container_1534231697216_0075_01_000002 : java.lang.Ille

原创 Effective Java_13 考慮實現Comparable接口

實現該接口,就表明該類的實例具有內在的排序關係。爲實現Comparable接口的對象數組a 進行排序可以使用: Arrays.sort(a) 事實上,Java平臺類庫中的所有值類都實現了Comparable接口。如果你正在編寫一個值類,它

原创 Effective Java-第三章 對於所有對象都通用的方法

一、覆蓋equals時請遵守通用約定 覆蓋equals方法看起來似乎很簡單,但是有很多覆蓋方式會導致錯誤,並且後果非常嚴重。最容易避免這類問題的辦法就是不覆蓋equals方法,如果滿足一下任意一個問題,就可以不用覆蓋equals方法:

原创 Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory