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

JVM与Java体系结构

一、前言:

Java语言和JVM简介:

Java是目前最为广泛的软件开发平台之一。

JVM:跨语言的平台

随着Java7的正式发布,Java虚拟机的设计者们通过JSR-292规范基本实现在Java虚拟机平台上运行非Java语言编写的程序。 Java虚拟机根本不关心运行在其内部的程序到底是使用何种编程语言编写的,它只关心“字节码”文件。也就是说Java虚拟机拥有语言无关性,并不会单纯地与Java语言“终身绑定”,只要其他编程语言的编译结果满足并包含Java虚拟机的内部指令集、符号表以及其他的辅助信息,它就是一个有效的字节码文件,就能够被虚拟机所识别并装载运行。

字节码:

Java字节码指的是用java语言编译成的字节码,准确的说任何能在jvm平台上执行的字节码格式都是一样的,所以应该统称为jvm字节码。不同的编译器可以编译出相同的字节码文件,字节码文件也可以在不同的JVM上运行。Java虚拟机与Java语言并没有必然的联系,至于特定的二进制文件——Class文件格式有所关联。Class文件中包含了Java虚拟机指令集和符号表,还有一些其他的辅助信息

虚拟机与JVM介绍:

所谓虚拟机就是一台虚拟的计算机,它是一款软件,用来执行一系列虚拟计算机指令。大体上虚拟计算机可以分为系统虚拟机程序虚拟机程序虚拟机的典型代表就是Java虚拟机,它专门为执行单个计算机程序而设计,在Java虚拟机中执行的指令成为Java字节码指令。无论是系统虚拟机还是程序虚拟机,在上面运行的软件都被限制于虚拟机提供的资源中。

Java虚拟机是一台执行Java字节码的虚拟计算机,它拥有独立的运行机制,其运行的Java字节码也未必由Java语言编译而成。JVM平台的各种语言可以共享Java虚拟机带来的跨平台性。优秀的垃圾回收器以及可靠的即时编译器。Java技术的核心就是Java虚拟机,因为所有的Java程序都运行在Java虚拟机内部。

Java虚拟机就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对应平台上机器指令执行。每一条Java指令,Java虚拟机规范中都有详细定义,例如怎么去操作数、怎么处理操作数以及处理结果放在哪里等。特点包括一次编译、到处运行、自动管理内存以及自动垃圾回收功能

JVM的位置:

JVM整体结构:

HotSpot VM是市面上高性能虚拟机的代表作之一,它采用解释器与即时编译器并存的架构

Java代码的执行流程:

 


http://www.mrgr.cn/news/83372.html

相关文章:

  • python学opencv|读取图像(二十九)使用cv2.getRotationMatrix2D()函数旋转缩放图像
  • C语言教程——指针进阶(2)
  • 【linux】文件与目录命令 - mv
  • Vue指令的综合案例
  • Kotlin语言的编程范式
  • SpringBoot了解
  • SQL从入门到实战-2
  • 【华为云开发者学堂】基于华为云 CodeArts CCE 开发微服务电商平台
  • Mysql进阶篇
  • 01 Oracle自学环境搭建
  • Lambda expressions in C++ (C++ 中的 lambda 表达式)
  • L1G5000 XTuner 微调个人小助手认知
  • Microsoft 已经弃用了 <experimental/filesystem> 头文件
  • 力扣算法题(基于C语言)
  • 2025年第三届“华数杯”国际赛B题解题思路与代码(Python版)
  • Qt学习笔记第81到90讲
  • 油猴支持阿里云自动登陆插件
  • SpringBoot3
  • java开发springoot
  • 金融项目实战 02|接口测试分析、设计以及实现
  • 鼠标自动移动防止锁屏的办公神器 —— 定时执行专家
  • 【traefik】forwadAuth中间件跨namespace请求的问题
  • 【FPGA】时序约束与分析
  • 【git】-初始git
  • 【git】-2 分支管理
  • mysql-运维sql