1、Java虚拟机学习-类的生命周期-加载阶段-以及怎样查看方法区中的对象和堆中对象的关联以及静态变量存在什么地方

类的生命周期
在这里插入图片描述
其中连接又可以分为3个小阶段

一、加载阶段

1、加载阶段第一步是类加载器根据类的全限定名通过不同的渠道以二进制流的方式获取字节码信息。

渠道:
在这里插入图片描述

2、类加载器在加载完类之后,Java虚拟机会将字节码中的信息保存在内存的方法区中。

方法区是虚拟的概念,在不同版本的jdk中 用到不同的内存空间,例如永久代和现在的元空间

方法区中对象创建的对象是用C++编写创建的,一般是由JVM去调用访问。

3、类加载器在加载完类之后,Java虚拟机会将字节码中的信息保存在方法区中,生成一个instanceKlass对象,保存类的所有信息,里面还包含特定的功能比如多台的信息。

在这里插入图片描述

4、在堆中创建一份对象数据

在这里插入图片描述

在这里插入图片描述

两个内存区域的对象彼此有关联:

在JDK8之后,静态字段会在堆区进行创建,jdk8之前是创建在方法区中的。

对于我们开发者来讲,只需要访问堆中的Class对象而不需要访问方法区中的所有信息。
这样Java虚拟机就能很好地控制开发者访问数据的范围。
在这里插入图片描述

类的生命周期-加载阶段-查看内存中的对象
在这里插入图片描述

二、怎样查看内存

jps命令可以查看Java进程

在这里插入图片描述

通过java进程号查看

启用java jdk自带工具

启动命令: java -cp sa-jdi.jar sun.jvm.hotspot.HSDB

在这里插入图片描述

根据jps命令可以查看当前java 进程号,输入进程号,进入当前进程。
在这里插入图片描述

进入当前进程的对象查看器
在这里插入图片描述
进程下当前创建的对象大小、数量、对象名称
在这里插入图片描述
双击对象进入对象内部-可以看见该对象的地址、对象名字、和当前类的信息

在这里插入图片描述
点击inspect查看

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS NEXT应用开发—投票动效实现案例

介绍 本示例介绍使用绘制组件中的Polygon组件配合使用显式动画以及borderRadius实现投票pk组件。 效果预览图 使用说明 加载完成后会有一个胶囊块被切割成两个等大的图形来作为投票的两个选项,中间由PK两字分隔开点击左边选项,两个图形会随着选择人数…

Http 超文本传输协议基本概念学习摘录

目录 HTTP协议 超文本传输协议 HyperText超文本 HTML超文本标记语言 HTTP协议原理 请求发送 服务器处理 响应发送 连接关闭或保持 HTTP协议版本 HTTP/0.9 HTTP/1.0 HTTP/1.1 HTTP/2 HTTP/3 HTTP请求方法 GET POST PUT DELETE HEAD OPTIONS HTTP请求头字…

MQTT学习从零到实战:二

本次基于MQTT实现的服务器之一:EMQX 协议版本:5.0 文档路径:快速开始 | EMQX 5.0 文档 MQTT协议服务器搭建 本次使用的服务器是EMQX。 下载地址:立即开始 | EMQX 从中我们也可以看出,企业版支持数据持久化&#xf…

springboot+template模板语法+SQL如何从零开始创建并运行一个实例

