Java培训:Java平台为什么以及如何独立?

更新时间: 2022-11-22 14:43:56来源: 粤嵌教育浏览量:5867

  Java是一种框架语言。这意味着,一旦编写了代码,就可以在任何地方、任何具有必要环境的平台上运行它。代码通过Java虚拟机(JVM)执行。要运行代码,JVM必须存在。对于每个平台,都存在一个单独的JVM。Java是一种独立于平台的语言。平台独立性并不意味着Java代码可以在任何地方执行;相反,它指的是在任何环境中执行Java代码的能力。想了解有关java更多详细信息,建议参加Java培训,通过系统全面的学习,可以快速提升自己。

  Java是最流行的编程语言之一,提供独特特性的能力是巨大响应的原因。尽管Java的语法与C++相似,但它提供了更多的功能。两者都是面向对象的编程语言。

  一个程序如何在JAVA中执行?

  javac执行任何编写的Java代码。

  l JAVA编译器产生一个. class文件或字节码,而不是机器本机代码(与C编译器不同)。

  l 产生的字节码不是机器可执行的,需要一个解释器在计算机上运行。JVM充当这个解释器,因此,它执行字节码。

  l 然后,软件最终执行以获得预期的结果。

  使用C或C++时,编译器创建依赖于操作系统的.exe文件(这些语言不是独立于平台的)。这当我们尝试在另一个操作系统上运行这个.exe文件时,它将无法运行,因为它依赖于该操作系统并且与之不兼容。在java培训中,有系统全面的理论知识和企业级实战项目,可以让你真正掌握java知识和技能,更好地进行项目开发。

  既然我们已经讨论了它的高级程序执行,让它独立于平台。与其他编程语言不同,javac编译器生成的字节码可以在各种操作系统上运行。事实上,Java生成的字节码只需要JVM。操作系统对它没有影响。只要存在javac编译器,你就可以在任何平台上编写和执行代码。

  Java代码是如何执行的?

  在Java中,编译器将程序转换成字节码,字节码不是可执行代码。现在,任何其他平台或操作系统都可以运行这个字节码。当我们执行它的程序或文件时,我们获得一个. class文件,这是一个不可执行的文件。我们需要一个虚拟机来执行一个. class文件。JVM无疑是平台无关的。类似于它如何根据周围环境而变化。例如,MAC和Linux与Windows有不同的JVM。它支持可移植性,因为它的代码的可移植字节码使它与平台无关。

  

  平台独立性是什么意思?

  平台是一种软件或硬件,程序在其上有规律地运行。这种语言的平台Java运行时环境是可用的。平台独立性是指程序独立于系统的操作系统。它采用“一次写入,随处运行(WORA)”的方法。如果你正在考虑如何快速学习java,那么参加java培训掌握更全面的知识和技能将是一个很好的开始。

  编译代码

  每次编写代码时,我们都遵循编程语言的语法,这通常是可读的。包括一些单词、变量名、短语、方法名等。所有这些都被视为人类可以阅读和理解的文学。

  因此,计算机运行编译器将源代码转换为机器可读代码,也称为机器语言。编译器以某种格式创建机器级代码,以便CPU可以容易地理解它并执行它而不出错。

  除非两台计算机运行在同一个操作系统上,否则当一种机器语言因操作系统而异时,我们无法在另一台机器上运行在一台机器上开发的代码。很多开发者和程序员认为这是不可接受的。然而,Java简化了事情,并包含了对此的修复。

  JVM架构

  JVM是Java编译器的一个组件,它将.Java文件转换为.class文件。当我们编译Java代码时,源代码中的关键函数称为JVM。

  类加载器

  它作为一个子系统连接到Java虚拟机,它加载.class文件,检查异常,并且是少量运行时异常的原因。验证后,它允许内存中存在的变量和方法,赋予数组和变量默认值等。此外,它运行代码中的任何方法或静态变量。如果你也打算从事java行业,可以参加java培训来提升自己,有老师带你快速入门,很快就能掌握java知识和技能。

  类加载器被精心设计来处理这个任务。因此,当加载类时,Java运行时不一定需要知道文件及其系统。

  Bootstrap类加载器、Application 类加载器和Extension加载器是JVM中的三种内置类加载器。简单介绍一下这些类是如何工作的:

  Bootstrap类加载器:使用类加载器加载Java库。

  Extension类加载器:将代码加载到扩展目录或系统属性指定的任何其他目录中。

  Application 类加载器:类加载器加载任何Java.class.path找到的代码,并最终将其映射到CLASSPATH环境变量。

  

  JVM中的内存区域

  JVM类/方法区域中的内存区域

  它存储的数据包括方法名、类名和变量名。它是一个类中所有方法和变量的集中资源。它的功能就像一个存储器,保存完成任务所需的数据。它由计算机的所有线程共享。该执行将确定它是固定大小还是可扩展大小。对Java 感兴趣的同学可以报名参加java培训,有经验丰富的专业讲师指导教学,可以让你快速掌握这门技术,节约时间,少走弯路。

  堆

  堆跟踪其区域中保存的所有数据。它将数据保存在一个特定的量中,直到程序执行后才知道。它在整个计划中都得到了利用。它用于分配动态内存。在堆区域中,开发了新项目。

  JVM语言堆栈

  当一个函数被执行时,它将当前数据保存在块中,也称为框架或堆栈框架,它维护局部变量,并大量参与线程管理。

  PC注册系统

  当前正在运行的指令的地址存储在那里。当有多个线程正在执行时,这是有益的。

  本地方法

  它跟踪所使用的本地技术的所有细节。它可以访问Java无法访问的特定于系统的功能。这个项目的主要目标是通过内存级通信来提高系统性能。

  执行引擎

  执行引擎将运行字节码,并释放分配给任何未引用对象的内存。通过读取流中的字节码并逐行解释,执行引擎中的解释器将执行它。在java培训中,有系统全面的理论知识和企业级实战项目,可以让你真正掌握java知识和技能,更好地进行项目开发。

  它还具有一个有趣的特性,称为JIT编译器(Just In Time Compiler),它为函数创建本机可执行代码,这样如果有重复的函数调用,JVM就不必解释它们两次。结果,提高了执行性能。

  本机方法接口

  Java通过这个接口与其他语言编写的程序交互,比如C/C++。互动是双向的;程序本身或JVM可以相互调用。由于源代码的系统特定应用,它具有有限的可移植性。它使得本机代码(用C或C++编写)与其他程序(用Java或其他语言编写)的接口更加容易。此外,这也是Java平台独立性的来源。

  本机方法库

  它跟踪执行引擎可能需要的任何本地语言库,它们被归类为为特定架构创建的程序集合,这些文件是特定于平台的。

  我们已经知道了JVM的架构。对于相同的字节码输入,这些JVM的结果将是相同的,即使这个JVM对于不同的操作系统是不同的。参加java培训,培训课程实时更新,紧跟市场和企业需求,让你掌握最新技术,走在市场前沿。

  

  平台无关和平台相关

  通过使用Java虚拟机,我们可以使字节码在任何平台上都是可理解的。因此,字节码被认为是独立于平台的。另一方面,Java虚拟机被称为平台相关的,因为它因平台而异。因为它不依赖于任何一个平台,所以Java是平台无关的。因此,Java是一种框架语言。

  编译和解释在平台无关性中扮演什么角色?

  为了实现平台独立性,它结合了编译和解释。当一个程序被编译成Java时,它被转换成字节码,通常被称为. class文件,而不是机器码。现在,这个字节码通过它的特性将它与机器码区分开来,因为它可以被移植到另一个平台,但是Java不能。该字节码可以在Java虚拟机上执行。

  为什么Java不是完全平台独立的?

  Java中重要的一点是JVM依赖于操作系统;因此,如果你使用的是Mac OS X,你的JVM将不同于使用Windows或其他操作系统的人。这一事实可以通过为你的特定计算机下载JVM来确认。这样做时,你将看到与各种操作系统相对应的JVM选择;你应该清楚地为你现在使用的操作系统选择JVM。因此,我们可以得出这样的结论:JVM是平台相关的,这就是Java能够变得“平台无关”的原因。参加以实战项目为主要教学方法的Java培训,可以有效地缩短同企业具体用人需求之间的差距,在短时间内掌握java所需的技能,更好地找到工作。

免费预约试听课