原创 Python抓取某相親網站用戶大數據分析【女】

【鄭重聲明】本文章統計數據均來自XX網用戶數據,未通過任何非公開及違法渠道獲取廣大用戶的個人隱私信息! 【技術參考】Python、selenium、pyecharts(自編自寫的python腳本抓取的XX網公開信息) 摘要 喜逢春

原创 Mysql使用PreparedStatement的批量插入優化

背景 上W級別的單表數據,要實現快速插入 使用executeBatch 優化 原實現 PreparedStatement cmd = connection .prepareStat

原创 MySQL千萬級數據的全表掃描優化

數據場景 一個很簡單 的業務數據表,2300W規模的數據,沒有複雜數據類型,不想分表,還需要全表遍歷 Select全表性能 查詢接口 @Mapper public interface UserMapper {

原创 Spring之路—常用註解收集

【@Component】——標註一個普通的Spring Bean類 【@Controller】——標註一個控制器組件類 【@Service】——標註一個業務邏輯組件類 【@Repository】——標註一個Dao的組件類 【@Bean】—

原创 Java 單例模式與線程安全

1.惡漢式 public class Singleton { private static Singleton INSTANCE = new Singleton(); public static Singleton

原创 IT博文收集

1.浮動IP概念及作用 https://blog.csdn.net/readiay/article/details/53538085 2.SpringBoot appliaction 原理 https://www.cnblogs.com/

原创 Java靜態代理和動態代理

前言 動態代理在Java中有着廣泛的應用,比如Spring AOP、Mybatis、RPC遠程調用、Java註解對象獲取、日誌、用戶鑑權、全局性異常處理、性能監控,甚至事務處理等。 代理模式 代理模式是給某一個對象提供一個代

原创 通過源碼分析Mybatis運行原理

SqlSession類關係圖 MapperFactoryBean 獲取SqlSessionTemplate,SqlSessionTemplate的Configuration持有了mapper *************

原创 獲取Spring中的單例Bean對象的封裝

在實際開發過程中我們依賴的bean並不一定按照注入(@autowired)的方式獲取,例如非spring託管的對象中獲取Bean,這個時候需要我們在Spring容器中獲取Bean Bean的工具類 /* * Copyrigh

原创 Java 類的加載機制

生命週期 Java類在虛擬機中的生命週期包括以下幾個階段:加載、驗證、準備、解析、初始化、使用和卸載七個階段,前五個階段都可以歸納爲 驗證、準備、解析階段可歸納爲鏈接階段 加載 這個階段的JVM主要工作是從網絡或者 磁盤中

原创 Tomcat原理掃盲

Tomcat加載類和資源的順序爲: /Web-INF/classes /Web-INF/lib/*.jar Bootstrap System $CATALINA_HOME/common/classes $CATALINA_HOM

原创 記一次OutOfMemoryError: Metaspace診斷

起因 線上新運行的一個微服務,啓動過程到穩定之後,服務一致沒有問題,但是在運行一小段時間之後,經常服務狀態不可用,訪問改服務的Restful接口處於503狀態 初步分析 剛開始的時候並沒有意識到這個問題的嚴重性,以爲是服務器

原创 Java CAS原理分析

概念 CAS:Compare and Swap,實現併發算法時常用到的一種技術。CAS操作包含三個操作數——內存位置、預期原值及新值。執行CAS操作的時候,將內存位置的值與預期原值比較,如果相匹配,那麼處理器會自動將該位置值更新

原创 Java OutOfMemoryError 分析

異常分類 Java OutOfMemoryError分爲四大類:Java heap space、Permgen space、Metaspace、GC overhead limit exceeded Java heap spac

原创 JVM堆內存分配及垃圾回收算法

堆內存劃分 Java堆是被所有線程共享的一塊內存區域,虛擬機又把堆內存劃分爲新生代、老年代、永久代三塊區域。 新生代(Young)又被劃分爲三個區域:Eden、From Survivor、To Survivor 默認情況下 新生