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

深入理解HotSpot JVM 基本原理

关于JAVA

Java®编程语言是一种通用的、并发的、面向对象的语言。它的语法类似于C和C++,但它省略了许多使C和C++复杂、混乱和不安全的特性。

Java 是几乎所有类型的网络应用程序的基础,也是开发和提供嵌入式和移动应用程序、游戏、基于 Web 的内容和企业软件的全球标准。.

从笔记本电脑到数据中心,从游戏控制台到科学超级计算机,从手机到互联网,Java 无处不在!

Java的技术体系主要有各种硬件平台上的JVM虚拟机、提供各开发领域接口支持的Java API、Java编程语言、三方Java框架(Spring等)构成。

Java程序设计语言、Java虚拟机、Java API类库这三部分统称为JDK(Java Development Kit),JDK是用于支持Java程序开发的最小环境。

可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(Java Runtime Environment),JRE是支持Java程序运行的标准环境。

下图展示了Java技术体系所包含的内容,以及JDK和JRE所涵盖的范围。

关于JVM

Java虚拟机是Java平台的基石。负责其硬件和操作系统的独立性,为Java字节码的执行提供运行时环境。

JVM虚拟机在Java 虚拟机规范中没有规定具体实现,而是有各大厂商自己实现。

Implementation details that are not part of the Java Virtual Machine’s specification would unnecessarily constrain the creativity of implementors. For example, the memory layout of run-time data areas, the garbage-collection algorithm used, and any internal optimization of the Java Virtual Machine instructions (for example, translating them into machine code) are left to the discretion of the implementor.

Classic VM 是“世界上第一款商用Java虚拟机”,在JDK 1.2之前是Sun JDK中唯一的虚拟机。

在JDK 1.2时,它与HotSpot VM并存,而在JDK 1.3时,HotSpot VM成为默认虚拟机,直到JDK 1.4的时候,Classic VM才完全退出商用虚拟机的历史舞台。

1999年4月27日,HotSpot虚拟机发布,HotSpot最初由一家名为“Longview Technologies”的小公司开发,因为HotSpot的优异表现,这家公司在1997年被Sun公司收购了。后来它成为了JDK 1.3及之后所有版本的Sun JDK的默认虚拟机。

在2008年和2009年,Oracle公司分别收购了BEA公司和Sun公司,这样Oracle就同时拥有了两款优秀的Java虚拟机:JRockit VM和HotSpot VM。

关于HostSpot

Java HotSpot虚拟机是Sun用于Java平台的VM。 它使用许多先进技术为Java应用程序提供最佳性能,包括最先进的内存模型,垃圾收集器和自适应优化器。

在SUN/Orace JDK中包括两种风格的VM

  • client mode
  • server mode

默认以client mode启动。

启动命令加- server,以server mode启动。

查看当前JVM mode:

两种mode的区别:

client mode

  • 短时间内启动,运行时,占用更少内存
  • C1轻量级编译器,优化较少
  • 适合轻量级程序和桌面程序

server mode

  • 启动慢,运行时,占用更大的内存
  • C2重量级编译器,更彻底的优化
  • 能提供更好的性能,适合生产部署

HotSpot JVM Architecture

HotSpot JVM 主要包括3个组件:

  • Class Loader Subsystem
  • Runti

相关文章:

  • PyTorch实现糖尿病预测的CNN模型:从数据加载到模型部署全解析【N折交叉验证、文末免费下载】
  • Java学习路线--自用--带链接
  • 天翼云手机断开连接2小时关机
  • MySQL的窗口函数(Window Functions)
  • 【图像轮廓特征查找】图像处理(OpenCV) -part8
  • PyTorch 线性回归详解:模型定义、保存、加载与网络结构
  • 动态LOD策略细节层级控制:根据视角距离动态简化远距量子态渲染
  • Vue的模板编译过程
  • 【漏洞复现】CVE-2024-38856(ApacheOfbiz RCE)
  • 毕设 - 数字孪生智慧农场(vue+高德地图)项目分享
  • 记一次 .NET某旅行社酒店管理系统 卡死分析
  • SystemWeaver详解:从入门到精通的深度实战指南
  • 足球 AI 智能体技术解析:从数据采集到比赛预测的全链路架构
  • 【Maven基础】
  • 基于单片机的BMS热管理功能设计
  • 突破网页数据集获取难题:Web Unlocker API 助力 AI 训练与微调数据集全方位解决方案
  • Oracle EBS R12.2 安装 -- Step by Step
  • android studio sdk unavailable和Android 安装时报错:SDK emulator directory is missing
  • 计算机视觉——利用AI幻觉检测图像是否是生成式算生成的图像
  • 2025年最新服务器、中间件安全(面试题)
  • 护航民营企业出海,上海设37家维权工作站、建立近百人专家团队
  • 根据学习教育安排,上海市委中心组专题学习总书记力戒形式主义官僚主义重要论述
  • 市场监管部门完成全国保健食品生产企业体系检查首轮全覆盖
  • 上海群文创作大检阅,102个节目角逐群星奖
  • “女子被前男友泼汽油烧伤案”二审将于22日开庭,一审判12年
  • 湖北一季度GDP为13543.49亿元,同比增长6.3%