《深入解析Android 虚拟机》——第2章 Java虚拟机基础 2.1虚拟机的作用

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 虚拟机(Virtual Machine)这一概念最初由波佩克与戈德堡定义,是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。由此可见,虚拟机是跟特定硬件无关的一个系统。在现实应用中,虚拟机最常见的情形便是双系统。

本节书摘来自异步社区《深入解析Android 虚拟机》一书中的第2章,第2.1节,作者:钟世礼著,更多章节内容可以访问云栖社区“异步社区”公众号查看
第2章 Java虚拟机基础
Java虚拟机和Android虚拟机十分相似,所以在本书中将以Java虚拟机开始,逐步引领广大读者步入Android虚拟机的世界。在本章的内容中,将简要讲解Java虚拟机技术的基本知识,为读者步入本书后面知识的学习打下基础。

2.1 虚拟机的作用

虚拟机(Virtual Machine)这一概念最初由波佩克与戈德堡定义,是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。由此可见,虚拟机是跟特定硬件无关的一个系统。在现实应用中,虚拟机最常见的情形便是双系统。例如计算机原装系统是Windows,为了在这台机器上能够体验Linux系统,可以安装一个虚拟机环境,在这个虚拟机环境中运行Linux系统,这样就实现了“一机双系统”的功效。在现实应用中,通过虚拟机软件可以在一台物理计算机上模拟出一台或多台虚拟的计算机。这些虚拟机完全可以像真正的计算机那样进行工作,例如可以安装操作系统、安装应用程序、访问网络资源等等。对于使用用户而言,虚拟机只是运行在物理计算机上的一个应用程序。但是对于在虚拟机中运行的应用程序来说,虚拟机就是一台真正计算机。正因为如此,所以当在虚拟机中进行软件评测时,可能会发生系统崩溃的情形。但是这里崩溃的只是虚拟机上的操作系统,而不是物理计算机上的操作系统。可以使用虚拟机的“Undo”(恢复)功能,立即恢复虚拟机到安装软件之前的状态。

虚拟机根据它们的运用以及与直接机器的相关性分为两大类。系统虚拟机提供一个可以运行完整操作系统的完整系统平台;相反,程序虚拟机为运行单个计算机程序设计,这意谓它支持单个进程。虚拟机的一个本质特点是运行在虚拟机上的软件被局限在虚拟机提供的资源里——它不能超出虚拟世界。

在现实应用中,对于一般计算机用户来说,最常见的使用虚拟机的情形是安装双系统。例如在Windows平台上安装一个虚拟机,然后在这个虚拟机中安装Linux操作系统或iOS系统,这样就实现了双系统功能。

在当前流行的编程语言Java中,便是采用了虚拟机机制,Java的虚拟机被称为Java Virtual Machine,缩写为JVM。用Java编写的程序可以通过对Java运行环境(JRE)软件发出命令获得服务,取得期望的结果。透过提供这种服务,JRE起到了虚拟机的作用,程序不必为特定的操作系统或硬件编写。

Java虚拟机和Android虚拟机十分相似,所以在本书中将以Java虚拟机开始,逐步引领广大读者步入Android虚拟机的世界。

