jvm學習第1day jvm簡介,棧溢出、堆溢出

jvm學習第1day jvm簡介,棧溢出、堆溢出

  • jvm簡介
  • 棧線程安全
  • 棧溢出
  • 線程運行診斷
      • 堆溢出
    • 方法區
      • 方法區內存溢出
      • 常量池和運行時常量池

jvm簡介

jvm 是編譯后的字節碼文件運行的環境, 因此各個平臺有了jvm可以運行java.class文件,這是Java跨平臺的原因。
jre jvm + 基礎類庫(日期類,集合類等) java run environment
jdk jre + 編譯工具 (Java Development Kit Java開發工具包)
javase jdk + Idea 有了java開發工具包jdk ,再需要一個編寫代碼的工具IDEA ,就可以進行java編碼
javaee javase + 應用服務器(例如Tomcat)

棧線程安全

程序計數器:很多線程,每個線程都要記錄下一個指令的地址,因此是私有的。
棧 :一個方法調用就是一個線程的開始,一個線程用的內存空間就是棧,這個方法可以嵌套方法。 方法中包含:參數,返回值,變量,都是需要占用內存的。
活動棧幀:正在執行的棧幀。(方法)
如果一個棧是1m,整個內存是500m,那么最多500個線程,如果一個棧2m,最多250個線程,并不是說棧越大越好,棧大了,只是可以遞歸的次數多了。
共享的需要考慮線程安全,私有的不需要考慮。

棧溢出

1.棧幀過多導致棧內存溢出 例如遞歸終止出現錯誤設置棧內存大小
2.棧幀過大導致棧內存溢出。

線程運行診斷

在好這里插入圖片述
發生死鎖了:a要b b要a 但是a,b都已經被鎖定了。

程序計數器 、虛擬機棧(只要不離開棧就是私有的)、本地方法棧;堆、方法區共享。

堆內存中的對象不被調用就會垃圾回收

堆溢出

在這里插入圖片描述
java堆空間不足導致堆溢出。

方法區

在這里插入圖片描述

方法區內存溢出

方法區是概念 實現有兩個:元空間 永久代在這里插入圖片描述

在這里插入圖片描述

常量池和運行時常量池

指令 去常量區中找的什么類下的方法等功能。
在這里插入圖片描述

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

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

相關文章

關于神經網絡中的激活函數

這篇博客主要介紹一下神經網絡中的激活函數以及為什么要存在激活函數。 首先,我先做一個簡單的類比:激活函數的作用就像給神經網絡里的 “數字信號” 加了一個 “智能閥門”,讓機器能學會像人類一樣思考復雜問題。 沒有激活i函數的神經網絡…

免費無限使用GPT Plus、Claude Pro、Grok Super、Deepseek滿血版

滲透智能-ShirtAI,可以免費無限使用GPT Plus、Claude Pro、Grok Super、Deepseek滿血版、除此之外還能免費使用AI搜索、Gemini AI、AI照片修復、AI橡皮擦、AI去背景、AI智能摳圖、AI證件照、OCR識別、在線思維導圖、在線繪圖工具、PDF工具箱、PDF翻譯。 傳送入口&a…

阿里云 Linux 搭建郵件系統全流程及常見問題解決

阿里云 Linux 搭建 [conkl.com]郵件系統全流程及常見問題解決 目錄 阿里云 Linux 搭建 [conkl.com]郵件系統全流程及常見問題解決一、前期準備(關鍵配置需重點檢查)1.1 服務器與域名準備1.2 系統初始化(必做操作) 二、核心組件安裝…

python版若依框架開發:項目結構解析

python版若依框架開發 從0起步,揚帆起航。 python版若依部署代碼生成指南,迅速落地CURD!項目結構解析 文章目錄 python版若依框架開發前端后端 前端 后端

RabbitMQ 的異步化、解耦和流量削峰三大核心機制

RabbitMQ 的異步化、解耦和流量削峰三大核心機制 RabbitMQ 是解決數據庫高并發問題的利器,通過異步化、解耦和流量削峰三大核心機制保護數據庫。下面從設計思想到具體實現,深入剖析 RabbitMQ 應對高并發的完整方案: 一、數據庫高并發核心痛點…

前端沒有“秦始皇“,但可以做跨端的王[特殊字符]

前端各領域的 “百家爭鳴” 框架之爭:有 React、Vue、Angular 等多種框架。它們各有優缺點,開發者之間還存在鄙視鏈,比如 Vue 嫌 React 難用,React 嫌 Vue 不夠靈活。樣式處理: CSS 預處理器:像 Sass、Les…

Spring Boot-面試題(52)

摘要: 1、通俗易懂,適合小白 2、僅做面試復習用,部分來源網絡,博文免費,知識無價,侵權請聯系! 1. 什么是 Spring Boot 框架? Spring Boot 是基于 Spring 框架的快速開發框架&#…

JVM——JVM中的字節碼:解碼Java跨平臺的核心引擎

引入 在Java的技術版圖中,字節碼(Bytecode)是連接源代碼與機器世界的黃金橋梁。當開發者寫下第一行public class HelloWorld時,編譯器便開始了一場精密的翻譯工程——將人類可讀的Java代碼轉化為JVM能夠理解的字節碼指令。這些由…

