8.运行时环境, JVM和编译器的区别,JVM是用来干嘛的?

JVM是用来干嘛的?

  • 为Java程序提供一个跨平台的运行环境,使得Java程序可以一次编译,到处运行。
  • 为Java程序提供一种字节码指令集,以及相应的解释器、编译器和优化器,使得Java程序可以高效地执行。
  • 为Java程序提供一种内存管理机制,包括垃圾回收和内存分配,使得Java程序可以自动管理内存,避免内存泄漏。
  • 为Java程序提供一种类加载机制,负责加载、连接和初始化类文件,使得Java程序可以动态地加载和卸载类。
  • 为Java程序提供一种安全机制,包括沙箱、字节码校验和安全管理器,使得Java程序可以在受控的环境中运行,防止恶意代码对系统造成破坏。

JVM和编译器的区别

JVM和编译器是两个不同的概念,它们有不同的作用和功能。

编译器是一种软件,它的作用是将一种编程语言(源代码)转换成另一种编程语言(目标代码),通常是将高级语言转换成低级语言,例如将Java代码转换成字节码,或将C代码转换成机器码。编译器的目的是为了让程序能够被计算机执行。

JVM是一种虚拟机,它的作用是执行编译器生成的字节码,使得Java程序能够在不同的平台上运行。JVM是一种规范,它定义了字节码的格式、指令集、内存模型等。JVM的实现可以是软件、硬件或者混合的形式,例如HotSpot、J9等。JVM的目的是为了提供一个跨平台的运行环境。

JVM也是用来把源代码(字节码)编译成目标代码(机器码),这样他和编译器有什么区别的

JVM和编译器的区别是,JVM不仅包含了编译器,还包含了其它组件,例如类加载器、垃圾回收器、内存管理等。JVM还提供了跨平台的能力,让同样的字节码可以在不同的操作系统上运行

VM是Java虚拟机,它是用来执行字节码的运行时环境。JVM可以分为解释器和即时编译器(JIT),解释器负责逐行解释执行字节码,JIT负责把热点字节码动态编译为机器码。

8.运行时环境, JVM和编译器的区别,JVM是用来干嘛的?_第1张图片

运行时环境的作用

运行时环境的作用是为程序提供一个运行的平台,使得程序可以在不同的硬件和操作系统上运行,同时提供一些基础的服务和功能,简化程序的开发和维护。

运行时环境的工作原理

8.运行时环境, JVM和编译器的区别,JVM是用来干嘛的?_第2张图片
然后如果问运行时库是如何加载代码的,就用到了 类加载机制。

你可能感兴趣的:(技术沉淀,jvm,java,算法)