原创 使用Pair優雅的實現鍵值匹對

場景:很多accessToken是有有效期的,在有效期後需要重新請求accessToken,此時我們需要把accessToken和有效時間關聯起來,當然此時使用redis是最佳選擇,但如果我們想放在java本地呢?java中常見鍵

原创 記錄一次jvm調優過程

1.查看gc情況: 結果:服務啓動時長是1天,進行了3240左右次minorGC,一共使用時間80s左右。也就是一次minirGC時間是0.02s,FGC是一次,時間是2.2s,fullGC時間過長,需要優化。 1.爲什麼需

原创 mybatis使用generator生成器生成entity,mapper,xml模版類及自己寫sql情況處理

在使用mybatis時總是要生成實體類,mapper以及常用的mapper.xml文件,手寫既沒有技術含量還浪費時間,所以使用generator生成器會很方便。 pom.xml配置: <dependency> <group

原创 全員所有制

課堂回顧: 你好,今天我們還繼續講“漁村的故事”。 昨天我們講,這艘漁船從集體所有制變成了私有制,私有制是有挺多優點的。 比方說船主由於能夠盯着邊際收益和邊際成本,使得這艘漁船的經濟價值發揮到最大;又比方說他能夠轉讓這艘漁船,來享

原创 政府所有制

課堂回顧: 你好,今天我們繼續講漁村的故事。 前天我們講了公地的悲劇,也就是說當有八個人上船的時候,這艘船物理上還存在,但是這艘船的經濟價值就會蕩然無存。 漁村裏面的村民一開始覺得人人都能上船,這艘船是屬於我們自己的,屬於大家的,

原创 公地真的會悲劇嗎

課堂回顧: 你好,昨天我們講到了“公地的悲劇”的概念,但是我們留了一個問題:公地真的會產生經濟學教科書所預言的那些悲劇嗎? 我今天給你講一個故事。一個不算是經濟學家的經濟學家,她就是不信邪,她就是要在理論上面較真,最後拿到了諾貝爾

原创 利率管制與高利貸

課堂回顧: 你好,今天我給你講的話題是利率管制和高利貸。高利貸我們都聽說過,是個貶義詞,今天我們從不同的角度來理解這個事。 首先,我們前面兩天已經有了知識準備。 我們引入了時間的維度,所有的商品可以分爲易耗品和耐用品。耐用品是在一

原创 記錄一次sharingjdbc引起的fullgc頻繁問題,總結一下fullgc頻繁解決的方案

背景:最近做了個需求,爲了優化效率所以做了本地緩存和redis緩存,這個跟實際問題沒有很大關係,但在排查問題時造成了一定的干擾,導致排查時間變長了,這個問題的現象是上線後cpu急劇增高,fullgc次數比younggc次數多,而且

原创 使用java將幾張圖片合成一張圖片

背景描述:最近在做app推送消息,在做關注人推送需要把有更新的關注人頭像合成一張圖片,展示示例如下: 花了一些時間來弄這個,之前沒做過圖片處理,所以記錄一下,合成之後的樣例如下: 下面是代碼: /** * * @Ti

原创 一次緩存雪崩的思考

場景:我們爲了提高接口的響應時間,在一些高併發的場景(例如我們app的首頁,分享頁),都會做redis緩存,redis緩存大多數情況下我們都會設置有效時間,此時就可能出現緩存雪崩的情況,也就是在高併發時緩存失效,同一時間都去訪問m

原创 記錄一次java集成華爲,oppo,vivo推送的經歷

背景:最近公司app做用戶推送功能,通過用戶分析,85%的用戶用的是華爲,oppo,vivo。所以先考慮集成此三個平臺,再開發過程中還是有一些坑的,在此記錄一下。 1.華爲推送: sdk地址:https://developer.h

原创 用mybatis實現批量插入在使用sharingJdbc分庫分表情況下遇到的問題

service層代碼: @Override public void testBatchInsert() { List<VideoAuditProcess> datas = new ArrayList<>(); for (

原创 使用@ExceptionHandler實現全局拋異常,完成優雅的報錯提示和程序處理

在處理程序過程中,我們總是會需要處理一些異常,有時需要在報錯的同時給前端和客戶提示,此時一種通常的做法是在service拋異常,然後在controller層try-catch住給以錯誤信息和錯誤碼的提示。這樣會顯得比較亂,cont

原创 成本與產出

課堂回顧: 你好,今天我們開始一個新的模塊,從供給一方來看經濟問題。關於供給的行爲,我們首先要掌握幾個非常重要的概念。 價格由需求量與供應量共同決定 第一個,當然是關於供給曲線的概念。我們前面花了很長時間,講需求定律、講需求曲線

原创 使用docker創建MySQL主從複製

1. 準備工作,把虛擬機的內存調到2G以上: 2. 3. 查看是否已經安裝了docker:rpm -qa | grep docker 4. 卸載原來的docker:yum remove 組件 5. 安裝docker:yum in