原创 Dating Java8系列之新的日期和時間

翎野君/文     舊的日期時間   在Java 1.0中,對日期和時間的支持只能依賴java.util.Date類。正如類名所表達的,這個類無法表示日期,只能以毫秒的精度表示時間。更糟糕的是它的易用性,由於某些原因和未知的設計決策,這

原创 Dating Java8系列之通過行爲參數化傳遞代碼

翎野君/文   引言   作爲技術開發人員,我們無法保證我們寫出來的代碼的可用時間和保質期,也許今天剛上線的一個功能,等到明天就因爲需求變動不得不進行更改。   爲什麼會不斷的變化 作爲技術人員,我們當然希望需求能循序漸進地平穩過度,

原创 Dating Java8系列之用流收集數據

翎野君/文     收集器簡介   1.收集器介紹 Java 8中流支持兩種類型的操作:中間操作(如filter或map)和終端操作(如count、findFirst、forEach和reduce)。 中間操作可以鏈接起來,將一個流轉換

原创 Dating Java8系列之Java8中的‘流’

翎野君/文   流的概念   1.流是什麼 流是Java API的新成員,它允許你以聲明性方式處理數據集合(通過查詢語句來表達,而不是臨時編寫一個實現)。就現在來說,我們可以把它們看成遍歷數據集的高級迭代器。   代碼:按價格排序後得到

原创 Dating Java8系列之Java8中的流操作

翎野君/文     本次我們會使用到很多的流操作,如篩選、切片、映射、查找、匹配和歸約,這些操作可以讓我們能快速完成複雜的數據查詢。   篩選和切片   用謂詞篩選 Streams接口支持filter方法。該操作會接受一個謂詞(一個返回

原创 Dating Java8系列之巧用Optional之優雅規避NPE問題

翎野君/文     避之不及的 NullPointerException   NPE : NullPointerException 空指針異常是最常見的Java異常之一,拋出NPE錯誤不是用戶操作的錯誤,而是開發人員的錯誤,應該被避免,

原创 Dating Java8系列之default默認方法

翎野君/文     引言   傳統上,Java程序的接口是將相關方法按照約定組合到一起。實現接口的類必須爲接口中定義的每個方法提供一個實現,或者從父類中繼承它的實現。   不斷迭代的API 默認方法的引入就是爲了,以兼容的方式,解決像

原创 [RFC6238] TOTP: 基於時間的一次性密碼生成算法

原創 翎野君 翎野君 2019-03-28 22:42 在閒暇時間做了一個TOTP相關的開源項目,在項目初步完成之餘,我嘗試對[RFC6238]文檔進行了翻譯,供大家參考與查閱,若有不妥之處,還望各位前輩海涵斧正。   生活中我們會經常使

原创 Dating Java8系列之並行數據處理

翎野君/文     分支合併框架   分支合併框架介紹 分支/合併框架的目的是以遞歸的方式將可以並行的任務拆分成更小的任務,然後將每個子任務的結果合併起來生成整體結果。 它是ExecutorService接口的一個實現,它把子任務分配給

原创 匿名用戶訪問的接口或者無登錄態場景下接口防刷的解決方案

背景 經常會遇到抽獎活動根據登記的手機號發短信驗證抽獎,或者公開的投票系統,又或者面向馬路上的消費者展開調查問卷。這些場景下都有可能會有不法分子藉此謀利或者惡意破壞。   防刷不能靠一門單一的技術,而是要綜合分析可能的破解手段,評估攻擊者願

原创 中國銀行通過電話激活卡片過程中遇到的問題

收到新的信用卡,致電銀行客服,按語音提示選擇激活及密碼服務,輸入待激活的信用卡卡號,按語音提示進行開卡激活操作,即可完成新卡激活。 反覆輸了幾次信用卡卡號都沒有成功確認了幾遍都是正確的,很奇怪,輸入手機短信驗證碼也是正確的,最終也提示報錯,

原创 爲獲取導入百分比,使用easyexcel獲取導入excel表總行數

背景 分批讀取大量數據的excel文件,每次讀取1000行數據,然後插入數據庫,並且去執行一個方法,執行完畢後更新此行數據的狀態。需要獲取已更新數據的佔比,即計算百分比。 因爲是分批讀取的,我們不可以直接用已更新狀態數量/數據庫中總數。因爲

原创 預期性焦慮-總是擔憂沒發生的事情,怎麼辦?

本文來自微信公衆號:L先生說(ID:lxianshengmiao),作者:Lachel   你有沒有被“被害妄想症”困擾過?   這是什麼樣的感受呢,我舉個例子。我記得很多年前我剛工作的時候,到處去求職,那會兒總是會有很多奇怪的想法。比如:

原创 Java動態代理:一個麪包店的動態代理帝國

原文鏈接:陳樹義 代理模式是設計模式中非常重要的一種類型,而設計模式又是編程中非常重要的知識點,特別是在業務系統的重構中,更是有舉足輕重的地位。代理模式從類型上來說,可以分爲靜態代理和動態代理兩種類型。 在開始之前,我們先假設這樣一個場景:

原创 深圳入秋時間記錄

根據深圳國家基本氣象站監測數據 深圳2023年11月11-15日 五天滑動平均氣溫爲21.6℃ (滿足≤22℃的氣象入秋標準) 五天中首個日平均氣溫≤22℃爲11月13日(20.0℃) 即深圳於11月13日入秋 較常年平均入秋日(11月8日