原创 Java生產環境下性能監控與調優詳解完整學習筆記

本文主要內容包含 JVM的參數類型 jinfo & jps(參數和進程查看) jstat(類加載、垃圾收集、JIT 編譯) jmap+MAT(內存溢出) jstack(線程、死循環、死鎖) JVisualVM(本地

原创 JAVA中的值傳遞和引用傳遞

首先,不要糾結於 Pass By Value 和 Pass By Reference 的字面上的意義,否則很容易陷入所謂的“一切傳引用其實本質上是傳值”這種並不能解決問題無意義論戰中。 更何況,要想知道Java到底是傳值還是傳引用,起碼你

原创 使用jvisualvm遠程監控服務器jvm步驟詳解

1、前言 開發大型 Java 應用程序的過程中難免遇到內存泄露、性能瓶頸等問題,比如文件、網絡、數據庫的連接未釋放,未優化的算法等。隨着應用程序的持續運行,可能會造成整個系統運行效率下降,嚴重的則會造成系統崩潰。爲了找出程序中隱藏的這些問

原创 《Java生產環境下性能監控與調優》課程的參考文檔鏈接

課程《Java生產環境下性能監控與調優》 第二章 jdk8工具集 https://docs.oracle.com/javase/8/docs/technotes/tools/unix/index.html Troubleshooting

原创 SpringBoot實現HandlerMethodArgumentResolver(自定義參數解析器)

對Controller層請求參數進行處理 自定義註解  @Documented @Target({ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) pub

原创 jvm內存模型總結

對於大多數應用來說,Java 堆(Java Heap)是Java 虛擬機所管理的內存中最大的一塊。Java 堆是被所有線程共享的一塊內存區域,在虛擬機啓動時創建。 JVM內存結構 由上圖可以清楚的看到JVM的內存空間分爲3大部分: 堆內

原创 zookeeper源碼下載和導入到IDEA

一、到github上下載源碼,地址爲:https://github.com/apache/zookeeper 二、因爲zookeeper是ant構建的所以下載ant,地址爲: https://ant.apache.org/bindownl

原创 如何減少接口響應時間

我們在開發過程中,當然是希望自己項目接口的響應時間越短越好,至少我看着自己開發出來的代碼,都是毫秒級的響應,會有一種自豪感;那麼我們項目做了哪些優化,和大家分享分享。 優化代碼 先從小處着手,代碼寫的好壞,直接影響到接口的響應速度;當然這

原创 Maven總結

一、前言 現在的Java項目中,Maven隨處可見。 Maven的倉庫管理、依賴管理、繼承和聚合等特性爲項目的構建提供了一整套完善的解決方案,如果你搞不懂Maven,那麼一個多模塊的項目足以讓你頭疼,依賴衝突就會讓你不知所措,甚至搞不清

原创 SpringMvc的設計模式

目錄   一.組件介紹 二.Spring MVC執行流程 三.簡潔版本 一.組件介紹 DispatcherServlet:作爲前端控制器,整個流程控制的中心,控制其它組件執行,統一調度,降低組件之間的耦合性,提高每個組件的擴展性。 Han

原创 統計重複元素出現次數(字符串和數組)

一、字符串:  public class 重複元素計數 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Syste

原创 使用兩個隊列模擬堆棧結構

隊列a和b public class ArrayTest { public static void main(String[] args) { //array(); queueTest();

原创 子線程運行執行10次後,主線程再運行5次,這樣交替運行三遍

public class ThreadTest { public static void main(String[] args) { Bussiness bussiness = new Bussiness();

原创 實現HashMap的排序

已知一個HashMap<Integer, User>集合, User有name (String) 和 age (int) 屬性,請寫一個方法實現對HashMap的排序功能,該方法接受HashMap<Integer, User>爲形參,返回

原创 斐波那契數列(JAVA實現)

斐波那契數列(Fibonacci sequence),又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖爲例子而引入,故又稱爲“兔子數列”,指的是這樣一個數列:1、1、2、3、5、8、13、