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

JVM之【Java虚拟机概述】

目录

对JVM的理解

JVM的架构组成

类加载系统

执行引擎

运行时数据区

垃圾收集系统

本地方法库


对JVM的理解

JVM保证了Java程序的执行,同时也是Java语言具有跨平台性的根本原因;Java源代码通过javac等前端编译器生成的字节码计算机并不能识别,但是可以通过JVM中的类加载系统将字节码加载到内存,再通过执行引擎系统将字节码转换为计算机能识别的机器指令,最后由计算机执行

JVM的架构组成

主要由类加载系统、执行引擎、运行时数据区、垃圾收集系统、本地方法库组成

类加载系统

将字节码数据加载进内存,该过程涉及到类加载器、类加载过程、双亲委派机制

执行引擎

将加载进内存中的字节码数据通过解释器和JIT即时编译器转换为计算机能识别的机器指令

运行时数据区

即运行时数据区,包含程序计数器、虚拟机栈、本地方法栈、堆、本地内存

垃圾收集系统

帮助开发者管理内存,是Java语言不用手动管理内存的原因,涉及到垃圾收集算法、垃圾收集器、GC调优

本地方法库

Java语言调用其他语言,主要是通过C语言编写的库函数

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

相关文章:

  • Python实现调整矩阵维度: view
  • 【13】大恒相机SDK C#开发 —— Fom1中实时处理的8个图像 实时显示在Form2界面的 pictureBox中
  • 磁盘坏道检测工具在美国服务器硬件维护中的使用规范
  • MVS相机+YOLO检测方法
  • 【03】大恒相机SDK C#开发 —— 回调采集图像,关闭相机
  • Java WEB技术-序列化和反序列化认识(SpringBoot的Jackson序列化行为?如何打破序列化过程的驼峰规则?如何解决学序列化循环引用问题?)
  • 学习笔记《区块链技术与应用》第三天 网络 难度
  • 详解分布式数据库缓存技术:高性能数据访问的基石
  • 如何在 macOS 上使用 dnsmasq 搭建本地 DNS 缓存/转发
  • 深度解析:基于Python构建的闲鱼自动化营销与信息发送机器人
  • IO流专题
  • linux运维学习第十三周
  • Linux 服务器性能优化:性能监控,系统性能调优,进程优先级,内核升级全解析
  • 前端框架Vue3(二)——Vue3核心语法之OptionsAPI与CompositionAPI与setup
  • AWS云安全审计终极实战指南:构建自动化安全防线
  • 数字化应急预案:构筑现代安全防线
  • Web3:在 VSCode 中使用 Vue 前端与已部署的 Solidity 智能合约进行交互
  • 从渠道渗透到圈层渗透:开源链动2+1模式、AI智能名片与S2B2C商城小程序的协同创新路径研究
  • 【09】大恒相机SDK C#开发 ——库函数 IntPtr ConvertToRGB24详细解释 及 示例
  • 【JEECG】JVxeTable表格拖拽排序功能
  • 动态规划Day5学习心得
  • python的异步、并发开发
  • (C++)C++类和类的方法(基础教程)(与Python类的区别)
  • C++提高编程学习--模板
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-50,(知识点:TCP/IP 模型)
  • 磁盘IO优先级控制对美国服务器存储子系统的调优验证
  • 02 基于sklearn的机械学习-KNN算法、模型选择与调优(交叉验证、朴素贝叶斯算法、拉普拉斯平滑)、决策树(信息增益、基尼指数)、随机森林
  • 【动态规划 | 多状态问题】动态规划求解多状态问题
  • YOLO---01目标检测基础
  • windows环境下MySQL 8.0 修改或重置密码