原创 Java爬蟲(七)-- httpClient進階: https 和 證書認證(講故事篇)

一、前言 本篇風格會偏向講故事,來記錄整個發現問題,解決問題的過程。具體的知識點總結放在後一篇。 前段陣子被分配了一個工單,要求抓取另一個險企B的數據。想着應該不會比上一家A麻煩了,險企A抓取數據過程中有幾次請求是跨域的,很多數據都是由

原创 【開發小記】 Java 線程池 之 被“喫掉”的線程異常(附源碼分析和解決方法)

前言 今天遇到了一個bug,現象是,一個任務放入線程池中,似乎“沒有被執行”,日誌也沒有打。 經過本地代碼調試之後,發現在任務邏輯的前半段,拋出了NPE,但是代碼外層沒有try-catch,導致這個異常被喫掉。 這個問題解決起來是

原创 Java 多線程 - CAS

前言 記錄在學習線程安全知識點中,關於CAS的有關知識點。 線程安全是指:多個線程不管以何種方式訪問某個類,並且在主調代碼中不需要進行同步,都能表現正確的行爲。 常見的線程安全實現方法分爲不可變對象、線程互斥同步、非阻塞同步、線程

原创 【開發筆記】Spring + websocket 實現服務端推送消息(附幾個坑)

背景 原先採用ajax輪詢的方式,去更新推送信息。但是如果你目標的數據對於一次請求來說,只是一個很小的值,那採用輪詢的方式就會很浪費帶寬。 現在嘗試用websocket實現產生推送信息時實時推送給前端。 Spring 4.0的一個最大

原创 微服務雜談 - 爲什麼大公司一定要使用微服務

作者:颯然Hang,《Java工程師修煉之道》作者 原文地址 https://www.rowkey.me/blog/2019/05/30/msa/ 前言 這幾年在Java工程師招聘時,會看到很多人的簡歷都寫着使用了Sprin

原创 Zookeeper學習系列【一】 教會你Zookeeper的一些基礎概念

前言 最近加入了部門的技術興趣小組,被分配了Zookeeper的研究任務。在研究過程當中,發現Zookeeper由於其開源的特性和其卓越的性能特點,在業界使用廣泛,有很多的應用場景,而這些不同的應用場景實際上底層的原理都是差不多的

原创 向您生動地講解Spring AOP 源碼(3)

前言 往期文章: Spring IoC - Spring IoC 的設計 Spring IoC - IoC 容器初始化 源碼解析 Spring IoC - 依賴注入 源碼解析 向您生動地講解Spring AOP 源碼(1) 向您

原创 向您生動講解Spring AOP 源碼(2)

前言 往期文章: Spring IoC - Spring IoC 的設計 Spring IoC - IoC 容器初始化 源碼解析 Spring IoC - 依賴注入 源碼解析 向您生動地講解Spring AOP 源碼(1) 在

原创 傳統 Spring MVC 集成 Prometheus

前言 春節前的兩個星期,本人研究了Spring Boot 應用集成Prometheus + Grafana實現監控告警功能。 Spring Boot Actuator 模塊 詳解:健康檢查,度量,指標收集和監控 SpringBoot

原创 MySQL 學習筆記

作者:Jioby 原文地址 https://shockerli.net/post/1000-line-mysql-note/ Windows 服務 -- 啓動MySQL    net start mysql -- 創建Windo

原创 Spring Boot 微服務應用集成Prometheus + Grafana 實現監控告警

前言 關鍵詞:Prometheus; Grafana; Alertmanager; SpringBoot; SpringBoot Actuator; 監控; 告警; 在前一篇Spring Boot Actuator 模塊 詳解:健

原创 【開發筆記】Java 中 AES 加密時報錯:Illegal key size or default parameters

Java中使用AES對稱加密後,請求報錯: Caused by: java.lang.RuntimeException: java.security.InvalidKeyException: Illegal key size or d

原创 開發小記 - 用函數式編程優化代碼可讀性,減少一半行數

前言 本文主要是記錄一下用lambda 表達式優化代碼的經歷,篇幅不長,算是分享我覺得不錯的一個小技巧。 話不多說,直接進入正題。 正文 我們先來看這麼一段代碼: @Component public class ConfigCache

原创 Java 多線程 - 鎖優化(輕量級鎖、偏向鎖原理及鎖的狀態流轉)

前言 爲了進一步改進高效併發,HotSpot虛擬機開發團隊在JDK1.6版本上花費了大量精力實現各種鎖優化。如適應性自旋、鎖消除、鎖粗化、輕量級鎖和偏向鎖等。(主要指的是synchronized的優化)。 適應性自旋 (自旋鎖)

原创 代碼以外的生存之道

願所有自強不息、孜孜不倦地持續自我改進的開發人員都能在代碼之外,找到自己的最佳生存之道。 前言 最近剛剛讀完了一本書,深受啓發,想和各位程序員同道分享一二,也強烈建議大家去閱讀一下。 這本書叫做 《軟技能:代碼以外的生存之道