《深入解析Android 虚拟机》——第2章 Java虚拟机基础 2.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虚拟机的世界。

相关文章
|
1天前
|
监控 安全 算法
Java并发基础:LinkedTransferQueue全面解析!
LinkedTransferQueue类实现了高效的线程间数据传递,支持等待匹配的生产者-消费者模式,基于链表的无界设计使其在高并发场景下表现卓越,且无需担心队列溢出,丰富的方法和良好的可扩展性满足了各种复杂应用场景的需求。
Java并发基础:LinkedTransferQueue全面解析!
|
3天前
|
并行计算 Java API
Java中的Lambda表达式应用与实例解析
【2月更文挑战第4天】本文将深入探讨Java编程语言中Lambda表达式的应用与实例解析,通过详细介绍Lambda表达式的概念、语法特点以及在实际项目开发中的运用,帮助读者更好地理解和运用这一强大的编程特性。
|
4天前
|
设计模式 存储 前端开发
Java Web开发中MVC设计模式的实现与解析
Java Web开发中MVC设计模式的实现与解析
|
4天前
|
Java 应用服务中间件 API
深入解析Java Servlet技术在Web开发中的应用
深入解析Java Servlet技术在Web开发中的应用
180 1
|
4天前
|
存储 Java
Java TreeMap:基于红黑树的排序映射解析
Java TreeMap:基于红黑树的排序映射解析
|
4天前
|
存储 缓存 Java
Java LinkedHashMap:保持插入顺序的哈希表解析
Java LinkedHashMap:保持插入顺序的哈希表解析
|
4天前
|
安全 Java
Java TreeSet:基于红黑树的排序集合解析
Java TreeSet:基于红黑树的排序集合解析
|
4天前
|
存储 安全 Java
深入解析Java List接口及其实现类
深入解析Java List接口及其实现类
|
4天前
|
存储 算法 搜索推荐
Java中的数据结构与算法解析
Java中的数据结构与算法解析
|
4天前
|
缓存 安全 算法
Java并发基础:原子类之AtomicInteger全面解析
【2月更文挑战第2天】AtomicInteger类提供了线程安全的整数操作,它通过利用底层硬件的原子性指令,能够在多线程环境中高效地实现整数的无锁更新,避免了传统同步机制带来的性能开销,在高并发场景下成为计数器可大幅提高程序的执行效率,同时又保证了数据一致性。
51 15
Java并发基础:原子类之AtomicInteger全面解析

相关产品

  • 云迁移中心