导航:首页 > 源码编译 > 编译成原生代码

编译成原生代码

发布时间:2024-12-31 06:18:30

① AJDK-AOT静态编译

Go语言受到青睐于云上新应用,主要因其运行时无依赖,静态编译的程序启动速度快,无需JIT预热。

java的静态编译技术作为激进的AOT技术,通过独立编译阶段将Java程序转化为本地代码,运行时不需传统Java虚拟机和运行时环境,仅需操作系统类库支持。

静态编译技术使Java语言与原生native程序“合体”,将Java程序编译为自举的具有Java行为的原生native程序,兼备Java程序与原生native程序的优点。

Java编译流程包括前端编译、即时编译(JIT编译)与静态提前编译(AOT编译)。

前端编译将Java源码(.java)转化为Class文件(.class),实现程序转化为满足JVM规范的功能,优化侧重于程序编码,编译为Class文件可直接给JVM解释器执行,省去编译时间,加快启动速度。

后端编译(JIT编译)通过JVM内置的即时编译器,在运行时将Class文件字节码编译成本地机器码,优化程序运行性能,提高执行效率。

静态提前编译(AOT编译)程序运行前,直接将Java源码编译成本地机器码,优点在于启动速度快,缺点是静态编译后性能优化受限。

静态编译器如JAOTC、GCJ、Excelsior JET、ART等,尤其是ART虽然主要通过AOT编译支持Java运行,但仍然存在解释器。

目前Java体系主要采用前端编译+JIT编译方式,如JDK中的HotSpot虚拟机,通过前端编译生成Class文件,启动时解释执行以节省时间,运行中通过JIT编译优化热点代码提高执行效率。

JIT编译与AOT编译比较,JIT吞吐量高,有运行时性能加成,执行更快,但启动速度较慢,需要时间与调用频率触发分层机制;AOT编译内存占用低,启动速度快,无运行时性能加成,不能动态优化。

Java 9引入AOT编译,能将class文件直接编译成可执行二进制文件。

在JVM团队与SOFAStack团队合作下,AJDK实现静态编译的落地,将应用启动时间从60秒优化至3.8秒,双十一期间应用运行稳定,无故障,GC停顿时间在100毫秒,内存占用和RT响应与传统Java应用持平,启动时间降低2000%。

综上所述,静态编译在稳定性、资源占用、RT响应等方面指标与传统Java应用基本持平,启动时间显着缩短。

python是什么编程语言,和C++比怎么样

python是解释语言,c++是编程语言。

1、编译器是off-line,解释器是on-line。编译器把整个程序读进来,进行一系列变大变小转化优化的过程,产生可执行文件,然后编译器退出,由可执行文件来读取和输出数据,python main.py这个命令会启动python虚拟机和解释器,将main.py的代码一行一行解释,只不过不同于REPL,它不会把每一行表达式的值打印出来。
2、Python是一种解释执行的语言,Python的缩进要求十分严格,通过缩进来区别代码块,C++是一种需要编译执行的语言,通过大括号来区分代码块。C++的工作方式是,首先将写好的代码保存到扩展名为.cpp的文件中,然后编译.cpp文件。编译器将C++代码转换为原生代码。然后执行这些机器代码。因此,C++非常靠近硬件。
、C++和Python都是从C语言演变出来的面向对象的编程语言,将相关数据和操作数据的方法打包成一个类,不同的类相互隔离,也可以自由组合,类是一组数据以及操这组数据的函数(方法)的集合。类是对象的抽象模板,对象是类的具体实例,给类的数据取不同的值,同一个类就产成了不同的对象。

阅读全文

与编译成原生代码相关的资料

热点内容
朗行压缩机维修 浏览:416
单片机比例运算电路 浏览:51
程序员改方案亮刀枪 浏览:134
无源资源码化的作用 浏览:997
java内存编译 浏览:161
福建节能环保无油螺杆压缩机型号 浏览:525
美国纽约摄影学院pdf 浏览:950
如何把网页代码上传到服务器上 浏览:658
清理笔记本电脑灰尘解压视频 浏览:206
夜蒲聚会app是什么软件 浏览:641
任天堂如何区分服务器 浏览:818
云服务器的运用前景 浏览:547
解压视频素材哪里有 浏览:255
小米5android7 浏览:842
极品飞车10修改直接解压 浏览:640
简易算法怎么用 浏览:497
压缩比101用什么油 浏览:562
买白银下什么APP 浏览:842
服务器操作台如何操作 浏览:245
可编程安全继电器 浏览:989