原创 開發進階當前階段-心得篇

學習微服務框架,不如學習演進式架構(Evolutionary Architecture)。 學習新的編程語言,不如學習代碼整潔之道、設計模式、領域驅動設計(DDD)。 學習 LeSS 和規模化敏捷框架(SAFe),不如學習精益生產原則(L

原创 開發中常用的shell腳本&數據處理

watch.sh(生產環境日誌異常監控shell腳本) #!/bin/bash #-------------------------------------------- # 監聽程序異常日誌, 如果出現異常則發送通知 # author

原创 使用jmap命令(用於輸出對象,適用於解決對象內存溢出等問題)導出內存映象文件與堆內存異常分析 MAT

內存溢出自動導出參數: //發生溢出時dump出來 -XX:+HeapDumpOnOutOfMemoryError //dump的路徑 ./爲項目啓動根路徑 -XX:HeapDumpPath=./ 內存溢出手動導出參數:jmap命令

原创 使用jstack(jstack是用於調試線程間的關係,解決阻塞,鎖等問題)定位由死循環引起的cpu負載飆高或者死鎖

在linux下: linux的top命令可以查看進程的pid,我們找到java程序的pid, 然後執行 top -Hp pid 就可以查看到這個進程下線程的運行情況。 這樣粗略可以看到哪些線程比較繁忙,這時候就用到jdk自帶的小工具j

原创 使用jstat(監控整體的class情況、gc情況)監控JVM

jstat是用於監視虛擬機運行時狀態信息的命令,它可以顯示出虛擬機進程中的類裝載、內存、垃圾收集、JIT編譯等運行數據。 命令格式 jstat [options] VMID [interval] [count] 參數 [options]

原创 針對Mysql的CentOS系統參數主要調優

內核相關參數(/etc/sysctl.conf)  # 以下參數可以直接放到sysctl.conf文件的末尾 net.core.somaxconn = 65535 net.core.netdev_max_backlog = 65535

原创 細品Spring Bean的生命週期

spring bean的生命週期官方的流程圖如下: 接下來 我們用代碼驗證一下是否如圖所願: 首先定義一個testBean import org.springframework.beans.BeansException; import

原创 我對JAVA的堆外內存與NIO零拷貝的理解

在JAVA中,JVM內存指的是堆內存。在機器內存中,不屬於堆內存的部分即爲堆外內存。堆外內存也被稱爲直接內存。 當我們的java程序對操作系統所管理的磁盤文件等進行讀寫時候(IO操作),並不是直接與IO外設打交道讀寫jvm的內存,而是操

原创 ElasticSearch的分片與副本的數據一致性是如何處理的?

原文鏈接:https://www.elastic.co/guide/en/elasticsearch/reference/5.5/docs-index_.html#index-wait-for-ac

原创 源碼分析:java.util.concurrent.ExecutorService線程池中的線程管理

最近在做一些組件的封裝,使用了java.util.concurrent線程池,就好奇想知道他是如何管理線程,以及重用的?於是追蹤了一下源碼,基本瞭解了他得處理機制,所以在此總要記錄一下。最近也沒寫什麼文章,感覺人也懶了,哎。。。。 正要洋

原创 EMQ X 生產環境鑑權配置詳解(連接認證與訪問控制)

EMQ的應用場景、下載、運行,官方文檔都說的很細,本篇主要總結一下生產環境下,暴露於外網下的EMQ的訪問鑑權配置。 警告:建議版本是3.2.2,請不要使用3.1版本(bug:任何人可以直接通過DashBoard的18083端口調用rest

原创 可能這是關於BIO-NIO-AIO-Netty處理模型最好理解的文章了

無意中看到別人總結BIO-NIO-AIO-Netty的前世今生,也在往上翻閱了一些帖子,總感覺講的太過於繁雜,往往一個簡單的概念層層拓展,蓋過了文章的主題,所以我想圖文並茂的,層層遞進,簡單點、再簡單點的講出來。所以本文中不會出現代碼。講

原创 阿里雲外網映射配置(rinetd)

原帖地址:https://help.aliyun.com/document_detail/43850.html?spm=a2c4g.11186623.2.16.38b36ca62clfMn 前提條件 如果您需要從本地 PC 端訪問 Red

原创 常見的&必知必會的JAVA面試題清單-(長更)

面試題模塊介紹 內容包含了很多java方方面面,包含模塊有:Java 基礎、容器、多線程、反射、對象拷貝、Java Web 模塊、異常、網絡、設計模式、Spring/Spring MVC、Spring Boot/Spring Cloud、

原创 jetty啓動logback阻塞控制檯空白或者拋出I/O error occurred while parsing xml file

解決辦法很簡單,把logback.xml的dtd註釋掉。 Java程序在解析xml文件時,如果xml文件中指定了dtd,在默認會從指定的url下載dtd文件,但是很多情況下如果網絡連接不上,或者防火牆原因,dtd文件無法下載下來導致程序