原创 Young GC 500ms到50ms的優化

問題描述:在進行雙十一備戰的過程中,發現JVMyoung GC的頻次很高,同時一次Young Gc的耗時在500ms左右,FullGC的在1-2天觸發一次 JVM原配置:-XX:+UseConcMarkSweepGC -XX:CMSIni

原创 JVM內存分析,除了堆內存還有哪些?

問題場景:某個應用服務器(2C4G),xms xmx配置3G,內存佔用遠遠超過3G,硬件服務器報警內存佔用經常超過95%,(內存一直佔用,可能導致java應用 crash),由於處於雙十一敏感時期,所以需要追根究底。(後xmx改爲2G,後

原创 JVM元數據空間增長分析

上一篇已經分析了(https://mp.csdn.net/postedit/102959321)JVM除了HEAP還有哪些內存佔用,也進行了一部分的參數調優,但是並沒有根本解決這個問題 ,只是發生內存佔滿的時間變長了一些。 上章的策略:1

原创 面試-java進階(1)

內存模型 happen-before 安全攻擊 SQL注入、操作系統指令攻擊、XML攻擊、XSS攻擊 Mysql事務隔離級別以及樂觀鎖、悲觀鎖 Read uncommited、read commited 、repeatable read、

原创 面試-java基礎(6)

java線程池 類加載過程,以及雙親委派 加載----鏈接(驗證--準備--解析)----初始化 雙親委派:當一個加載器加載一個類時,會先看一下父加載器是否可以加載,如果可以,則優先父類加載,避免重複加載 常見的類加載器(Bootstr

原创 面試-java基礎(5)

ReentrantLock和Synchornized區別 Synchornized是java內建的同步機制,java1.5之前是java唯一的同步機制,可以作用於方法或者代碼塊,非公平鎖 ReentrantLock是可重入鎖,使用lock

原创 面試-java基礎(4)

如何保證集合容器的併發安全以及concurrentHashMap如何實現高效的併發 java提供不同層面的併發容器,包括傳統的類似HashTable\Vector等安全容器,也提供啦Collections工具類的同步包裝器,基本是通過Sy

原创 面試-java基礎(3)

反射機制以及動態代理的理解 反射機制是java語言的一項基礎能力,賦予程序運行是自省的能力,可以直接操作類或者對象,獲取類定義或者直接執行相應的方法。 動態代理是一種方便運行是動態構建代理、動態處理代理方法的機制,常見的動態代理 jdk自

原创 面試-java基礎(2)

強引用、軟引用、弱引用、幻象引用區別 不同的引用類型表示不同的可達性以及對於垃圾回收的影響 String StringBuffer StringBuilder區別 String 是java基礎類型,典型的immutable類,final

原创 面試-JAVA基礎篇(1)

談一談對於java平臺的理解   Exception和Error區別 Finally final finalize區別 final  用來修飾類、方法、變量,不可繼承,不可重寫,不可改變 finally 是 try-catch-fin

原创 JAVA 8-學習筆記(一)

1.接口默認方法 java8 允許我們給一個接口添加一個非抽象方法的實現,使用關鍵字 defalut即可。 public interface IJDK8Test { default void sys(){ S

原创 JAVA 學習筆記(二)-註解

Java註解相當於一種標記,在程序中加了註解等於爲程序打上一個標記,javac編譯器,開發工具或者其他程序可以用反射來了解你的類以及各種元素有沒有這樣的標記,有則進行相應的處理,標記可以加在 包,類,字段,方法,方法的參數以及局部變量。

原创 Spring源碼學習筆記(三)AOP實現

Spring-AOP入口 <aop:aspectj-autoproxy /> 這一段代碼,是實現AOP的具體入口,發現不是bean標籤則會使用不同的類進行解析,http\://www.springframework.org/s

原创 JVM調優

JVM基礎 運行期環境代表Java平臺,我們開發的程序都是.java文件,然後通過編譯器編譯爲.class字節碼文件,最後字節碼被類裝載器載入,進入到Java虛擬機就會被Java解釋器解釋執行。 JVM包括方法區,堆,Java

原创 Spring源碼學習筆記(一)

Spring整體架構: spring是一個分層架構,分爲以下模塊: Core Container Core 模塊 主要是spring框架使用的基礎工具類。spring-core.jar Beans模塊 主要包括讀取配置、