JAVA程式測試時用到的與記憶體測試有關的東西
1、JVM啟動引數
垃圾回收器呼叫情況引數,使用如下引數可以看到程式何時啟動GC進行垃圾回收,和垃圾回收的詳細資訊。
java Test -XX:+PrintGCDetails -XX:+PrintGCTimeStamps
java Test -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:\dump.hprof
來設定應用向OS直接申請的最大記憶體數
-XX:MaxDirectMemorySize=
2、記憶體分析工具
JConsole
JDK自帶的工具,在JDK的BIN目錄中就可以找到。很方便的可以分析記憶體、CPU、執行緒等記憶體情況,可以將記憶體快照儲存到檔案中。
IBM的堆分析工具,IBM的強大不是沒有理由的,這個工具用起來還是不錯的。這次用這個工具很快到就找到問題在哪兒了。
相關推薦
java程式執行時如何分配記憶體
Java 虛擬機器(JVM)是可執行Java程式碼的假想計算機。只要根據JVM規格描述將直譯器移植到特定的計算機上,就能保證經過編譯的任何Java程式碼能夠在該系統上執行。本文首先簡要介紹從Java檔案的編譯到最終執行的過程,隨後對JVM規格描述作一說明。 一.J
JAVA程式測試時用到的與記憶體測試有關的東西
1、JVM啟動引數 垃圾回收器呼叫情況引數,使用如下引數可以看到程式何時啟動GC進行垃圾回收,和垃圾回收的詳細資訊。 java Test -XX:+PrintGCDetails -XX:+PrintGCTimeStamps java Test -XX:+HeapDumpOnOutOfMem
spring+junit4時用Junit單元測試遇到的bug:java.lang.ExceptionInInitializerError
一、詳細錯誤日誌: 二、具體描述: 由於第一次用spring+Junit4進行單元測試,對他們瞭解不夠深入,出現這個bug時真的是手忙腳亂的,各種百度,各種嘗試就是解決不了,網上好多方法都試了就是不行,現在想來不是網上的解決方法不行,而是我遇到的問題和他們不一樣啊。網上說j
JAVA 程式設計師需要用到 10 個測試框架和庫
想要提高你的自動化測試技術?以下是 10 個優秀的測試框架和庫,以及它們常見用法的概述。 最近我寫了一些文章,關於 Java 程式設計師今年應該學習什麼,例如程式語言,庫和框架等,如果只能學習或提高其中一項,那必然是自動化測試技能。 測試是專業程式設計師區別於業餘程式設計師的一項指標,作為專業程式設計師,並
redis持續化以及測試時用到的命令整理
1.redis持續化 前提:redis強大的功能很大部分是由於它把資料快取在記憶體中 持續化的作用:最大可能性的保證在出現突發情況下(如:重啟)資料不丟失,就需要以某種方式把資料持久化到磁碟中。Redis持久化的方式有倆種,RDB和AOF。 redis持續化的方式:RDB和AOF
壓力測試時CPU、記憶體—初步理解
主要涉及資料庫、應用伺服器的效能分析 一、 測試資料 1、併發請求50個,兩個Url,相當100併發數 應用伺服器一直保持CPU佔用率為20%-40% 資料庫程序連線數提升20個,增加20左右會話數 2、併發請求10個,兩個Url,相當200
獲取java程式執行時記憶體資訊
由於最近想自己動手測試一下String和StringBuffer的效率問題,需要獲取程式執行時的記憶體佔中資訊,於是上網查了一下,根據查到的資料寫了個程式,發現結果有問題,才發現查到的資料是錯誤的.所以在這裡跟大家分享一下獲取記憶體佔用的正確方法
java程式執行時記憶體分配詳解
一、 基本概念 每執行一個java程式會產生一個java程序,每個java程序可能包含一個或者多個執行緒,每一個Java程序對應唯一一個JVM例項,每一個JVM例項唯一對應一個堆,每一個執行緒有一個自己私有的棧。程序所建立的所有類的例項(也就是物件)或陣列(指的是
安卓真機測試時用在控制檯查詢崩潰日誌資訊
真機測試時崩潰一般會要求提供崩潰日誌資訊,獲取日誌資訊可以用cmd下面的adb logcat方式獲取 步驟:安裝好adb 執行環境,具體方法請百度 首先,要獲得日誌必須保證手機連線上電腦了 檢查手機是否連線 adb devices 一般崩潰日誌只需要提供ERROR
Java-檢測Java程式執行時記憶體消耗的方法-Jconsole
考CCF的時候,一個很重要的標準是程式碼執行時間和佔用記憶體。執行時間我們可以通過System.currentTimeMillis()方法來計算;而佔用記憶體沒有辦法(我暫時沒有找到辦法)直接通過程式檢視。要想檢視記憶體使用情況,就要藉助java的JDK提供的一
用記事本編寫第一個Java程式執行時 出現報錯:錯誤: 類helloworld是公共的, 應在名為 helloworld.java 的檔案中宣告 public class helloworld {
在書本上盲人摸象的摸索學習Java,Java環境配置完成,安裝好eclipse後,便興沖沖的去在記事本上編寫第一個Java程式,結果給破了一盆冷水,略懵 public class helloworld {public static void main(St
測試中,介面測試的必要性與介面測試的基礎用例設計
1、 什麼是介面,為什麼要做介面測試(介面測試的必要性) 介面: 現在介面一般分為兩種,一種程式內介面,另一種是系統對外的介面,程式內介面就是我們開發一個系統或者程式,只供我們程式內使用,而對外介面就是我們需要提供給外部用的介面,比如說我們要的第三方登入(微信登陸,或者微博登陸)或者支付,這種就是我們調取的微
開發者測試-采用精準測試工具對Spring Boot應用進行測試
新建 之間 分享 maven倉庫 第一個 項目 數據傳輸 寫實 blog 簡介:本文主要介紹把現今主流的springboot框架項目和精準測試工具進行結合和應用,通過精準測試的數據穿透、數據采集、測試用例與代碼的雙向追溯、數據分析等一系列精準測試的特有功能,達到對項目質量的
Java物件宣告時:new與null的區別
作者:林子云連結:https://www.zhihu.com/question/21468505/answer/18333632來源:知乎著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。 首先要明白,java裡物件傳遞的時候,傳遞的都是引用(也就是物件的地址),這比傳遞整個物件高效的多。
Java中鎖的實現與記憶體語義
1. 概述 鎖在實際使用時只是明白鎖限制了併發訪問, 但是鎖是如何實現併發訪問的, 同學們可能不太清楚, 下面這篇文章就來揭開鎖的神祕面紗. 2. 鎖的記憶體語義 當執行緒獲取鎖時, JMM會把執行緒對應的本地記憶體置為無效. 從而使得被監視器保護的臨界區的變數必須從主記憶體中讀取
java程式碼的MapReduce打包成jar 報錯: JAVA程式執行時出現:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsEx
以前的學習筆記,整理一下: java程式碼的MapReduce打包成jar 報錯: JAVA程式執行時出現:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at PrintWhat.main(Pri
Java之執行時異常與編譯時異常區別
Java中用2種方法處理異常: 1.在發生異常的地方直接處理; 2.將異常拋給呼叫者,讓呼叫者處理。 Java異常可分為3種: (1)編譯時異常:Java.lang.Exception (2)執行期異常:Java.lang.RuntimeException (3)
Java程式-方法的定義與使用
方法的定義: 方法就是一段可以被重複呼叫的程式碼塊注:以下方法均需在主類中定義,並且在主方法中呼叫 方法的宣告: public static 方法返回值 方法名稱(引數型別 變數名, ...){ 方法體; return 返回值;//
Java程式設計師在用的大資料工具
問題:他們最近一年最喜歡用什麼工具或者是框架? 受訪者可以選擇列表中的選項或者列出自己的,本文主要關心的是大資料工具。上一篇Java調查包括下列內容: 開發語言Web框架應用伺服器資料庫工具SQL資料大資料開發工具雲供應商 現在,來看看維基百科上對大資料的定義: 大資
Android程式執行時許可權與檔案系統許可權,與普通許可權及危險許可權的區別
面試時遇到這樣的題目 問題來的太突然,完全沒有準備,結果我想到了android 6.0之後推出的 normal permissions 和 dangerous permissions 並且把這兩者之間的關係答了一下,而且還舉了個例子,現在想想,真是丟人 關於普通