JVM入门介绍

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

JVM入门介绍

什么是jvm?

JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接 的交互。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZsmLYyr8-1614942052572)(JVM.assets/image-20210305091656389.png)]

java的整体结构

  1. HotSpot VM是目前市面上高性能虚拟机的代表作之一。
  2. 它采用解释器与即时编译器并存的架构。
  3. 在今天,Java程序的运行性能早已脱胎换骨,已经达到了可以和C/C++程序一较高下的地步。
  4. 执行引擎包含三部分:解释器,即时编译器,垃圾回收器

在这里插入图片描述

运行过程

我们都知道 Java 源文件,通过编译器,能够生产相应的.Class 文件,也就是字节码文件, 而字节码文件又通过 Java 虚拟机中的解释器,编译成特定机器上的机器码 。 也就是如下:

① Java 源文件—->编译器—->字节码文件

② 字节码文件—->JVM—->机器码

每一种平台的解释器是不同的,但是实现的虚拟机是相同的,这也就是 Java 为什么能够 跨平台的原因了 ,当一个程序从开始运行,这时虚拟机就开始实例化了,多个程序启动就会 存在多个虚拟机实例。程序退出或者关闭,则虚拟机实例消亡,多个虚拟机实例之间数据不 能共享。

在这里插入图片描述

JVM 架构模型

Java编译器输入的指令流基本上是一种基于栈的指令集架构,另外一种指令集架构则是基于寄存器的指令集架构。具体来说:这两种架构之间的区别:

基于栈的指令集架构
  1. 设计和实现更简单,适用于资源受限的系统;
  2. 避开了寄存器的分配难题:使用零地址指令方式分配
  3. 指令流中的指令大部分是零地址指令,其执行过程依赖于操作栈。指令集更小,编译器容易实现
  4. 不需要硬件支持,可移植性更好,更好实现跨平台
基于寄存器的指令级架构

典型的应用是x86的二进制指令集:比如传统的PC以及Android的Davlik虚拟机。
指令集架构则完全依赖硬件,与硬件的耦合度高,可移植性差
性能优秀和执行更高效
花费更少的指令去完成一项操作
在大部分情况下,基于寄存器架构的指令集往往都以一地址指令、二地址指令和三地址指令为主,而基于栈式架构的指令集却是以零地址指令为主

两种架构的举例

同样执行2+3这种逻辑操作,其指令分别如下:

  • 基于栈的计算流程(以Java虚拟机为例)
iconst_2 //常量2入栈
istore_1
iconst_3 // 常量3入栈
istore_2
iload_1
iload_2
iadd //常量2/3出栈,执行相加
istore_0 // 结果5入栈
  • 而基于寄存器的计算流程
mov eax,2 //将eax寄存器的值设为1
add eax,3 //使eax寄存器的值加3
  • 反编译字节码文件
public class StackStruTest {
    public static void main(String[] args) {
        int i = 2;
        int j = 3;
        int k = i + j;
    }
}
javap -v StackStruTest.class

JVM的生命周期

当我们编写一个java的源文件后,经过编译会生成一个后缀名为class的文件,这种文件叫做字节码文件,只有这种字节码文件才能够在java虚拟机中运行,java类的生命周期就是指一个class文件从加载到卸载的全过程。一个java类的完整的生命周期会经历加载、连接、初始化、使用、和卸载五个阶段,当然也有在加载或者连接之后没有被初始化就直接被使用的情况,如图所示:

在这里插入图片描述

Office 2019完美卸载全攻略:彻底清除残留文件与注册表 软件卸载是系统维护中的常见操作,其核心原理在于彻底移除程序文件及其在操作系统中的注册信息。对于微软Office这类复杂套件,其安装机制(如Click-to-Run技术)会在系统中创建大量注册表项、服务、计划任务和用户配置文件。若卸载不彻底,残留的注册表键值和文件会导致后续安装失败、激活异常等兼容性问题,严重影响工作效率。尤其在处理Office 2019这类采用混合部署模式的版本时,常规卸载工具往往无法清理深层痕迹。本文聚焦于**完美卸载**这一技术需求,通过结合官方工具与手动清理,系统性地解决卸载残留问题, 阅读详情

相关推荐

彻底清理第三方安全软件残留:从系统底层恢复Windows流畅度的技术指南

在Windows系统管理与优化领域,软件残留是导致系统性能下降和稳定性问题的常见根源。其原理在于部分应用程序,特别是安全与系统工具类软件,会通过安装系统服务、驱动程序、计划任务及注册表项等方式深度嵌入操作系统。这些深层集成虽旨在提供持续保护,却可能引发资源占用异常、软件冲突乃至系统崩溃,对开发环境和日常使用造成显著影响。从技术价值看,掌握彻底的清理方法不仅能解决卡顿、蓝屏等具体问题,更是理解Windows系统架构、进程管理与自启动机制的重要实践。典型的应用场景包括:开发环境因驱动冲突导致虚拟机或容器异常、系

weixin_30905133的博客 391

OneDrive卸载工具

win10系统自带的OneDrive_Uninstaller,专门用于OneDrive卸载

