JVM调优学习

news2024/11/16 21:47:24

JVM 介绍

1 什么是 JVM

JVM 是 Java Virtual Machine(Java 虚拟机)的缩写。一台执行 Java 程序的机器。

2 JAVA 语言的执行原理

计算机语言
计算机能够直接执行的指令。这种指令和系统及硬件有关。

计算机高级语言
在遵循语法的前提下,写一个文本文件,之后利用某种方式,把文本转换为计算机指令
执行。

A. 编译型语言(C 语言):文本文件(.c) --> 编译器 --> 可执行文件(.exe) -->
执行机器指令。特点:运行速度快,但不能跨平台

B. 解释型语言(JavaScript):文本文件 --> 解释器 --> 翻译成机器指令并执
行。特点:运行速度较慢,但能跨平台

JAVA 语言:先编译,后解释执行
文本文件(java) --> 编译器 --> class 文件(虚拟指令) --> JAVA 虚拟机(JVM)–> 解释为指令执行。

JDK+JRE+JVM

(1)JDK(IAVA开发环境)=:JRE+工具(编译器、调试器、其他工具)+类库
编译器:将JAVA文件编译为JVM能够看懂的文件(class文件)

(2)JRE(JAVA运行环境):JVM+JAVA解释器
Java解释器:将虚拟指令解释为机器指令执行。

(3)JVM(JAVA虚拟机)

在这里插入图片描述

JAVA字节码文件结构

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

打开class文件查看结构
在这里插入图片描述在这里插入图片描述什么是 u2,u4?
u2:代表数据占两个字节
u4:代表数据占四个字节
在这里插入图片描述JDK 编译对应的版本号

  • JDK7 --> 51
  • JDK8 --> 52
  • JDK9 --> 53
  • JDK15 --> 59

结论

编译的本质就是将 java 源文件转为 JVM 能够认识的 16 进制 class 文件格式

JVM内存区域

请添加图片描述

JVM执行引擎
请添加图片描述

堆内存模型
请添加图片描述

可达性分析
请添加图片描述

类加载过程
请添加图片描述

栈帧
请添加图片描述

栈帧的结构
请添加图片描述

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

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

相关文章

主机加固对服务器防勒索病毒有哪些好处

​ 近年来,计算机以及互联网应用在中国得到普及和发展,已经深入到社会每个角落,政府,经济,军事,社会,文化和人们生活等各方面都越来越依赖于计算机和网络,电子政务,无纸办…

排列树和子集树

排列树 输出数组的全排列 排列问题: 设R {r1,r2,r3,…,rn}是要排列的n个元素,Ri R - {r1} 集合X中元素的全排列记为perm(X)。(ri)perm(x)便是在全排列perm(X)的每一个排列前加上前缀ri得到的排列。 R的全排列: n1时&…

通信电子、嵌入式类面试题刷题计划02

文章目录011——单片机上电后没有运转,首先要检查什么?【校招】012——请描述你对数字IC的认识【实习】013——电脑的组成,细化到显卡之类的【软件/硬件测试】014——黑盒测试和白盒测试的区别? 【软件/硬件测试】015——名词扩写&#xff1…

【C语言开源项目】tinyhttpd ——下载、安装、使用

前言 本系列将带领大家看一些C语言的优秀的开源项目,并逐步深入讲解源码,感兴趣的可以点击关注、收藏,有问题及时在评论区评论~ Tinyhttpd 介绍 Tinyhttpd 是一个非常轻量级的 web server,总共只有500多行代码,非常…

Studio One2023中文版支持视频配乐加歌词音轨功能

Studio One 6中文特别版,现在Studio One 6终于有了视频支持,可以方便做视频配乐了。视频可以作为一个独立的音轨使用,跟乐器和音频音轨一样。你可以像音频素材一样在时间条来回拖拽视频来进行音画同步对齐。如果视频也包括了音频,…

第十章 鲁棒性检查(下)

