原创 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