相关文章
|
10天前
|
监控 算法 Java
Java虚拟机(JVM)垃圾回收机制深度剖析与优化策略####
本文作为一篇技术性文章,深入探讨了Java虚拟机(JVM)中垃圾回收的工作原理,详细分析了标记-清除、复制算法、标记-压缩及分代收集等主流垃圾回收算法的特点和适用场景。通过实际案例,展示了不同GC(Garbage Collector)算法在应用中的表现差异,并针对大型应用提出了一系列优化策略,包括选择合适的GC算法、调整堆内存大小、并行与并发GC调优等,旨在帮助开发者更好地理解和优化Java应用的性能。 ####
15 0
|
11天前
|
Java 编译器
Java 泛型详细解析
本文将带你详细解析 Java 泛型,了解泛型的原理、常见的使用方法以及泛型的局限性,让你对泛型有更深入的了解。
24 2
Java 泛型详细解析
|
12天前
|
缓存 监控 Java
Java线程池提交任务流程底层源码与源码解析
【11月更文挑战第30天】嘿,各位技术爱好者们,今天咱们来聊聊Java线程池提交任务的底层源码与源码解析。作为一个资深的Java开发者,我相信你一定对线程池并不陌生。线程池作为并发编程中的一大利器,其重要性不言而喻。今天,我将以对话的方式,带你一步步深入线程池的奥秘,从概述到功能点,再到背景和业务点,最后到底层原理和示例,让你对线程池有一个全新的认识。
40 12
|
7天前
|
存储 监控 算法
深入探索Java虚拟机(JVM)的内存管理机制
本文旨在为读者提供对Java虚拟机(JVM)内存管理机制的深入理解。通过详细解析JVM的内存结构、垃圾回收算法以及性能优化策略,本文不仅揭示了Java程序高效运行背后的原理,还为开发者提供了优化应用程序性能的实用技巧。不同于常规摘要仅概述文章大意,本文摘要将简要介绍JVM内存管理的关键点,为读者提供一个清晰的学习路线图。
|
9天前
|
存储 算法 Java
Java内存管理深度解析####
本文深入探讨了Java虚拟机(JVM)中的内存分配与垃圾回收机制,揭示了其高效管理内存的奥秘。文章首先概述了JVM内存模型,随后详细阐述了堆、栈、方法区等关键区域的作用及管理策略。在垃圾回收部分,重点介绍了标记-清除、复制算法、标记-整理等多种回收算法的工作原理及其适用场景,并通过实际案例分析了不同GC策略对应用性能的影响。对于开发者而言,理解这些原理有助于编写出更加高效、稳定的Java应用程序。 ####
|
9天前
|
存储 监控 算法
Java虚拟机(JVM)垃圾回收机制深度解析与优化策略####
本文旨在深入探讨Java虚拟机(JVM)的垃圾回收机制,揭示其工作原理、常见算法及参数调优方法。通过剖析垃圾回收的生命周期、内存区域划分以及GC日志分析,为开发者提供一套实用的JVM垃圾回收优化指南,助力提升Java应用的性能与稳定性。 ####
|
11天前
|
Java 数据库连接 开发者
Java中的异常处理机制:深入解析与最佳实践####
本文旨在为Java开发者提供一份关于异常处理机制的全面指南,从基础概念到高级技巧,涵盖try-catch结构、自定义异常、异常链分析以及最佳实践策略。不同于传统的摘要概述,本文将以一个实际项目案例为线索,逐步揭示如何高效地管理运行时错误,提升代码的健壮性和可维护性。通过对比常见误区与优化方案,读者将获得编写更加健壮Java应用程序的实用知识。 --- ####
|
13天前
|
机器学习/深度学习 监控 算法
Java虚拟机(JVM)的垃圾回收机制深度剖析####
本文深入探讨Java虚拟机(JVM)的垃圾回收机制,揭示其工作原理、常见算法、性能调优策略及未来趋势。通过实例解析,为开发者提供优化Java应用性能的思路与方法。 ####
27 1
|
14天前
|
存储 缓存 监控
Java中的线程池深度解析####
本文深入探讨了Java并发编程中的核心组件——线程池,从其基本概念、工作原理、核心参数解析到应用场景与最佳实践,全方位剖析了线程池在提升应用性能、资源管理和任务调度方面的重要作用。通过实例演示和性能对比,揭示合理配置线程池对于构建高效Java应用的关键意义。 ####
|
Java Android开发 开发工具
Android Studio 解决方法No JVM installation found. Please install a 64-bit JDK.
————————— Error launching Android Studio ————————— No JVM installation found. Please install a 64-bit JDK.
1646 0