文章目录10.9 统计静态时序分析(Statistical Static Timing Analysis)10.9.1 工艺和互连走线变化(Process and Interconnect Variations)10.9.2 统计分析(Statistics Analysis)10.10 时序违例路径(Paths Failing Timing)路径找不到(No Path Found)跨时钟域(Clock Crossing Doma…

PMP证书的含金量怎么样?

是高的,在项目管理或者管理领域中,知名度和含金量都是在前列的。PMP证书是由美国PMI项目管理协会发起的,享誉国内外,含金量不高点都不会有超过百万的人获得这个证书了,而不管是对个人、组织甚至是整个项目管理行业&…

python采集往期股票数据进行分析预测

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 准备工作 既然要去赚马内,咱们首先要获取往期的数据来进行分析, 通过往期的规律来对当前进行预测,准不准我不知道,反正比人预测的准, 不准也不要喷我&#xff0…

使用markdown语法+Typora+MPic+七牛云对象存储写作教程

使用markdown语法TyporaMPic七牛云对象存储写作教程 一. markdown语法 Markdown是一种轻量级标记语言,排版语法简洁,让人们更多地关注内容本身而非排版。它使用易读易写的纯文本格式编写文档,可与HTML混编,可导出 HTML、PDF 以及…

UCOS简单介绍

什么是UCOS? UCOSII 的前身是 UCOS,最早出自于 1992 年美国嵌入式系统专家 Jean J.Labrosse 在《嵌入式系统编程》杂志的 5 月和 6 月刊上刊登的文章连载,并把 UCOS 的源码发布在该杂志的BBS 上。 UCOSII 是一个可以基于 ROM 运行的、可裁减…

支付系统设计

支付永远是一个公司的核心领域,因为这是一个有交易属性公司的命脉。那么,支付系统到底长什么样,又是怎么运行交互的呢?抛开带有支付牌照的金融公司的支付架构,下述链路和系统组成基本上符合绝大多数支付场景。其实整体可以看成是…

TCP/IP网络传输模型

先来个总结: TCP/IP的网络传输模型可以分为以下四层:应用层、传输层、IP网络层、网络接口层。 下面我们来简单介绍每一层的作用和工作原理 应用层(Application Layer) 从网络传输模型来说,应用层能说的东西不是太多&a…

Merkle trees vs Verkle trees

什么是默克尔树,它们是如何工作的?使用加密哈希算法的二叉树称为 Merkle 树。哈希树也称为 Merkle 树,用数据块的加密哈希标记叶节点。此外,它还使用其子节点标签的加密散列来标记非叶节点。每个节点都会生成一个摘要(Hash)&#…

SpringBoot笔记(持续更新)

要学习SpringCloud,但是SpringBoot是基础,所以需要开个篇补一下 突发奇想:学习编程,一定要自顶向下学习,刚刚入门了SC,对整个开发部署流程有了一个大概的认知,在听SB的课程发现理解起来很容易…

菲鹏生物冲刺创业板上市:毛利率稳中有降,崔鹏、曹菲夫妇控股

2023年1月6日,菲鹏生物股份有限公司(下称“菲鹏生物”)在深交所更新招股书(注册稿),准备在创业板上市,泰联合证券为其独家保荐人。本次冲刺上市,菲鹏生物计划募资25.056亿元。 其中…

SpringCloud(12)— 分布式事务(Seata)

SpringCloud(12)— 分布式事务(Seata) 一 事务基础 1.事务的ACID原则 2.分布式事务问题 在分布式系统下,一个业务跨越多个服务或数据源,每一个服务都是一个事务。 要保证所有分支事务的最终状态一致&am…

【Qt】为应用程序设置标题栏、状态栏、可执行程序显示 三种状态下的图标

Qt为应用程序添加图标的几种方式 应用程序的图标分为: 程序左上角显示的标题栏的图标: 程序打开后在任务栏显示的状态栏图标: 程序在文件管理器中显示的可执行程序图标: 设置这几种图标的方式有以下几种。 方式1,一…

Maven项目管理

01-Maven概述02-Maven简介03-Maven基本使用04-IDEA配置Mavenhelloworld 版本错误 已解决 https://blog.csdn.net/qq_41428418/article/details/12416917505-依赖管理&依赖范围找不到Any changes??? 感觉无关紧要compile 最大的 默认的scope,表示 dependency …

Linux——文件的读取与搜索

文章目录文件读取cat和tac命令head和tail命令more和less命令wc和du命令文件读取 cat和tac命令 cat命令将文件中全部内容都打印到屏幕上,适合较小文件的读取,不适合大文件。 tac命令是从最后一行开始反向打印,这一点与cat命令正好相反。 语法&…

2023.1.9 学习总结

1.二叉排序树的相关操作 二叉排序树的相关操作可以分为这几种: 1.创建二叉排序树 2.插入值 3.查找值 4.删除值 首先给出二叉排序树的结点类型定义:(就是一个二叉树) struct bis {int data;bis* left;bis* right; }; 因为创…