Java # JVM内存管理

一、运行时数据区域

程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区、运行时常量池、直接内存

二、HotSpot虚拟机对象

  1. 对象创建:
    1. 引用检查
    2. 类加载检查
    3. 分配内存空间:指针碰撞、空闲列表
    4. 分配空间初始化
    5. 对象信息设置(对象头内)
  2. 对象内存布局:
    1. 对象头
    2. 实例数据
    3. 对象填充
  3. 对象访问定位:
    1. 句柄访问
    2. 直接指针访问
  4. OutOfMemoryError(OOM)
    1. 程序计数器不存在此问题
    2. Java堆溢出:
      1. 内存泄漏
      2. 内存溢出
    3. 虚拟机栈本地方法栈(HotSpot不区分)溢出
      1. StackOverFlowError:线程请求栈深度 > 虚拟机允许最大深度
      2. OutOfMemoryError:虚拟机栈内存允许动态拓展
      3. 可以通过减小最大堆和减小栈容量换取更多的线程
    4. 方法区和运行时常量区溢出
    5. 本机直接内存溢出:HeapDump无明显异常,可能原因:NIO间接使用DirectMemory
  5. 垃圾收集器与内存分配策略:对象回收
    1. 引用计数算法
    2. 可达性分析算法
    3. 引用:
      1. 强引用:Object object = new Object()存在引用赋值,永远不会回收被引用对象
      2. 软引用:还有引用但是非必须的对象,发生内存溢出异常前被二次回收,回收还不够才会报内存溢出异常
      3. 弱引用:非必须对象,生存到下一次垃圾回收为止
      4. 虚引用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/37200.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

​可视化绘图技巧100篇进阶篇(五)-阶梯线图(Step Chart)

目录 前言 图表类型特征 适用场景 图例 绘图工具及代码实现 ECharts SMARTBI

安卓中常见的字节码指令介绍

