前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JVM调优学习

JVM调优学习

作者头像
天天Lotay
发布2023-01-10 10:48:01
3670
发布2023-01-10 10:48:01
举报
文章被收录于专栏:嵌入式音视频嵌入式音视频

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执行引擎

请添加图片描述
请添加图片描述

堆内存模型

请添加图片描述
请添加图片描述

可达性分析

请添加图片描述
请添加图片描述

类加载过程

请添加图片描述
请添加图片描述

栈帧

请添加图片描述
请添加图片描述

栈帧的结构

请添加图片描述
请添加图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JVM 介绍
    • 1 什么是 JVM
      • 2 JAVA 语言的执行原理
      • JDK+JRE+JVM
      • JAVA字节码文件结构
      • JVM内存区域
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档