当前位置: 首页 > news >正文

JVM内存模型笔记

1. 运行时数据区概述
  • JVM内存布局规定了Java运行过程中的内存申请、分配和管理策略。
  • 运行时数据区分为线程私有和线程共享两种。
2. 线程私有内存
  • 程序计数器:存储当前线程执行的字节码指令地址。
  • 虚拟机栈:保存方法调用的局部变量和部分结果。
  • 本地方法区:为线程执行本地方法提供空间。
3. 线程共享内存
  • :存储对象实例和数组。
  • 方法区:存储类信息、常量、静态变量等。
  • 堆外内存:JDK 7中的永久代或JDK 8的元空间和代码缓存。
4. 程序计数器
  • 作用:指示下一条执行的字节码指令。
  • 特性:线程私有,无内存溢出错误。
5. 虚拟机栈
  • 栈帧:包含局部变量表、操作数栈、动态链接信息等。
  • 局部变量表:存储方法参数和局部变量。
  • 操作数栈:保存计算过程的中间结果。
  • 动态链接:支持运行期的动态链接。
  • 方法返回地址:标识方法退出后的返回位置。
6. 本地方法栈
  • 管理本地方法调用,与虚拟机栈功能相似但用于非Java代码。
7. 堆内存
  • 新生代:新对象创建地,包括Eden区和Survivor区。
  • 老年代:长期存活对象存储地。
  • 元空间:存储类元信息,替代了永久代。
8. 垃圾收集(GC)
  • Minor GC:新生代的垃圾收集。
  • Major GC:老年代的垃圾收集。
  • Full GC:整个堆和方法区的垃圾收集。
9. TLAB(Thread Local Allocation Buffer)
  • 线程私有的内存分配区域,优化内存分配性能。
10. 逃逸分析
  • 优化技术,减少堆分配,可能实现栈上分配、同步省略和标量替换。
11. 方法区
  • 存储类信息、常量池、静态变量等。
  • 与堆分开,称为Non-Heap。
12. 方法区的演进
  • JDK 1.7开始逐步去除永久代,引入元空间。
  • JDK 1.8完全移除永久代,使用本地内存的元空间。
13. 运行时常量池
  • 方法区的一部分,存储编译期和运行期生成的常量。
14. 方法区垃圾回收
  • 回收废弃常量和不再使用的类型。
15. 性能监控与调优
  • 使用工具监控内存使用情况,通过参数调整内存大小和行为。
16. 异常处理
  • 异常处理信息存储在异常表中,用于异常发生时找到处理代码。
17. 动态链接与静态链接
  • 动态链接将符号引用转换为直接引用。
18. 虚方法表
  • 优化动态分派,使用索引表代替查找。

相关文章:

JVM内存模型笔记

1. 运行时数据区概述 JVM内存布局规定了Java运行过程中的内存申请、分配和管理策略。运行时数据区分为线程私有和线程共享两种。 2. 线程私有内存 程序计数器:存储当前线程执行的字节码指令地址。虚拟机栈:保存方法调用的局部变量和部分结果。本地方法…...

每日一练 - eSight 网管远程告警通知方式

01 真题题目 eSight 网管支持的远程告警通知方式包括:(多选) A.邮件 B.语音 C.短信 D.微信 02 真题答案 AC 03 答案解析 eSight 网管系统支持多种远程告警通知方式,包括邮件和短信。 这些通知方式可以帮助网络管理员及时了解网络设备的状态和告警信息&#xff0…...

[matlab] 鲸鱼优化算法优化KNN分类器的特征选择

