Java快速入门1简介

什么是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

参考资料

  • python测试开发项目实战-目录
  • python工具书籍下载-持续更新
  • python 3.7极速入门教程 - 目录
  • 讨论qq群630011153 144081101
  • 原文地址
  • 本文涉及的python测试开发库 谢谢点赞!
  • 本文相关海量书籍下载

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简介)