原创 通過java編程 不使用 XML 構建 SqlSessionFactory

如果你更願意直接從 Java 代碼而不是 XML 文件中創建配置,或者想要創建你自己的配置構建器,MyBatis 也提供了完整的配置類,提供所有和 XML 文件相同功能的配置項。 考慮到官網所寫的不是很詳細,踩了挺多坑,所以特寫此文章記錄

原创 JVM 問題整理

1、什麼是Java虛擬機?爲什麼Java被稱作是“平臺無關的編程語言”? 2、Java代碼是怎麼運行的? 3、Java虛擬機是如何加載Java類的? 4、JVM運行內存的分類 5、如何監控和診斷JVM堆內和堆外內存使用? 6、Java四引

原创 GC問題排查

頻繁GC問題或內存溢出問題 一、使用jps查看線程ID 二、使用jstat -gc 3331 250 20 查看gc情況,一般比較關注PERM區的情況,查看GC的增長情況。 三、使用jstat -gccause:額外輸出上次GC原因 四、

原创 zookeeper分佈式鎖實現邏輯

獲取鎖過程: 1、在zookeeper創建一個持久節點lock 2、ClientA應用訪問時往該lock節點下創建一個臨時節點lock-001 3、ClientB應用訪問時往該lock節點下創建另一個臨時節點lock-002,並查找所有節

原创 記錄:使用alibaba:fastjson將json轉爲對象

Maven引入 <dependency>     <groupId>com.alibaba</groupId>     <artifactId>fastjson</artifactId>     <version>1.2.37</vers

原创 記使用廣度優先算法分析日誌調用鏈路

由於應用系統的日誌都是發到mq,以便使用flink進行分析,爲了分析應用系統每次請求的調用鏈路,需求設計算法去梳理這些散落的日誌節點,每條日誌都帶traceId 作爲標識一次調用的日誌。 如下爲一次請求調用的服務和依賴的資源 Servi

原创 JVM 內存管理-----JVM如何判斷對象已死

分享前拋出幾個問題? ▪ 如何判斷一個對象是否存活着? ▪爲什麼java堆內存要分代? ▪一個對象從創建到被回收經歷了哪些過程,如果是很大的對象呢? ▪哪些情況會報outofMemoryError,StackOverFlowError?

原创 parallel Scavenge 收集器

簡介:       新生代收集器,複製算法,並行收集,面向吞吐量要求(吞吐量優先收集器)。       吞吐量=用戶代碼運行時間/(用戶代碼運行時間+垃圾回收時間)       -XX:MaxGCPauseMillis:控制最大垃圾收集停

原创 設計模式學習之策略模式

策略模式:定義了算法族,分別封裝起來,讓它們之間可以互相替換,此模式讓算法的變化獨立於使用算法的用戶。 有這樣一個情景:       遊戲公司要開發一款遊戲,希望遊戲界面上有一些鴨子,鴨子具有他本身的一些行爲,包括飛,叫,跑等等。  

原创 Java編程中“爲了性能”一些儘量做到的地方

1、儘量在合適的場合使用單例 2、儘量避免隨意使用靜態變量 3、儘量避免過多過常的創建Java對象 4、儘量使用final修飾符 5、儘量使用局部變量 6、儘量處理好包裝類型和基本類型兩者的使用場所 7、慎用synchronized,儘量

原创 實習--實習第一天

        第一天實習的心情是緊張而激動的,由於第一天怕遲到給人印象不好,早早的去搭公交,竟然提早一小時在公司門口等。剛進公司,人事給了一份公司制度表,並詳細解讀了,也許是沒見過這麼莊重的公司制度吧,其實內心還是充滿敬意的。接下來便是

原创 設計模式之單例模式

單例模式:確保一個類只有一個實例並提供一個全局訪問點 技術應用:線程池,緩存,對話框,日誌對象,充當打印機 真實場景應用:某食品有一個工業強度巧克力鍋爐控制器,比如鍋爐已經滿了還繼續放入原料,或者鍋爐內還沒放入原料就開始空燒。這樣的話,

原创 成爲Java頂尖程序員 ,看這11本書就夠了

“學習的最好途徑就是看書“,這是我自己學習並且小有了一定的積累之後的第一體會。個人認爲看書有兩點好處:   1.能出版出來的書一定是經過反覆的思考、雕琢和審覈的,因此從專業性的角度來說,一本好書的價值遠超其他資料   2.對着書

原创 關於robot framework調用python

     最近在做部門的自動化測試研究,在選型的時候主要考慮到以下幾點:         1、可以擴展,支持自己寫python腳本,以便特殊場景可以調用         2、支持特殊控件,下拉框,樹形等控件         3、支持數據庫

原创 設計模式之觀察者模式

觀察者模式:定義了對象之間的一對多依賴,這樣一來,當一個對象改變狀態是,它的所有依賴者都會收到通知,並自動更新。 畫如下圖理解定義: 根據分析,可以畫出如下的UML類關係圖: 實現代碼如下,文件目錄圖: 主題接口: pac