1.jvm基本常识
2.jvm架构是什么意思?
3.JDK、JRE、JVM,是什么关系?
4.Java程序的运行机制是怎么样的?
jvm基本常识
JVM基本常识程序的执行方式、字节码和机器码的区别
字节码在JVM中执行,而机器码由硬件直接执行。网站源码查看JVM将源代码编译为字节码,然后解释执行,而机器码直接由处理器执行。
1)如果是sun/oracle JDK 显示信息为:
说明:这表示使用的是由Oracle开发并维护的Java开发工具包。
2)如果OpenJDK, 显示信息为:
说明:这表示使用的是Java开源版本,由SUN和Java社区提供支持。Oracle在年收购SUN后,果核源码成为Java的主要维护者。
Java由SUN公司发明,年开源成为OpenJDK。之后Oracle收购SUN,Oracle JDK基于OpenJDK开发,两者在技术上差异不大,Oracle JDK共享大量相同的代码。
Oracle JDK的来历
Oracle JDK在Oracle收购SUN公司前称为SUN JDK。Oracle收购后,将其命名为Oracle JDK。Oracle JDK基于OpenJDK源代码构建。
Oracle JDK与OpenJDK的区别
Oracle JDK与OpenJDK在技术实现上相似,共享大量相同代码。前台源码两者之间的主要区别在于许可证。
JVM和Java的关系
JVM是Java虚拟机规范的实现,用于解释执行字节码。Java语言与JVM紧密相关,Java编译器将源代码转换为字节码,JVM解释执行字节码。
JVM的运行模式
JVM有两种运行模式:Server模式与Client模式。Server模式适合资源密集型应用,Client模式适合轻量级应用。
jvm架构是什么意思?
JVM架构指的是Java虚拟机的运行架构,它是Java语言最重要的一部分。Java虚拟机的主要作用是执行Java字节码,它使用一种类似于汇编语言的crc源码指令集,可以将Java源代码编译成字节码。JVM架构由三部分组成:类加载器、运行时数据区和执行引擎。
类加载器是JVM架构的第一部分,它负责将Java字节码文件加载到JVM中,并将字节码转化成可执行的代码。类加载器有四种级别:启动类加载器、扩展类加载器、系统类加载器和自定义类加载器。每种类加载器都有自己独特的加载路径和规则。
运行时数据区是JVM架构的第二部分,它是JVM用来存储程序运行时数据的区域。运行时数据区包括堆、猫扑源码方法区、虚拟机栈、本地方法栈和程序计数器。其中,堆是JVM用来存储对象的内存区域,方法区是JVM用来存储类信息和常量的内存区域。虚拟机栈、本地方法栈和程序计数器则分别用来存储线程执行的信息。这些内存区域的划分和大小取决于虚拟机实现的不同。
JDK、JRE、JVM,是什么关系?
在 Java 技术栈中,JDK、JRE、JVM 三者的关系如同金字塔一般,层层相扣,构成了 Java 应用程序运行的基础。
JDK(Java Development Kit)是 Java 开发工具包,包含了 JRE 以及各种开发工具,如编译器、调试器等,用于构建和运行 Java 应用程序。
JRE(Java Runtime Environment)是 Java 运行环境,它包括了 JVM、Java 核心类库以及 Java 标准类库,使得 Java 应用程序可以在没有源代码的情况下在任何支持 JRE 的平台上运行。
JVM(Java Virtual Machine)则是 Java 虚拟机,是 Java 应用程序执行的核心,它将 Java 字节码解释为机器语言,使得 Java 程序可以在不同的硬件和操作系统上运行,实现“一次编写,到处运行”的目标。
谢飞机在面试中对这三个概念的了解显然不够深入,这提醒我们在学习 Java 技术栈时,不仅要了解各组件的基本功能,更要深入理解它们之间的关系和作用机制。
学习 Java 技术栈是一个不断探索和深入的过程,从 JDK、JRE、JVM 的关系入手,可以逐渐建立起对 Java 技术栈的全面理解。同时,学习如何使用这些工具和概念,以及它们在实际开发中的应用,也是提升 Java 开发能力的关键。
Java程序的运行机制是怎么样的?
Java程序的运行机制可以分为以下几个步骤:编写Java源代码:首先,程序员需要使用Java编程语言编写源代码。Java源代码是以.java为扩展名的文本文件,包含了Java程序的逻辑和功能。
编译Java源代码:Java源代码需要通过Java编译器进行编译,生成字节码文件。字节码文件是以.class为扩展名的二进制文件,包含了Java程序的指令、变量和方法。
解释执行字节码文件:Java虚拟机(JVM)负责解释执行字节码文件。JVM是一个虚拟的计算机,它模拟了实际计算机的硬件和操作系统,能够运行字节码文件。
类加载:当Java程序被执行时,JVM会根据需要动态加载所需的类。Java类库和自定义类都会被加载到内存中。
执行Java程序:JVM会按照程序的逻辑和功能执行Java程序。程序员可以在程序中使用Java类库和自定义类提供的方法和变量。
垃圾回收:JVM还负责垃圾回收,它会自动回收不再使用的内存空间,防止程序出现内存泄漏等问题。
总的来说,Java程序的运行机制可以概括为:编写源代码 -> 编译生成字节码文件 -> 解释执行字节码文件 -> 加载所需类 -> 执行Java程序 -> 垃圾回收。