Java源文件的执行过程

目录

1.JVM

2.字节码

3.Java源文件执行的过程

4.JIT(Just In Time Compilation)

5.AOT(Ahead Of Time Compilation)

6.AOT破坏Java动态性

7.编译型语言与解释型语言

8.Java-编译与解释并存的语言

9.Java和C++的相同点与不同点

10.Oracle JDK 和 Open JDK


1.JVM

1.定义:Java虚拟机

2.作用:运行Java字节码文件

3.实现方式:针对不同的操作系统(Windows、MacOS、Linux)存在不同的实现方式。目的是运行相同的Java字节码文件,在不同系统中给出相同的结果

4.自定义JVM:只要满足JVM规范,就可以自定义自己的JVM

2.字节码

1.定义:字节码就是JVM能够处理的代码,是面向虚拟机

2.优点:由于字节码是面向虚拟机的,因此在不同操作系统可以无需重新编译;并且执行效率高

3.Java源文件执行的过程

过程:Java源文件--->javac编译--->.class文件(字节码文件)--->解释运行--->机器码

重点:字节码文件到机器码这一过程中,Java的类的加载器需要先将字节码文件加载到内存中,然后解释器开始逐行解释执行,这样做效率低。引入JIT(just in Time Compilation)运行时编译器,能够在编译后将字节码文件对应的机器码保存下来,机器码的运行效率是比较高的。

4.JIT(Just In Time Compilation)

1.定义:运行时编译器;在对字节码文件解释运行时边运行边编译,并将编译后字节码文件对应的机器码保存下来,从而提高程序运行效率

2.优点:根据内存中实际情况调整代码;根据运行情况生成最优机器指令序列

   缺点:需要占用运行时资源,导致程序卡顿;编译准备和识别时会占用时间,使得初始编译不能达到最高性能

5.AOT(Ahead Of Time Compilation)

1.定义:提前编译器对字节码文件在执行前就编译为机器码;可以减少JIT初始编译时无法达到最高性能的问题 

2.优点:在程序编译前编译,避免在运行中占用系统资源;在程序运行初期就达到最高性能

   缺点:提前编译会占用更多外存;牺牲了Java的动态性

6.AOT破坏Java动态性

Java中的反射机制是动态获取运行时类的对象及调用运行时类的方法,此时只能采用JIT进行编译;若采用AOT,则全部已经提前编译,无法动态的修改运行时类的属性

7.编译型语言与解释型语言

编译型:通过编译器将源代码一次性翻译为可以被平台执行的机器码

        优点:执行速度快

        缺点:开发效率低

        实例:C、C++、Go

解释型:通过解释器将代码逐行解释为机器码后,被平台执行

        优点:开发效率高

        缺点:执行速度慢

        实例:Python、JavaScript

8.Java-编译与解释并存的语言

为改善编译语言的效率,将编译和运行相结合,使得具有编译语言和解释语言二者的优点。在Java中,先将程序源代码编译为字节码文件;在执行时,再将字节码文件解释为机器码

9.Java和C++的相同点与不同点

相同点:都是面向对象的语言;都支持封装、继承、多态

不同点:

        Java不提供指针直接访问内存,程序更安全

        Java类是单继承,C++的类支持多继承

        Java存在GC垃圾自动回收,无法手动释放无用内存

        C++支持方法重载和操作符重载Java只支持方法重载

        

10.Oracle JDK 和 Open JDK

Sun公司2006将Java开源,因此有了Open JDK

Oracle公司2009年收购了Sun公司,在Open JDK基础上整理出Oracle JDK,Oracle JDK不开源

二者区别:

        是否开源:Oracle JDK是不完全开源的,Open JDK是开源的

        是否免费:Oracle JDK仅仅3年免费,Open JDK免费

        功能性:Oracle JDK相比于Open JDK添加了特有的功能和工具

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要下载Javan案例源文件,您可以按照以下步骤操作: 1. 首先,打开您的浏览器,并在搜索引擎中输入“Javan案例源文件下载”进行搜索。 2. 在搜索结果中,您可能会找到一些可供下载的Javan案例源文件的网站或资源链接。请注意,确保您从可信的和安全的来源进行下载。 3. 点击一个您认为可靠的链接,通常网站上会提供一些案例源文件下载的选项。 4. 在下载页面上,您可能需要进行一些确认步骤,例如输入验证码、点击下载按钮等。按照页面上的指示完成这些步骤。 5. 在下载完成后,您可以在默认的下载文件夹中找到您刚下载的Javan案例源文件。您可以将其保存到您希望的任何位置。 如果您无法在搜索引擎上直接找到Javan案例源文件的下载链接,您还可以尝试其他途径,例如通过访问Javan的官方网站、Javan的开发者社区或论坛等来获取案例源文件。在这些社区或论坛中,您可以提问并寻求其他用户的帮助或分享他们的经验。 总之,下载Javan案例源文件过程取决于您的搜索能力、选择可靠来源的能力以及网络条件。希望以上的回答对您有帮助! ### 回答2: Javan案例源文件是指由Javan语言编写的程序案例所使用的源代码文件。要下载Javan案例源文件,首先需要确定从哪个来源或网站获取这些文件。一般来说,可以通过以下几种方式进行下载。 1. 官方网站:前往Javan官方网站,通常官方网站会提供Javan案例源文件的下载链接或者存放在开发者中心的文件资源库中。用户可以浏览网站上相关的页面或者使用搜索功能来找到并下载所需的源文件。 2. 开源社区:Javan作为一门开源语言,很多开发者在开源社区中分享自己编写的案例源文件。用户可以前往像GitHub等开源社区网站,在搜索框中输入关键词,如"Javan案例源文件"或者"Javan示例代码",来找到并下载其他开发者共享的案例源文件。 3. 教育培训机构:有些教育培训机构或编程学院可能会提供Javan的案例源文件供学员下载使用。如果你正在参加这样的培训课程,可以向老师或机构工作人员咨询如何获得这些文件。 无论从哪个渠道下载Javan案例源文件,建议先确认文件的合法性和来源可信度,以确保下载的源文件没有病毒或恶意代码。下载后,可以使用Javan开发环境(如IntelliJ IDEA)或任意支持Javan的编辑器打开这些源文件,进行学习或案例运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值