原创 一文看懂MySQL執行更新查詢語句的流程

MySQL可以恢復到半月內任意一秒的狀態!如何做到的? 得從一個表的一條更新語句說起。 創建一個男人表,主鍵id和整型字段age: 插倆數據。 將id=2這一行的值加1 SQL語句基本的執行流程同樣適用於更新語句。

原创 Gradle的下載安裝

先關閉 homebrew 的更新 export HOMEBREW_NO_AUTO_UPDATE=true brew install gradle 即可

原创 AJAX的四種回調函數

jQuery.ajax()提供的 jQuery.ajax() 的 callback 函式其中有 4 個 callbacks: beforeSend complete error success 當Ajax request 送出

原创 Java中將Map轉String,String轉Map

暴力的直接Map對象toString()存,後面取出是就是用再轉換爲Map String轉Map: JSONObject jsonobject = JSONObject.fromObject(str); rMap = (Map<S

原创 kafka源碼解析教程(一)

消息建模很重要。 比如理解下Kafka底層日誌文件00000000000000012345.log的命名由來。 Kafka日誌結構 Kafka日誌在磁盤上的層級關係 Kafka日誌對象由多個日誌段對象組成,而每個日誌段對象會在磁

原创 IDEA菜單Compile、Make、Build差異對比

針對Java的開發工具,一般都有Compile、Make和Build三個菜單項,完成的功能的都差不多,但是又有區別。 編譯,是將源代碼轉換爲可執行代碼的過程。編譯需要指定源文件和編譯輸出的文件路徑(輸出目錄)。Java的編譯會將j

原创 分佈式Session不一致解決方案

Session簡介 瀏覽器有個cookie,在一段時間內這個cookie都存在,然後每次發請求過來都帶上一個特殊的jsessionid cookie,就根據這個東西,在服務端可以維護一個對應的session域,裏面可以放點兒數據。

原创 深入解析Java重寫 - 返回值、修飾符必須一致?

重寫是子類對父類的允許訪問的方法的實現過程進行重新編寫, 返回值和形參都不能改變。即外殼不變,核心重寫! 重寫的好處在於子類可以根據需要,定義特定於自己的行爲。 也就是說子類能夠根據需要實現父類的方法。 重寫方法不能拋出新的檢查異

原创 一文看懂Java的枚舉

1 定義 一種數據類型,只包含自定義的特定數據,是一組有共同特性的數據的集合。 創建需要enum關鍵字,如: public enum Color{ RED, GREEN, BLUE, BLACK, PINK, WHIT

原创 一文帶你看懂Java適配器設計模式

1 動機 類似於電源適配器的設計和編碼技巧。一般客戶端通過目標類的接口訪問它所提供的服務。 有時,現有類可以滿足客戶類需要,但所提供接口不一定是客戶類所期望的,可能因爲現有類中方法名與目標類中定義的方法名不一致 這時,現有接口需要

原创 Java 反射最終篇 - Mock 對象和樁

Mock 對象和 **樁(Stub)**在邏輯上都是 Optional 的變體。他們都是最終程序中所使用的“實際”對象的代理。 不過,Mock 對象和樁都是假扮成那些可以傳遞實際信息的實際對象,而不是像 Optional 那樣把包

原创 Java8編程思想-lambda 表達式

文章目錄第十四章 流式編程流支持流創建隨機數流int 類型的範圍generate()iterate()流的建造者模式Arrays正則表達式中間操作跟蹤和調試流元素排序移除元素應用函數到元素在 `map()` 中組合流Optiona

原创 深度解析 Java 的 Optional 類

使用內置的 null 來表示沒有對象,每次使用引用的時候就必須測試一下引用是否爲 null,這顯得有點枯燥,而且勢必會產生相當乏味的代碼。 null 沒啥行爲,只會產生 NullPointException。 java.util.

原创 徹底講清 Java 的泛型(上)

普通的類和方法只能使用特定的類型:基本數據類型或類類型。 如果編寫的代碼需要應用於多種類型,這種嚴苛的限制對代碼的束縛就會很大。 多態是一種面向對象思想的泛化機制。可以將方法的參數類型設爲基類,這樣的方法就可以接受任何派生

原创 一行解決IDEA中gradle下載依賴jar包慢問題(適用於各操作系統)

背景 準備研究 spring 源碼,從 github 下載到本地打開構建時,發現下載依賴慢死了。 解決 在build.gradle文件中添加國內鏡像 repositories { maven{ url'http://maven.a