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

JVM深入原理(一+二):JVM概述和JVM功能

目录

1. JVM概述

1.1. Java程序结构

1.2. JVM作用

1.3. JVM规范和实现

2. JVM功能

2.1. 功能-编译和运行

2.2. 功能-内存管理

2.3. 功能-即时编译


1. JVM概述

1.1. Java程序结构

1.2. JVM作用

JVM全称是Java Virtual Machine-Java虚拟机

  • JVM作用:本质上是一个运行在计算机上的程序,职责是运行Java字节码文件,编译为机器码交由计算机运行

1.3. JVM规范和实现

  • JVM规范:
    • Oracle官网:JDK 24 Documentation - Home
    • <Java虚拟机规范>由Oracle制定,内容主要包含了Java虚拟机在设计和实现时需要遵守的规范,主要包含class字节码文件的定义、类和接口的加载和初始化、指令集等内容。
    • <Java虚拟机规范>是对虚拟机设计的要求,而不是对Java设计的要求,也就是说虚拟机可以运行在其他的语言比如Groovy、Scala生成的class字节码文件之上。
  • JVM常见实现:

2. JVM功能

2.1. 功能-编译和运行

  • 编译字节码文件:实时编译字节码中文件中的指令,成为机器码之后交由计算机运行

2.2. 功能-内存管理

  • 内存分配:JVM会自动为对象,方法等分配内存
  • 垃圾回收:JVM中的垃圾回收机制会自动的回收不被引用的对象

2.3. 功能-即时编译

  • 即时编译的作用:字节码指令可以实时解释为不同操作系统的机器码,这样就支持了跨平台运行

  • 即时编译优化:对于热点代码的机器码会保存在系统内存,再次执行可直接调用,提升执行效率
    • 优化的原因:Java不做优化的性能是不如C,C++的,因为Java需要实时编译字节码指令再交给机器运行,而C,C++可以直接将源文件编译为可执行文件

相关文章:

  • 《解锁Qwen2.5-Omni:AI全模态大模型部署实战指南》
  • 企业出海如何选择全球化软件工具?Websoft9 推荐开源作为理性可行的选择
  • 写给新人的深度学习扫盲贴:向量与矩阵
  • DayDreamer: World Models forPhysical Robot Learning
  • 基于图扑 HT 技术的电缆厂 3D 可视化管控系统深度解析
  • 第3期 基于改进YOLOv8的卫星下的船舰检测算法与系统实现
  • STM32平衡车开发实战教程:从零基础到项目精通
  • 顺序容器 -forward list单链表
  • YOLO系列
  • 嵌入式电量与功耗优化:从理论到实战
  • Linux:环境变量
  • LLaMA-Factory大模型微调全流程指南
  • 【rabbitmq基础】
  • Nature Communications上交、西湖大学、复旦大学研发面向机器人多模式运动的去电子化刚弹耦合高频自振荡驱动单元
  • 从零开始学Rust:结构体(struct)详解
  • leetcode每日一题:数组美丽值求和
  • 【重点】文件摆渡系统如何简化跨平台跨网络的文件传输?
  • 使用Python构建Kafka示例项目
  • 视频设备轨迹回放平台EasyCVR综合智能化,搭建运动场体育赛事直播方案
  • es8实现向量检索与关键词匹配混合搜索
  • 网站开发技术基础教程/站长工具在线查询
  • 网站服务器买了后怎么做/客户推广渠道有哪些
  • dedecms 网站地图xml/企业网站推广的方法有哪些
  • 芜湖网站建设全包仅需800元/设计网站官网
  • 关键词排名优化易下拉稳定/网站推广优化外链
  • php做网站访问记录/网站建设与管理就业前景