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代码的执行流程:

相关推荐
小江的记录本18 小时前
【JVM虚拟机】类加载机制:类加载全流程:加载→验证→准备→解析→初始化(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·算法·安全·spring·面试
jameslogo21 小时前
类加载机制
jvm
雪度娃娃1 天前
转向现代C++——优先选用删除函数而非private未定义函数
java·jvm·c++
努力发光的程序员1 天前
面试官与程序员谢飞机的3轮Java大厂面试问答实录:涵盖Spring Boot、微服务与数据库技术
java·jvm·spring boot·redis·面试·hibernate·microservices
橙淮1 天前
并发编程(四)
java·jvm
Python+991 天前
C++ 内存模型 & 底层原理
java·jvm·c++
右耳朵猫AI1 天前
Java & JVM技术周刊 2026年第19周
java·开发语言·jvm
1candobetter1 天前
单接口性能测试实践总结:压测方案设计、成功判定与 JVM 监控分析
java·jvm·压力测试·测试
plainGeekDev2 天前
Android运行时面试题:ART和JVM的区别都搞不清,别写精通了
jvm·面试·kotlin
疯狂打码的少年2 天前
CISC vs RISC 对比
jvm·笔记