jvm里的內存溢出

目錄

堆溢出

虛擬機棧和本地方法棧溢出(棧溢出很少出現)

方法區和運行時常量池溢出

?本機內存直接溢出(實際中很少出現、了解即可)


堆溢出

堆溢出:最常見的是大list,list里面有很多元

堆溢出該怎么解決

????????定位到導致內存溢出的對象

????????判斷是否是真的內存溢出,先判斷這個對象是不是正常的,如果不是,就得修復,如果是:要么去調優,通過優化邏輯來減少對象的大小;如果說硬件設施~(操作系統)剩余內存還足夠大,就可以將堆內存調大一些。

虛擬機棧和本地方法棧溢出(棧溢出很少出現)

虛擬即棧放的是java方法,本地方法棧放的是本地native方法

如果線程請求的棧深度大于虛擬機所允許的最大深度,將拋出StackOverflowError異常;如果虛擬機的棧內存允許動態擴展,當擴展棧容量無法申請到足夠的內存時,將拋出OutOfMemoryError異常。

方法區和運行時常量池溢出

String::intern()是一個本地方法,它的作用是如果字符串常量池中已經包含一個等于此String對象的字符串,則返回代表池中這個字符串的String對象的引用;否則,會將此String對象包含的字符串添加到常量池中,并且返回此String對象的引用。

str3直接在字符串常量池中創建字符串,str4 new在堆里

true true false false

原因:append之后可能為之前已經有的內存地址,ja和va拼接起來后的java之前在常量池中已經有了true true false false

原因:append之后可能為之前已經有的內存地址,ja和va拼接起來后的java之前在常量池中已經有了

斷點查看字符串在常量池中的地址

?本機內存直接溢出(實際中很少出現、了解即可)

直接內存(Direct Memory)的容量大小可通過-XX:MaxDirectMemorySize參數來指定,如果不去指定,則默認與Java堆最大值(由-Xmx指定)一致

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/35736.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/35736.shtml
英文地址,請注明出處:http://en.pswp.cn/news/35736.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ArcGIS入門操作手冊

一.ArcGIS安裝過程 參考本人博客:保姆級Arcgis安裝圖文安裝教程_追憶苔上雪的博客-CSDN博客 二.ArcGIS植被指數計算 (1)使用工具:柵格計算器 打開軟件,右側搜索柵格計算器打開,要是搜索欄不小心叉掉找不到了,可以通…

docker-desktop數據目錄遷移

