原创 詳解Java三種內存溢出java.lang.OutOfMemoryError: unable to create new native thread,Java heap space,PermGen

一:起因     樓主所在公司線上環境出現java.lang.OutOfMemoryError: unable to create new native thread異常,導致系統不可用。在以前的工作中環境中,也遇到過幾次這種問題,雖說解

原创 踏進性能測試的路,踩遍各種性能的坑

      近期樓主帶領一個團隊,做公司產品V3到V4版本的重構工作。到17年3月份重構算是完成,緊接着老闆就要求做性能測試(性能測試通過後才能在新版本中做新功能的迭代開發工作),做性能測試的基準點是重構前的V3版本是支持800併發的業務

原创 MemCached的安裝和JAVA客戶端連接Memcached示例代碼

一:下載安裝Memcached的依賴libevent1:下載memcached的依賴  http://libevent.org/  下載後的文件爲:《libevent-2.0.22-stable.tar.gz》2:把libevent文件放

原创 如何更優雅的做緩存

    本博文主要講解如何更加優雅的做緩存,緩存服務器與基礎客戶端連接、緩存代碼在博主的博文《MemCached的安裝和JAVA客戶端連接Memcached示例代碼》有介紹。優雅緩存的代碼都是基於那篇博文基礎上完成的。主要業務代碼有如下:

原创 Java虛擬機內存分配機制與啓動參數說明

    JVM按照其存儲數據的內容將所需內存分配爲堆區與非堆區兩個部分:所謂堆區即爲通過new的方式創建的對象(類實例)所佔用的內存空間;非堆區即爲代碼、常量、外部訪問(如文件訪問流所佔資源)等。java垃圾回收器GC專門用於回收堆內存,

原创 原生Servlet與Spring Controller性能比較

  在實際項目工作,有同事提出,Java原生的Servlet性能(響應速度與併發數)要比封裝過的Spring Controller高,基於這點,樓主用Apache的ab工具,對兩個簡單的應用做1000併發壓力測試,查看兩者的響應速度與併發

原创 使用memcached實現tomcat集羣中Session共享業務場景

業務場景描述:有這樣的業務架構,一臺nginx將客戶端請求分發到2臺tomcat中,現在的問題是當tomcat1掛掉之後,nginx將請求轉發到tomcat2中,此時tomcat2會要求用戶重新登入,造成用戶感知不好(實際用戶已經登入成功