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

JVM的了解与学习

一:jvm是什么

jvm是java虚拟机java Virtual Machine的缩写
jdk包含jre和java DevelopmentTools

二:什么是java虚拟机

虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。java虚拟机有自己完善的硬体结构,如处理器、堆栈、寄存器等,还有相应的指令系统。java虚拟机屏蔽了与具体操作系统平台相关的信息,使得java程序只需生成在java虚拟机上运行的目标代码。
JVM就是解析和运行java程序的。JVM用来解析和运行java程序的。

三:JVM中内存区域的划分

JVM内存区域的划分,首先就要知道JVM中的内存区域从什么地方来,JVM中的内存是JVM向操作系统中申请的一块内存,针对内存划分一个区域
在这里插入图片描述
堆:new的对象就会放在堆中
方法区:加载好的类放在方法区,静态成员
栈:局部变量
程序计数器:存储的是地址描述的是当前线程接下来要执行的指令在什么地方
注意:一个进程中存在多个线程,每个线程都有自己的栈和程序计数器,一个进程公用一个堆和一个方法区
判断一个变量是在堆上还是在栈上,和这个变量是局部变量(栈)、静态变量(方法区)还是成员变量(堆)有关。

http://www.lryc.cn/news/34654.html

相关文章:

  • 提升数字品牌的5个技巧
  • java通过反射获取加了某个注解的所有的类
  • Warshall算法
  • vector中迭代器失效的问题及解决办法
  • 【蓝桥杯刷题训练营】day05
  • 线程中断interrupt导致sleep产生的InterruptedException异常
  • ubuntu的快速安装与配置
  • 人工智能AI工具汇总(AIGC ChatGPT时代个体崛起)
  • 【rust-grpc-proxy】在k8s中,自动注入代理到pod中,再不必为grpc调试而烦恼
  • VisualStudio2022制作多项目模板及Vsix插件
  • 仿写简单IOC
  • liunx下安装node exporter
  • lambda函数
  • 【Python入门第二十七天】Python 日期
  • C++基础知识【5】数组和指针
  • Vim使用操作命令笔记
  • 【论文阅读】Robust Multi-Instance Learning with Stable Instances
  • 洛谷 P5116 [USACO18DEC]Mixing Milk B
  • 华为OD机试 - 最左侧冗余覆盖子串(C 语言解题)【独家】
  • 《Netty》从零开始学netty源码(三)之SelectorProvider
  • 实验7 图像水印
  • 如何实现大文件断点续传、秒传
  • 备战蓝桥python——完全平方数
  • WebRTC中的NAT穿透
  • SpringCloud-高级篇(一)
  • 电脑自动重启是什么原因?详细解说
  • 2023美国大学生数学建模竞赛E题思路
  • 蓝桥杯三月刷题 第五天
  • Echarts 水波图实现
  • 逻辑优化基础-shannon decomposition