原创 max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
引言 今天在新機器上部署項目的是,安裝完ES集羣以後, 啓動的時候出現下面錯: max virtual memory areas vm.max_map_count [65530] is too low, increase to at l
原创 JVM之內存結構詳解
對於開發人員來說,如果不瞭解Java的JVM,那真的是很難寫得一手好代碼,很難查得一手好bug。同時,JVM也是面試環節的中重災區。今天開始,《JVM詳解》系列開啓,帶大家深入瞭解JVM相關知識。 我們不能爲了面試而面試,但是學習
原创 JAVA GC垃圾回收機制詳解
引言 在上一篇博客中我們詳細分析了,JVM的內存結構。既然提到了JVM那麼我們必須得談一談GC垃圾回收機制了,在分析垃圾回收機制之前呢,我們還是需要來內存結構中堆(Heap)的詳細結構。 圖中展示了堆中三個區域:Eden、From S
原创 Java解析XML(4種方法)
<?xml version="1.0" encoding="utf-8" ?> <class> <student> <firstname>cxx1</firstname>
原创 垃圾收集器
如果說垃圾回收算法是內存回收的方法論,那麼垃圾收集器就是內存回收的具體實現,java虛擬機實現規範中對垃圾收集器應該如何實現並沒有任何規定,因此不同廠商、不同版本的虛擬機提供的垃圾收集器存在很大的差異,接下來我們主要介紹一下HOTSPOT
原创 快速定位線上CPU100%原因
引言 最近項目部門反應有個系統特別卡頓,很多頁面都打不開了,開發人員告訴我說最近沒有進行代碼升級,我登錄到對應的服務器上執行了top命令,發現cpu飆升到100%,對於這種問題我們應該快速的定位到問題,否則會影響線上系統的正常作業。 對於
原创 JAVA8 JVM內存結構變了,永久代到元空間
在文章《JVM之內存結構詳解》中我們描述了Java7以前的JVM內存結構,但在Java8和以後版本中JVM的內存結構慢慢發生了變化。如果在網絡上搜索JVM內存結構,90%的可能會搜到Java7及以前的內存圖,本篇文章將會對JVM內存結構再
原创 垃圾收集策略與算法
在前面的博文當中我們已經介紹了java運行時內存區域的各個部分及特點,其中程序計數器、虛擬機棧、 本地方法棧三個區域隨着線程而生,隨着線程而滅;棧中的棧幀隨着方法的執行和退出,有條不紊的執行者入棧和出棧操作。每一個棧幀分配 多少內存基本上
原创 JAVA內存模型(JMM)詳解
引言 爲了更好的瞭解底層原理,寫出更加高效的代碼,今天我們 詳細的分析一下JAVA內存模型(JMM),JAVA內存模型是我們深入瞭解java併發變成的先決條件。對於後續多線程 中的線程安全,同步異步處理等更是大有裨益。 硬件內存架構 在學
原创 JavaScript操作Cookie——高級篇
在上一篇博客中介紹了一下關於cookie的基本知識,下面在這篇博客中給大家介紹一些相對比較高級並且比較 容易犯錯的知識。 一、cookie路徑概念 cookie 一般都是由於用戶訪問頁面而被創建的,可是並不是只有在
原创 zookepeer啓動節點報錯,unable to run quorum server
引言 今天在部署新的項目的時候,直接將原來的機器做了一個鏡像,然後 利用該鏡像直接安裝新機器。 該機器上有zk的三個節點,在修改完ip地址以後,啓動zk節點時候報錯: 錯誤關鍵信息: Unable to run quorum serv
原创 JVM性能監控與故障處理工具
引言 在 應用服務出現模型的卡頓或者CPU飆升等問題時,總是要分析一下對應的進程的JVM狀態以定位問題和解決問題並做出響應的優化,在這個過程中java自帶的一些狀態監控 命令工具就非常方便了。 1、jps:JVM進程狀況工具 JDK中
原创 java 發送郵件附件 文件名過長的坑
引言 今天在發送郵件的時候,發現 excel附件名稱亂套了,導致文件失效, 之前發送都是正常的,因爲是平臺封裝的發送郵件的工具類,所以一臉懵逼,別的項目好好的發送,今天突然出現錯誤。 經過多次嘗試發現,發送成功和失敗的
原创 通過反射獲得並調用類的方法導致@Autowired注入失效的解決方案
引言 最近在優化公司平臺項目,由於該平臺是to B性質,所以有些需求需要 定製化開發,爲了使代碼向上兼容並且更加的靈活,所以用到了反射,但是在使用過程中遇到了@Autowired失效問題。 問題解析: 其實出現這個問題的原因很簡單,就是我
原创 利用dom4j解析xml
引言 最近有個項目需要解析xml 文件,獲取其中的節點內容, 小編選擇了一個編碼簡單又高效的dom4j來完成。 1、xml內容 <?xml version="1.0" encoding="UTF-8"?> <RecognizeResul