目录 引言 智能优化算法概述 智能优化算法在KNN特征选择中的应用 应用步骤 UCI数据集 鲸鱼优化算法 一、算法背景与原理 二、算法组成与步骤 三、算法特点与优势 四、应用与挑战 代码实现 鲸鱼优化算法 主程序 打印结果 引言 智能优化算法在优化KNN(…...

vscode ssh-remote 疑似内存泄漏问题

vscode ssh-remote疑似内存泄漏问题 系统信息与版本号 版本:1.88.1(通用) 日期:2024-04-10T17:42:52.765Z Electron: 28.2.8 ElectronBuildId: 27744544 Chromium:120.0.6099.291 Node.js:18.18.2 V8&…...

初识自然语言处理NLP

文章目录 1、简介2、自然语言处理的发展简史3、语言学理论句法学(Syntax)语义学(Semantics)语用学(Pragmatics)形态学(Morphology) 4、统计与机器学习方法n-gram 模型隐马尔可夫模型…...

分布式系统架构-微服务架构

一.什么是分布式系统架构 分布式系统架构是指将一个单一的应用程序或服务拆分成多个独立的部分,这些部分可以在不同的计算机、服务器或者地理位置上运行,并通过网络进行通信和协作。分布式系统的设计旨在提高系统的可靠性、可用性和扩展性,同…...

docker搭建内网穿透服务

docker搭建内网穿透服务 frpfrpsfrpc zerotier构建 moon构建 planet查询客户端配置moon方法 nps frp 参考文章:https://blog.csdn.net/weixin_43909881/article/details/126526059 frps docker pull snowdreamtech/frps docker run --restartalways --network ho…...

html+css+js网页设计 体育 金轮健身7个页面

htmlcssjs网页设计 体育 金轮健身7个页面 网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1&…...

BGP基础简介(一)

AS 是一组运行相同IGP协议的设备组成的网络 AS号: 16bit:64512~65535为私有AS32bit:4200000000~4294967294为私有AS其余都是共有AS,需要向IANA申请 EGP 外部网关协议,bgp的前身,缺点:只发布路由信息,不…...

力扣面试150 反转链表 II 三指针

Problem: 92. 反转链表 II 👨‍🏫 参考题解 特殊情况 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val…...

GPT-4.o mini

https://share.xuzhugpt.cloud/ GPT-4.o mini 目前免费使用 把上面[chatgpt4o-mini-xuzhu]复制到UserToken的文本框中 点击[个人账户] 测试一下哈,看看: GPT-4.o代码有时候还是有严重错误:好奇怎么来的 上面是我写得,下面是GPT写…...

【C++】优先级队列(容器适配器)

欢迎来到我的Blog,点击关注哦💕 前言 string vector list 这种线性结构是最基础的存储结构,C(STL)container很好的帮助我们数据存储的问题。 容器适配器 介绍 容器适配器是C标准模板库(STL)中…...

docker代理

Dockerd 代理 sudo mkdir -p /etc/systemd/system/docker.service.d sudo touch /etc/systemd/system/docker.service.d/proxy.confproxy.conf [Service] Environment"HTTP_PROXYproxy.example.com:8080/" Environment"HTTPS_PROXYproxy.example.com:8080/&qu…...

(四)activit5.23.0修复跟踪高亮显示BUG

一、先看bug 在 (三)springboot2.7.6集成activit5.23.0之流程跟踪高亮显示 末尾就发现高亮显示与预期不一样,比如上面的任务2前面的箭头没有高亮显示。 二、分析原因 具体分析步骤省略了,主要是ProcessInstanceHighlightsResour…...

AsyncTask

AsyncTask简介 AsyncTask 是 Android 提供的一个轻量级的异步任务类,它允许在后台线程中执行耗时操作(如网络请求、数据库操作等),并在操作完成后更新 UI。其设计初衷是为了简化后台任务的处理,特别是在不需要复杂并发…...

嵌入式面试知识点总结 -- FreeRTOS篇

一、堆栈溢出检测 问题: 问题一:FreeRTOS堆栈溢出检测的方法? 解答: 参看:FreeRTOS学习 – FreeRTOSConfig.h介绍 两种堆栈溢出检测方法: 方法1: 开启方法,configCHECK_FOR_STACK_OVERFLOW…...

【深度学习】注意力机制(Transformer)

注意力机制 1.基础概念 1.1 查询、键和值 在人类的注意力方式中,有自主性的与非自主性的注意力提示两种解释方式。所谓自主性注意力提示,就是人本身主动想要关注到的某样东西;非自主性提示则是基于环境中物体的突出性和易见性,…...

【MySQL】将一张表的某一个值赋值到另一张表中

场景 两张表可以通过某个字段关联起来,并且想要将其中一张表的某个值赋值到另一张表的某个字段中 实操 在MySQL中,要将一张表(我们称之为Table_A)的某个字段的值赋给另一张表(Table_B)的对应字段&#x…...

怎样确定局域网里面是否有MAC地址冲突

目录 MAC地址冲突的现象1. 网络连接不稳定2. 数据包丢失3. 网络性能下降4. 无法访问特定设备5. 网络诊断工具的异常结果6. 网络安全问题 确定MAC地址冲突的方法如何解决MAC地址冲突总结 MAC地址冲突 是指在同一局域网(LAN)中,两个或多个设备具…...

springboot 大学生兼职平台系统-计算机毕业设计源码05282

摘 要 在当代大学生活中,兼职工作已经成为了许多学生的重要组成部分。校园兼职现象的普遍性及其对大学生生活的影响不容忽视。然而,现有的校园兼职系统往往存在信息不对称、管理不规范等问题。因此,我们需要深入理解校园兼职现象&#xff0c…...

用Minimalmodbus玩转PLC通信:从环境配置到寄存器读写的完整流程

MinimalModbus实战指南:高效连接西门子PLC的Python自动化方案 工业自动化领域的数据采集常面临设备资源有限、协议兼容性复杂等挑战。作为一款专为嵌入式系统优化的轻量级库,MinimalModbus以其简洁的API和极低的内存占用,成为连接西门子S7系列…...

重构数字桌面:2025年macOS菜单栏管理工具全解析

重构数字桌面:2025年macOS菜单栏管理工具全解析 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice 问题溯源:为什么你的菜单栏变成了数字垃圾场? 当我们每天打开Mac…...

DeepSeek-R1-Distill-Qwen-1.5B实战体验:边缘计算、手机助手的AI新选择

DeepSeek-R1-Distill-Qwen-1.5B实战体验:边缘计算、手机助手的AI新选择 1. 引言:小钢炮模型的崛起 在AI大模型领域,参数规模与计算资源需求一直是制约模型落地的关键瓶颈。当我们还在为动辄数十亿参数的大模型寻找合适算力时,De…...

WarcraftHelper:经典游戏现代重生的兼容性解决方案

WarcraftHelper:经典游戏现代重生的兼容性解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 让魔兽争霸III完美适配Windows 10/11系…...

通义千问1.5-1.8B-Chat-GPTQ-Int4在网络安全领域的应用初探:威胁情报摘要

通义千问1.5-1.8B-Chat-GPTQ-Int4在网络安全领域的应用初探:威胁情报摘要 每天一上班,安全运营中心的分析师小李就要面对成百上千条新涌进来的安全告警、漏洞报告和威胁情报。这些文档动辄几十页,充斥着技术术语和复杂描述,光是快…...

在WSL中一键部署Phi-4-mini-reasoning:Windows开发者的Linux模型推理环境搭建

在WSL中一键部署Phi-4-mini-reasoning:Windows开发者的Linux模型推理环境搭建 1. 为什么选择WSL部署Phi-4-mini-reasoning 对于习惯Windows环境的开发者来说,直接在本地运行Linux环境下的AI模型往往是个挑战。Windows Subsystem for Linux (WSL) 提供了…...

PCIe新手必看:3层体系结构详解(附实战避坑指南)

PCIe三层体系结构深度解析:从原理到实战避坑指南 刚接触PCIe总线的工程师们,常常会被其复杂的协议栈和晦涩的专业术语所困扰。作为现代计算机系统中至关重要的高速串行总线标准,PCIe凭借其分层架构设计,在保证兼容性的同时实现了性…...

系统辨识避坑指南:为什么你的脉冲响应总不准?从相关分析法到参数优化

系统辨识避坑指南:为什么你的脉冲响应总不准?从相关分析法到参数优化 系统辨识是控制工程中的一项基础技术,而脉冲响应作为系统动态特性的直接反映,其准确性直接影响后续控制器设计。但在实际工程中,许多开发者常遇到脉…...

线性代数实战:特征值与二次型的核心应用解析

1. 特征值与特征向量的实战密码 第一次接触特征值和特征向量时,我也觉得这不过是数学课本里的抽象概念。直到在图像压缩项目中亲眼看到,用前20%的特征向量就能还原90%的图像信息,才真正理解它的威力。特征值分解就像给矩阵做X光,能…...

贾子科学定理(Kucius Science Theorem):重构科学本质的公理化范式

贾子科学定理:重构科学本质的公理化范式摘要:贾子科学定理由贾子邓于2026年4月提出,颠覆传统“可证伪性”标准,以“公理驱动可结构化”重新定义科学本质,构建TMM三层体系与四大定律(真理硬度、名实分离、逻…...