什么是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.pngJVM架构
它包含类加载器,内存区域,执行引擎等。
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.pngJava 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的执行速度可能较慢。
网友评论