Windows系统隐私与性能优化:从诊断数据到后台服务的全面控制指南

很多 Windows 用户可能没有意识到,自己的操作系统在默认设置下,正在向微软和第三方应用发送大量诊断数据、运行着不必要的后台服务、并允许应用拥有超出预期的权限。这种状态,就像让电脑在网络上“裸奔”,不仅消耗系统资源、影响性能,更关键的是,它侵蚀了用户对个人设备的控制权和隐私边界。对于开发者、运维人员或任何对系统有掌控需求的用户来说,理解并调整这些设置是必备技能。 本文将带你从几个核心层面,系统性地收回对 Windows 系统的控制权。我们不会停留在表面的“优化技巧”,而是深入解释每个设置项背后的原理、调

weixin_34343000的博客 553

完全卸载 OneDrive / 重装 OneDrive / 解决“已经安装了 OneDrive

1. 卸载: 方法 1:控制面板卸载 OneDrive;(很有可能无法卸载,刷新后还在) 方法 2:借助工具:OneDrive-Uninstaller; 2. 重装: 方法 1:官网下载最新版本 OneDrive,安装即可; 方法 2:借助工具:一键卸载与重装 Uninstall-Reinstall-OneDrive ; 重装过程中可能遇到的问题:提示已经安装了 OneDrive 说明:未卸载干净; 解决:交替执行 1 中的两种卸载方法(甚至可以混合 2 中的卸载脚本),直至在控制面版中卸载的时候

一个博客 3万+

为什么OneDrive难以彻底卸载?3步永久删除实现系统清理与性能优化

想要彻底解决OneDrive顽固残留问题?这份专业指南将帮助你实现OneDrive彻底卸载,同时完成系统清理和性能优化。通过简单的三个步骤,你不仅能永久删除OneDrive,还能释放宝贵的系统资源,提升电脑运行效率。 ## 🔍 问题诊断:为什么OneDrive难以根除? 常规卸载方法往往无法彻底清除OneDrive,主要原因包括: **📌 系统深度集成** - 与文件资源管理器绑定:在导

gitblog_00909的博客 481

Win10 - 彻底删除OneDrive的方法

一、删除程序 二、删除导航栏

袭冷 5万+

彻底卸载OneDrive:Windows系统完全清除与深度清理指南

你是否曾遇到这样的困扰:明明已经卸载OneDrive,却发现它依然占用系统资源,后台进程仍在悄悄运行?常规卸载方法往往只能移除表面程序,而大量残留文件、注册表项和系统组件依然潜伏在系统中。本文将带你深入了解OneDrive残留问题的技术原理,并提供一套完整的深度清理方案,帮助你彻底摆脱这个"顽固"的云存储服务。 ## 为什么常规卸载无法彻底清除OneDriveOneDrive作为Wind

gitblog_00787的博客 5633

Windows 如何安装和卸载 OneDrive?具体方法总结

OneDrive 是微软一个云存储软件,本文教你如何安装和卸载 OneDrive

qq_57728300的博客 2万+

3步强力卸载:彻底清除OneDrive释放系统资源

OneDrive作为Windows自带的云存储服务,虽为部分用户提供便利,但对多数人而言,它不仅占用宝贵的系统资源,还可能导致后台进程过多、同步冲突等问题。本文将通过3个核心步骤,帮助你彻底卸载OneDrive,让电脑运行更流畅,释放更多存储空间。 ## 一、问题诊断:你的电脑是否需要卸载OneDrive? 在决定卸载OneDrive前,先通过以下症状判断是否真的需要: - **系统卡顿**

gitblog_00525的博客 270

Windows C盘空间清理终极指南:不用第三方软件释放30GB

磁盘空间管理与系统优化是计算机维护中的基础且关键的技术领域,其核心原理在于有效识别和清理操作系统运行过程中产生的冗余数据。从技术价值看,合理的空间管理不仅能提升系统性能,还能避免因存储不足导致的运行异常。在Windows环境中,系统更新备份、休眠文件、应用程序缓存等是主要空间占用源。针对这些场景,掌握系统内置工具如磁盘清理、DISM命令以及虚拟内存配置,可以实现安全高效的空间回收。本文聚焦于C盘爆满这一常见问题,详细拆解了通过Windows原生工具进行深度清理的完整流程,涵盖从临时文件清理到用户文件夹迁移的

weixin_30363509的博客 331

dism++深度清理实战:Windows系统C盘空间治理指南

Windows系统磁盘清理本质是系统状态管理,而非简单删除文件。其核心在于理解组件存储(WinSxS)、Windows Update缓存、日志与转储机制等底层原理。真正有效的清理需兼顾可验证性、操作可逆溯、系统一致性留痕、第三方残留深度清除,以及对Win10/Win11增量式更新机制的兼容。dism++之所以成为专业级首选,正因其基于TrustedInstaller权限调用原生API,实现组件级精准识别与闭环处理——如清理前校验CBS日志、清理后重置DISM基线、卸载时同步注销驱动并清理DriverStor

weixin_29597551的博客 194