Java中的JSONObject詳解:從基礎到高級應用

Java中的JSONObject詳解:從基礎到高級應用 在當今前后端分離的架構中,JSONObject已成為Java開發者處理JSON數據的瑞士軍刀。本文將深入解析JSONObject的核心機制與實戰技巧。 一、JSONObject的本質與實現庫 1.1 核心定位 JSONObject是Java中表示JSON對…

在 SpringBoot+Tomcat 環境中 線程安全問題的根本原因以及哪些變量會存在線程安全的問題。

文章目錄 前言Tomcat SpringBoot單例加載結果分析多例加載:結果分析: 哪些變量存在線程安全的問題?線程不安全線程安全 總結 前言 本文帶你去深入理解為什么在web環境中(Tomcat SpringBoot)會存在多線程的問題以及哪些變量會存在線程安全的…

npm install 相關命令

npm install 相關命令 基本安裝命令 # 安裝 package.json 中列出的所有依賴 npm install npm i # 簡寫形式# 安裝特定包 npm install <package-name># 安裝特定版本 npm install <package-name><version>依賴類型選項 # 安裝為生產依賴&#xff08;默認&…

貪心算法應用:最小反饋頂點集問題詳解

貪心算法應用&#xff1a;最小反饋頂點集問題詳解 1. 問題定義與背景 1.1 反饋頂點集定義 反饋頂點集(Feedback Vertex Set, FVS)是指在一個有向圖中&#xff0c;刪除該集合中的所有頂點后&#xff0c;圖中將不再存在任何有向環。換句話說&#xff0c;反饋頂點集是破壞圖中所…

BiliNote部署實踐

? 開源地址&#xff1a; https://github.com/JefferyHcool/BiliNote &#x1f680; 快速開始 1. 克隆倉庫 git clone https://github.com/JefferyHcool/BiliNote.git cd BiliNote mv .env.example .env2. 啟動后端&#xff08;FastAPI&#xff09; cd backend pip insta…

用go從零構建寫一個RPC(4)--gonet網絡框架重構+聚集發包

在追求高性能的分布式系統中&#xff0c;RPC 框架的底層網絡能力和數據傳輸效率起著決定性作用。經過幾輪迭代優化&#xff0c;我完成了第四版本的 RPC 框架。相比以往版本&#xff0c;這一版本的最大亮點在于 重寫了底層網絡框架 和 實現了發送端的數據聚集機制&#xff0c;這…

MySQL 高可用基石 - 復制監控與常見 HA 方案

MySQL 高可用基石 - 復制監控與常見 HA 方案 MySQL 復制核心原理 MySQL 復制允許數據從一個 MySQL 數據庫服務器(稱為主庫 - Primary,舊稱 Master)復制到一個或多個其他的 MySQL 服務器(稱為從庫 - Replica,舊稱 Slave)。 復制的主要目的: 高可用性 (High Availability…

微信小程序(uniapp)自定義 TabBar

微信小程序&#xff08;uniapp&#xff09;自定義 TabBar 實現指南 在微信小程序開發中&#xff0c;TabBar 是底部導航欄的重要組件&#xff0c;但官方提供的 TabBar 樣式和功能較為基礎&#xff0c;無法滿足所有項目的需求。本文將詳細介紹如何在 uniapp 中實現自定義 TabBar…

MLP實戰二:MLP 實現圖像數字多分類

任務 實戰&#xff08;二&#xff09;&#xff1a;MLP 實現圖像多分類 基于 mnist 數據集&#xff0c;建立 mlp 模型&#xff0c;實現 0-9 數字的十分類 task: 1、實現 mnist 數據載入&#xff0c;可視化圖形數字&#xff1b; 2、完成數據預處理&#xff1a;圖像數據維度轉換與…

BUUCTF[HCTF 2018]WarmUp 1題解

BUUCTF[HCTF 2018]WarmUp 1題解 分析解題過程代碼審計主體函數CHECK函數&#xff1a; 構造payload 總結 分析 啟動靶機&#xff0c;進入網址&#xff0c;是一張滑稽的表情包&#xff1a; 程序化F12查看源碼&#xff1a; 發現注釋內容&#xff0c;訪問 url:/source.php得到…

大陸4D毫米波雷達ARS548調試

本文介紹了大陸ARS548毫米波雷達的調試與測試流程&#xff0c;主要包括以下內容&#xff1a; 設備參數&#xff1a;最大檢測距離301m&#xff08;可調93-1514m&#xff09;&#xff0c;支持gPTP時間同步。 接線調試&#xff1a; Windows需使用USB-RJ45轉換器 Linux可直接連接網…

TDengine 的 AI 應用實戰——運維異常檢測

作者&#xff1a; derekchen Demo數據集準備 我們使用公開的 NAB數據集 里亞馬遜 AWS 東海岸數據中心一次 API 網關故障中&#xff0c;某個服務器上的 CPU 使用率數據。數據的頻率為 5min&#xff0c;單位為占用率。由于 API 網關的故障&#xff0c;會導致服務器上的相關應用…