问题背景 安卓开发过程中,经常要通过看一些java代码对应的字节码,来了解java代码编译后的运行机制,本文将通过一个简单的demo介绍一些基本的字节码指令。 问题分析 比如以下代码: public class test {public static void main…

Java课题笔记~ JSP编程

4.1 JSP基本语法 JSP (全称Java Server Pages) 是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的Web网页的技术标准。 JSPHTMLJava JSP的本质是Servlet 访问JSP的时候&#x…

【设计模式】原型模式

原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式之一。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接…

javaScript:数组的认识与使用以及相关案例

目录 一.前言 二.数组 1.认识 2.数组的声明 1.let arr [1,2,3,4] 2.结合构造函数,创建数组 注意: 3.数组长度的设置和获取 注意 4.删除数组元素 5.清空数组 三.获取数组元素 获取数组元素的几种方法 1.使用方括号 [] 访问元素&#xff1…

Keepalived+Lvs高可用高性能负载配置

环境准备 IP配置VIPnode1192.168.134.170LVSKeepalived192.168.134.100node3192.168.134.172LVSKeepalived192.168.134.100node2192.168.134.171做web服务器使用node4192.168.134.173做web服务器使用 1、准备node1与node3环境(安装LVS与Keepalived)>…

基于微服务+Java+Spring Cloud +Vue+UniApp +MySql实现的智慧工地云平台源码

基于微服务JavaSpring Cloud VueUniApp MySql开发的智慧工地云平台源码 智慧工地概念: 智慧工地就是互联网建筑工地,是将互联网的理念和技术引入建筑工地,然后以物联网、移动互联网技术为基础,充分应用BIM、大数据、人工智能、移…

滚动条样式更改

::-webkit-scrollbar 滚动条整体部分,可以设置宽度啥的 ::-webkit-scrollbar-button 滚动条两端的按钮 ::-webkit-scrollbar-track 外层轨道 ::-webkit-scrollbar-track-piece 内层滚动槽 ::-webkit-scrollbar-thumb 滚动的滑块 ::-webkit-scrollbar…

Android布局【RelativeLayout】

文章目录 介绍常见属性根据父容器定位根据兄弟组件定位 通用属性margin 设置组件与父容器的边距padding 设置组件内部元素的边距 项目结构主要代码 介绍 RelativeLayout是一个相对布局,如果不指定对齐位置,都是默认相对于父容器的左上角的开始布局 常见…

TypeScript教程(二)基础语法与基础类型

一、基础语法 TypeScript由以下几个部分组成 1.模块 2.函数 3.变量 4.语句和表达式 5.注释 示例: Runoob.ts 文件代码: const hello : string "Hello World!" console.log(hello) 以上代码首先通过 tsc 命令编译: tsc …

MQTT宝典

文章目录 1.介绍2.发布和订阅3.MQTT 数据包结构4.Demo5.EMQX 1.介绍 什么是MQTT协议 MQTT(消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协…

php、 go 语言怎么结合构建高性能高并发商城。

一、php、 go 语言怎么结合构建高性能高并发商城。 将PHP和Go语言结合起来构建高性能高并发的商城系统可以通过多种方法实现,以利用两种语言的优势。下面是一些可能的方法和策略: 1. **微服务架构:** 使用微服务架构,将系统拆分…

安卓快速开发

1.环境搭建 Android Studio下载网页:https://developer.android.google.cn/studio/index.html 第一次新建工程需要等待很长时间,新建一个Empty Views Activity 项目,右上角选择要运行的机器,运行就安装上去了(打开USB调试)。 2…

【Linux】UDP协议——传输层

目录 传输层 再谈端口号 端口号范围划分 认识知名端口号 两个问题 netstat与iostat pidof UDP协议 UDP协议格式 UDP协议的特点 面向数据报 UDP的缓冲区 UDP使用注意事项 基于UDP的应用层协议 传输层 在学习HTTP等应用层协议时,为了便于理解&#xff…

【实操】2023年npm组件库的创建发布流程

2022年的实践为基础,2023年我再建一个组件库【ZUI】。步骤回顾: 2022年的npm组件包的发布删除教程_npm i ant-design/pro-components 怎么删除_啥咕啦呛的博客-CSDN博客 1.在gitee上创建一个项目,相信你是会的 2.创建初始化项目,看吧&#…

泛型类接口方法学习

一、泛型 1 概念 泛型(Generics),广泛的类型。最大用途是给集合容器添加标签,让开发人员知道容器里面放到是什么类型,并且自动对放入集合的元素进行类型检查。 类比实参和形参,我们在对方法中的变量操作时,并没有指…

深入理解高并发编程 - 深度解析 ThreadPoolExecutor 类

ThreadPoolExecutor 是 Java 标准库中用于创建和管理线程池的核心类之一。它实现了 ExecutorService 接口,提供了丰富的线程池管理功能。下面将通过源码解析来深入了解 ThreadPoolExecutor 类的工作原理和各个重要部分。 可以在 Java 源代码中找到 ThreadPoolExecu…

【新品发布】ChatWork企业知识库系统源码

系统简介 基于前后端分离架构以及Vue3、uni-app、ThinkPHP6.x、PostgreSQL、pgvector技术栈开发,包含PC端、H5端。 ChatWork支持问答式和文档式知识库,能够导入txt、doc、docx、pdf、md等多种格式文档。 导入数据完成向量化训练后,用户提问…

两个pdf合并成一个pdf怎么合并?这几个方法值得推荐

两个pdf合并成一个pdf怎么合并?pdf文件的合并是一个很常见的需求,特别是在处理工作文件或学习资料时。为了更好的帮助你了解如何将两个pdf文件合并成一个,下面就给大家详细介绍几种合并方法。 方法一:使用迅捷PDF转换器 这是一款…

小红书如何打造爆款引流吸粉?11个秘诀助你秒变达人!

在这个充满信息和内容的时代,小红书以其独特的社交平台特性和个性化内容吸引了众多用户。今天,我们就来揭秘小红书关注战略,了解如何在这个平台上打造独特的内容体验,与用户建立更亲近的连接。#小红书# 1、定位清晰,找…