Windows系统后台程序精准清理指南:8大入口提升电脑运行速度

在计算机系统优化领域,后台程序管理是提升设备性能的核心环节。其原理在于操作系统启动和运行时,会加载一系列服务、进程与计划任务,其中非必要的程序会持续占用CPU、内存及磁盘I/O资源,导致系统响应迟缓。这项技术的价值在于,通过精准识别与管理这些后台项目,用户可以在不升级硬件的前提下,显著改善开机速度与应用流畅度,尤其适用于资源有限的老旧电脑。常见的应用场景包括解决电脑卡顿、优化启动时间以及清理软件残留。本文将聚焦于Windows系统,深入解析包括系统启动文件夹、任务管理器启动项、系统服务、计划任务及注册表等在

weixin_30432579的博客 437

Windows 下 OpenAI Codex 缓存清理与迁移完整指南

开发工具在 Windows 上通常将配置、缓存与日志分散存储于 AppData、LocalAppData 及临时目录,以实现权限隔离与跨平台兼容。这种设计导致卸载后残留文件难以彻底清除,进而引发重装冲突或账号状态异常。彻底清理这些残留可恢复干净的运行环境,并支持通过目录联接将缓存迁移至非系统盘以释放空间。该方案适用于 Codex 安装失败、登录异常或需要重置开发环境的场景,核心在于定位并清除用户配置、本地缓存、日志及注册表中的相关条目。

weixin_34112399的博客 150

C盘爆红真相:Windows存储机制与安全清理指南

C盘空间不足是Windows系统最常见但常被误解的告警信号,本质源于系统对临时文件、缓存、日志及影子副本的默认集中存储机制。其底层原理涉及Windows磁盘管理、Storage Sense策略、Temp目录生命周期及winsxs组件仓库等核心设计。理解这一机制,才能避免误删导致更新失败或还原点丢失等稳定性风险。技术价值在于实现‘可审计、可回滚、零提权’的安全清理——依托Disk Cleanup、PowerShell原生API和微软官方规范,而非第三方黑箱工具。典型应用场景包括办公电脑空间优化、Win11长期

weixin_32288959的博客 118

Windows C盘精准清理指南:系统级空间管理实战

C盘空间不足是Windows用户最普遍的性能瓶颈之一,其本质并非硬盘容量告急,而是系统更新残留、应用缓存堆积与用户配置冗余三类空间占用长期失管所致。理解WinSxS组件存储机制、浏览器与微信等高频应用的缓存逻辑,以及Storage Sense等原生自动化工具的工作原理,是实现安全高效清理的前提。技术价值在于避免蓝屏、软件失效等误操作风险,保障系统稳定性与更新能力;典型应用场景包括开发环境维护、办公电脑长期运维及SSD空间精细化管控。本文聚焦Windows内置命令(如DISM、cleanmgr)与策略配置,不

快马扬鞭须努力! 566

Windows磁盘清理进阶指南:从存储感知到自动化策略

磁盘空间管理是操作系统维护中的基础技术,其核心原理在于识别并清理系统中的冗余文件以释放存储资源。在Windows系统中,这一功能从早期的磁盘清理工具进化到集成了自动化与智能分析的存储感知机制,体现了系统资源管理的工程化思维。其技术价值在于通过安全、精准的文件识别算法,在保障系统稳定性的前提下优化存储使用效率,尤其适用于个人电脑、办公设备等日常使用场景。本文聚焦Windows内置清理工具,深入解析其清理建议功能与存储感知配置,帮助用户掌握临时文件清理、大文件定位等实用技巧,实现从被动清理到主动预防的磁盘空间管

weixin_33770878的博客 403

LKY Office Tools 一键 Office 下载安装激活完整教程

系统刚装完,活儿干不了,就因为缺 Office。LKY Office Tools 是一个开源免费的 C# 命令行工具,一条命令自动完成最新版 Microsoft Office 的下载、安装、激活,绿色免装,全程不需要产品密钥。给刚重装系统的用户和需要批量部署的运维用。 ## 项目速览 | 项目 | 说明 | |------|------| | 一句话定位 | 自动完成 Office 下载、安装

gitblog_00361的博客 350

Windows Defender零日漏洞RedSun深度解析与家庭版修复指南

零日漏洞(Zero-Day)是指软件中存在的、厂商尚未知晓或未发布补丁的安全缺陷,攻击者可以利用其发起无预警攻击。其原理通常涉及对软件逻辑缺陷或组件间交互机制的深入挖掘,例如利用时间竞争条件(TOCTOU)或权限提升链。这类漏洞的技术价值在于其极高的隐蔽性和破坏性,能够绕过常规安全检测,常被用于高级持续性威胁(APT)攻击或勒索软件传播。在应用场景上,零日漏洞常针对操作系统核心组件或广泛使用的应用软件,如浏览器、办公套件和系统安全软件。Windows Defender作为Windows系统内置的实时反恶意软

weixin_33863087的博客 368
上一篇: KMP java代码的简单实现
下一篇: mybatis-plus 代码自动生成配置
黄二马
博客等级 码龄8年 701粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值