目录 一、创建springboot项目 二、启动程序测试一下,右上角点击运行: 三、代码编写 1、先在entity里写一个实体类,User: 2、写一个mapper接口,写四个接口,增删改查。(我这里后面就以获取所…

蓝桥杯每日一题——棋盘

问题描述 小蓝拥有 n xn 大小的棋盘,一开始棋盘上全都是白子。小蓝进行了 m 次操作,每次操作会将棋盘上某个范围内的所有棋子的颜色取反(也就是白色棋子变为黑色,黑色棋子变为白色)请输出所有操作做完后棋盘上每个棋子的颜色。输入格式 输入的…

3.14_理解专业术语_3.18

分布式电源 风能、太阳能、生物质能等新能源的应用,有很大部分是分散式的,且容量较小。这些分散布置在电力负荷附近的、容量在数千瓦至数十兆瓦之间的、为环境兼容的、节能的发电装置,如燃气轮机、内燃机、小型光伏发电站、燃料电池、风力发电…

Docker知识--01

虚拟化 # 什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打…

【计算机网络】IP 协议

网络层IP协议 一、认识 IP 地址二、IP 协议报头格式三、网段划分1. 初识子网划分2. 理解子网划分3. 子网掩码4. 特殊的 IP 地址5. IP 地址的数量限制6. 私有 IP 地址和公网 IP 地址7. 理解全球网络(1)理解公网(2)理解私网&#xf…

C语言---指针的两个运算符:点和箭头

目录 点(.)运算符箭头(->)运算符需要注意实际例子 C语言中的指针是一种特殊的变量,它存储了一个内存地址。点(.)和箭头(->)是用于访问结构体和联合体成员的运算符。…

[LeetBook]【学习日记】排序算法——归并排序

主要思想 归并排序是一种分治算法,其排序过程包括分和治分是指将要排序的序列一分为二、二分为四,直到单个序列中只有一个数治是指在分完后,将每两个元素重新组合,四合为二、二合为一,最终完成排序 图片作者&#xf…

SkiaSharp使用SKCanvas.DrawText绘制2D文本时部分字符渲染位置异常。

Skia是一个开源的 2D 图形库,支持多种平台和语言,可以用于绘制各种图形和效果,SkiaSharp是其.Net版本。 在绘制文本时,一般做法是: private void SkContainer_PaintSurface(object? sender, SkiaSharp.Views.Deskto…

Linux系统安装宝塔面板结合内网穿透实现公网登录本地面板——“cpolar内网穿透”

文章目录 一、使用官网一键安装命令安装宝塔二、简单配置宝塔,内网穿透三、使用固定公网地址访问宝塔 宝塔面板作为建站运维工具,适合新手,简单好用。当我们在家里/公司搭建了宝塔,没有公网IP,但是想要在外也可以访问内…

Midjourney 和 Dall-E 的优劣势比较

Midjourney 和 Dall-E 的优劣势比较 Midjourney 和 Dall-E 都是强大的 AI 绘画工具,可以根据文本描述生成图像。 它们都使用深度学习模型来理解文本并将其转换为图像。 但是,它们在功能、可用性和成本方面存在一些差异。 Midjourney 优势: 可以生成更…

攻防世界新手模式例题(Web)

PHP2 首先我们查看页面,查看前端代码 发现均没有什么有效信息,由题目可知,此问题与php相关,于是我们可以看一下他的index.php文件 查看时用?index.phps 补充知识:phps文件就是php的源代码文件,通常用于…

算法之位运算

常见的位运算操作: 首先先熟悉一下常见的位运算操作: 1. 基础位运算 左移<<, 右移>>, 按位与&, 按位或|, 按位异或^, 按位取反~ 注意: 异或其实是一种无进位相加. 2. 给定一个 n, 确定它的二进制表示中第x位是 0 还是 1 n & (1<<x) 或者 (n>…

消费者组大观:5种状态,1场分布式奇迹

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 消费者组大观&#xff1a;5种状态&#xff0c;1场分布式奇迹 前言EmptyDead状态处理 Dead 状态的策略&#xff1a;防范和恢复&#xff1a; PreparingRebalance处理 "PreparingRebalance" 状…

【Leetcode-102.二叉树的层序遍历】

题目详情&#xff1a; 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]]示例…

Linux软件管理(1)

软件管理 下载 wget Linux wget是一个下载文件的工具&#xff0c;它用在命令行下。 wget工具体积小但功能完善&#xff0c;它支持断点下载功能&#xff0c;同时支持FTP和HTTP下载方式&#xff0c;支持代理服务器和设置起来方便简单。 1.语法 wget [选项]……[URL]…… 2、…

React - 实现菜单栏滚动

简介 本文将会基于react实现滚动菜单栏功能。 技术实现 实现效果 点击菜单&#xff0c;内容区域会自动滚动到对应卡片。内容区域滑动&#xff0c;指定菜单栏会被选中。 ScrollMenu.js import {useRef, useState} from "react"; import ./ScrollMenu.css;export co…

【MATLAB源码-第165期】基于matlab的科莫多巨蜥算法(KMA)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 科莫多巨蜥算法&#xff08;Komodo Mlipir Algorithm&#xff0c;简称KMA&#xff09;是一种受到印尼科莫多岛上独特生物——科莫多巨蜥启发的创新算法。尽管这个算法的名称听起来很有趣&#xff0c;但实际上它并不是一个公认…