1.退出docker-desktop后執行 wsl --list -v 如下 NAME STATE VERSION * docker-desktop Stopped 2docker-desktop-data Stopped 22.執行以下命令進行數據導出:(需要等待命令執行完成&#xff09…

SpringCache的介紹和入門案例

文章目錄 概述常用注解入門案例 概述 Spring Cache是Spring框架提供的一個緩存抽象層,用于在應用程序中實現緩存的功能。它通過在方法執行前檢查緩存中是否已經存在所需數據,如果存在則直接返回緩存中的數據,如果不存在則執行方法體&#xf…

定義行業新標準?谷歌:折疊屏手機可承受20萬次折疊

根據Patreon賬戶上的消息,Android專家Mishaal Rahman透露,谷歌計劃推出新的硬件質量標準,以滿足可折疊手機市場的需求。Android原始設備制造商(OEM)將需要完成谷歌提供的問卷調查,并提交樣品設備進行嚴格審…

MySQL慢查詢日志常用參數配置

慢查詢日志 slow log:指query time減去lock time的時間,超過設置的閾值的查詢SQL。 常用配置 #通用配置需配置在mysqld標簽先,版本獨有配置在mysqld-version標簽下 [mysqld] #是否開啟慢日志,Type:Boolean Default Value:OFF slow_log0/1…

基于 JMeter API 開發性能測試平臺

目錄 背景: 常用的 JMeter 類和功能的解釋: JMeter 編寫性能測試腳本的大致流程示意圖: 源碼實現方式: (1) 環境初始化 (2) 環境初始化 (3) 創建測試計劃 (4) 創建 ThreadGroup (5) 創建循環控制器 (6) 創建 Sampler (…

【編碼魔法師系列_六大原則5】迪米特原則(Law of Demeter Principle)

學會設計模式,你就可以像擁有魔法一樣,在開發過程中解決一些復雜的問題。設計模式是由經驗豐富的開發者們(GoF)凝聚出來的最佳實踐,可以提高代碼的可讀性、可維護性和可重用性,從而讓我們的開發效率更高。通…

每日一題——旋轉數組的最小數字(II)

旋轉數組的最小數字——II 題目鏈接 注:此題是昨天旋轉數組的最小數字——I的拓展延伸,昨天題目數組的條件是不會存在重復元素,而本題數組的元素可以重復,因此建議先做前面一題,進行思考,這樣求解這一題的…

【單片機畢業設計3-基于stm32c8t6的智能家居系統】

【單片機畢業設計3-基于stm32c8t6的智能家居系統】 前言一、功能介紹二、硬件部分三、軟件部分總結 前言 🔥這里是小殷學長,單片機畢業設計篇3 基于stm32的智能家居控制系統 🧿創作不易,拒絕白嫖(有需可點擊最后鏈接&a…

Python自動化測試框架:Pytest和Unittest的區別

pytest和unittest是Python中常用的兩種測試框架,它們都可以用來編寫和執行測試用例,但兩者在很多方面都有所不同。本文將從不同的角度來論述這些區別,以幫助大家更好地理解pytest和unittest。 1. 原理 pytest是基于Python的assert語句和Pytho…

consul安裝啟動流程

普通軟件包安裝 首先cd /opt ,將安裝包放到該目錄下 下載consul安裝包 進入consul官網找到自己開發平臺對應的安裝包下載 https://www.consul.io/downloads.html 或使用命令 wget https://releases.hashicorp.com/consul/1.6.2/consul_1.6.2_linux_amd64.zip (如果…

vue3 table動態合并,自定義參數合并單元格

<template><div><el-table :data"tableData" :span-method"objectSpanMethod" border:header-cell-style"{ textAlign: center}"><el-table-column prop"area" label"區域" align"center"&g…

HW樣本《關于“XXXX”微信視頻號發布短視頻的信息說明.exe》的逆向分析

一、概述 樣本運行后會釋放《關于“XXXX”微信視頻號發布短視頻的信息說明.doc》并打開&#xff1b;同時釋放ncloud.exe惡意文件并啟動&#xff1b;調用cmd命令刪除樣本母體&#xff1b;其中ncloud.exe會從互聯網下載類似字母表的數據解密出CS木馬&#xff0c;在內存加載并運行…

《玩轉Python數據分析專欄》大綱

歡迎來到《玩轉Python數據分析分類專欄》&#xff01;在這個專欄中&#xff0c;我們將帶您深入探索數據分析的世界&#xff0c;以Python為工具&#xff0c;解析各個領域的實際應用場景。通過100篇教程&#xff0c;我們將逐步引領您從入門級到高級&#xff0c;從基礎知識到實戰技…

前端安全:探秘安全 HTTP 頭的設置

在當今數字化時代&#xff0c;前端安全至關重要。除了應對常見的攻擊方式外&#xff0c;通過設置安全 HTTP 頭&#xff0c;我們可以加強網站的安全性&#xff0c;減少潛在的威脅。本文將為您詳細解釋什么是安全 HTTP 頭&#xff0c;以及如何通過設置它們來保護您的前端應用。 1…

真就逮住23屆了使勁薅唄,24屆笑了

作者&#xff1a;阿秀 InterviewGuide大廠面試真題網站&#xff1a;https://top.interviewguide.cn 小伙伴們大家好&#xff0c;我是阿秀。 最近在朋友圈看到不少動態說"24屆明顯好轉"的消息&#xff0c;也收到不少私信問是不是24屆的相比于23屆好多了&#xff0c;更…

深度學習階段性回顧

本文針對過去兩周的深度學習理論做階段性回顧&#xff0c;學習資料來自吳恩達老師的2021版deeplearning.ai課程&#xff0c;內容涵蓋深度神經網絡改善一直到ML策略的章節。視頻鏈接如下&#xff1a;吳恩達深度學習視頻鏈接 &#xff08;注&#xff1a;本文出自深度學習初學者&a…

Vue中如何更好地封裝組件?

子組件接受父組件傳遞的事件 1.子組件使用事件名"$emit(父組件中傳遞的事件名,想給父組件傳遞的參數(可選))" click"$emit(click)" 2.子組件使用 v-on"$listeners" 父組件&#xff1a; <template><div id"app"><myCo…

MyBatis的XML映射文件

Mybatis的開發有兩種方式&#xff1a; 注解 XML配置文件 通過XML配置文件的形式來配置SQL語句&#xff0c;這份兒XML配置文件在MyBatis當中也稱為XML映射文件。 導學&#xff1a;在MyBatis當中如何來定義一份兒XML映射文件&#xff1f; 在MyBatis當中&#xff0c;定義XML…

使用 HTML、CSS 和 JavaScript 創建多步驟表單

使用 HTML、CSS 和 JavaScript 創建多步驟表單 為了處理又長又復雜的表單&#xff0c;我們需要將它們分成多個步驟。通過一次只在屏幕上顯示一些輸入&#xff0c;表單會感覺更容易理解&#xff0c;并防止用戶感到被大量的表單字段淹沒。 在本文中&#xff0c;我將逐步指導如何…