原创 Java7 NIO2 Path類

Java 從 1.0 開始就有了 Java IO 模型, 在 JDK 1.4 中添加了 NIO, 主要添加了非阻塞 IO 支持, Java 7 中, 增加了異步通道, 對本地文件系統添加了更多元數據支持 (File Attributes)

原创 Kotlin enum類與companion設計的不協調--NPE導致ClassNotFoundException, Could not initialize class.

環境: JDK8+kotlin 1.1.0 構建工具:Maven 3 項目中有一個定義報警類型的enum類最開始使用java編寫, 後來改成了kotlin. IDE和編譯都沒有提示錯誤, 運行時卻發現錯誤.ClassNotFoundEx

原创 Spring中配置WebSocket

項目中需要在瀏覽器中實時查看 docker 容器內框架的運行日誌, 在服務器上可以通過 docker 提供的 RESTful 接口, 獲取 tail -f 的執行結果 InputStream 流. 而瀏覽器 HTTP 協議是一個請求 -

原创 爲什麼下一個5年java後臺開發你該選擇Spring Boot?

我們先來看看以前我們是怎麼寫Spring的 以前的Spring 整合複雜 相信大家學SSM(Spring+Spring MVC+MyBatis)結構的時候, 最痛苦的莫過於整合了.. 既然要整合三者, 那麼需要做哪些配置呢? 選擇各種

原创 Kafka 0.9 新版本consumer客戶端使用介紹

翻譯自: https://www.confluent.io/blog/tutorial-getting-started-with-the-new-apache-kafka-0-9-consumer-client/ kafka最初時開發時

原创 MongoDB 單字段索引和複合索引

MongoDB中常見的索引有單字段索引和複合索引. 單字段索引 沒有索引的查詢 >db.users.find({username:"user0115"}).explain(true) //以下是其中的一部分, 可以看到docsExamin

原创 無法刪除節點 Zookeeper: Packet len5391978 is out of range

問題 今天在對Zookeeper進行性能測試, 在/zktest節點下建了16W個節點,每個節點名爲30個字符 然後進行刪除時出現Packet len5391978 is out of range的錯誤, 導致不能獲取節點列表, 也不能刪

原创 kotlin與Spring, 默認類,方法,property爲final帶來的問題--依賴注入失效,NullPointerException異常

問題的由來 在Spring中使用kotlin, 發現依賴注入似乎沒有生效,導致NPE. 比如以下的代碼,對於發送短信這個功能, 並不需要在主流程中同步發送, 所以就使用了Spring的@Async註解, 可以使這個方法在配置AsyncE

原创 kafka權威指南 第一章翻譯 Meet Kafka

https://www.safaribooksonline.com/library/view/kafka-the-definitive/9781491936153/ch01.html 企業由數據所驅動的,我們獲取信息,分析,處理,最後創建

原创 CORS實現AJAX跨域的分析以及Spring實現

AJAX同源 問題的來源 在開發過程中, 後臺和前端分開開發, 那麼就會存在一個問題, 無法使用AJAX訪問後臺的RESTful接口. 我在63343端口有一個WEB服務器, 8080端口有一個後臺服務器. 服務端使用Spring,

原创 kafka多線程消費及處理和手動提交處理方案設計

kafka與其他消息隊列不同的是, kafka的消費者狀態由外部( 消費者本身或者類似於Zookeeper之類的外部存儲 )進行維護, 所以kafka的消費就更加靈活, 但是也帶來了很多的問題, 因爲客戶端消費超時被判定掛掉而消費者重新分

原创 Java中的相對路徑解惑

讓人迷惑的相對路徑 Java 中有一個很容易讓人誤解的問題, 就是路徑問題. 我們來看一段代碼. 項目路徑爲 /home/pathExample, 類的全限定名是 org.haoyifen.PathTest, 類的絕對地址爲 /hom

原创 我學JUC之LockSupport

LockSupport是基本的線程阻塞原語, 用於構建lock和其他同步類. 這個類將每個線程與一個permit進行關聯(類似於java.util.concurrent.Semaphore一樣的感覺). 如果permit可用的話, 調用p

原创 MongoDB 3.x版本explain命令

命令介紹 在對MongoDB進行性能分析時, 需要使用explain命令, 以觀察索引是否使用到, 掃描了多少文檔等信息. MongoDB 3.0以後explain命令進行了更改, 參數以及輸出格式發生了變化. 3.0以後傳入一個字符串參

原创 你不知道的泛型--獲取具體的泛型參數類型

震驚! 竟然可以獲取泛型參數信息 在使用Jackson,Gson等需要將字符串反序列化成類的時候, 我們可以使用以下的方式來生成具體的類, 而不是隻有array和map的JsonObject. 見以下代碼, 定義一個簡單的user類.