Java快速入门1简介

作者: python测试开发 | 来源:发表于2019-07-05 17:03 被阅读46次

    什么是Java?

    Java是一种编程语言和应用程序开发的计算平台。 它最初由Sun Microsystem于1995年发布,后来被Oracle Corporation收购。 它是最常用的编程语言之一。

    什么是Java平台?

    Java平台是一组程序,有助于开发和运行用Java编程语言编写的程序。 Java平台包括执行引擎,编译器和库。 JAVA是跨平台的。

    什么是JVM?

    JVM是一个引擎,它提供运行时环境来驱动Java代码或应用程序。 它将Java字节码转换为机器语言。 JVM是JRE(Java Run Environment)的一部分。 它代表Java虚拟机。Java编译器为称为Java虚拟机的虚拟机生成代码。Java代码被编译为字节码。 该字节码在不同的机器上解释,Bytecode是一种中间语言。JVM负责分配内存空间。

    image.png

    JVM架构

    它包含类加载器,内存区域,执行引擎等。


    image.png
    • 1)ClassLoader

    类加载器是用于加载类文件的子系统。 它执行三个主要功能即。 加载,链接和初始化。

    • 2)方法区域

    JVM方法区域存储类结构,如元数据,常量运行时池和方法代码。

    • 3)堆

    所有对象,它们的相关实例变量和数组都存储在堆中。 此内存很常见,可以跨多个线程共享。

    • 4)JVM语言堆栈

    Java语言Stacks存储局部变量,它是部分结果。 每个线程都有自己的JVM堆栈,在创建线程时同时创建。 每当调用方法时都会创建一个新帧,并在方法调用过程完成时删除它。

    • 5)PC寄存器

    PC寄存器存储当前正在执行的Java虚拟机指令的地址。 在Java中,每个线程都有其独立的PC寄存器。

    • 6)本机方法堆栈

    本机方法堆栈保存本机代码的指令取决于本机库。 它是用另一种语言而不是Java编写的。

    • 7)执行引擎

    它是一种用于测试硬件,软件或完整系统的软件。 测试执行引擎从不携带有关测试产品的任何信息。

    • 8)本地方法接口

    Native Method Interface是一个编程框架。 它允许在JVM中运行的Java代码由库和本机应用程序调用。

    • 9)原生方法库

    Native Libraries是执行引擎所需的本机库(C,C ++)的集合。

    软件代码编译和执行过程

    要编写和执行软件程序,您需要以下内容

    • 1)编辑

    • 2)编译器 - 将高级语言程序转换为本机机器代码

    • 3)链接器 - 将主程序中的不同程序文件引用组合在一起。

    • 4)装载机 - 将文件从二级存储设备(如硬盘,闪存驱动器,CD)加载到RAM中以便执行。 执行代码时会自动完成加载。

    • 5)执行 - 实际执行由您的OS和处理器处理的代码。

    c语言编译过程

    image.png image.png image.png image.png image.png image.png

    参考资料

    java语言编译过程

    编译器将编译这三个文件并生成3个相应的.class文件,该文件由BYTE代码组成。 与C不同,不进行链接 。

    image.png

    Java VM或Java虚拟机驻留在RAM上。 在执行期间,使用类加载器将类文件放在RAM上。 针对任何安全漏洞验证BYTE代码。

    image.png

    接下来,执行引擎将Bytecode转换为Native机器代码。 这是及时编译。 这是Java相对较慢的主要原因之一。

    注意: JIT或Just-in-time编译器是Java虚拟机(JVM)的一部分。 它解释了具有类似功能的字节代码的一部分。

    为什么Java慢?

    Java缓慢背后的两个主要原因是

    • 动态链接:与C不同,每次程序在Java中运行时,链接都是在运行时完成的。
    • 运行时解释器:字节代码转换为本机机器代码是在Java运行时完成的,这进一步降低了速度

    但是,最新版本的Java在很大程度上解决了性能瓶颈问题。且一般而言Java比python之类的脚本语言要快,不过python有很多库直接用c或c++书写,也有很多场合python比java快的情况。

    小结

    • JVM或Java虚拟机是驱动Java代码的引擎。 它将Java字节码转换为机器语言。
    • 在JVM中,Java代码被编译为字节码。 该字节码在不同的机器上解释
    • JIT或Just-in-time编译器是Java虚拟机(JVM)的一部分。 它用于加快执行时间
    • 与其他编译器机器相比,Java的执行速度可能较慢。

    相关文章

      网友评论

        本文标题:Java快速入门1简介

        本文链接:https://www.haomeiwen.com/subject/iswehctx.html