收录了 java的编译器 频道下的 50 篇内容
在某些情况下Java与Flex的集成是富于挑战的。Adobe期望通过Flex 3的发布来简化这一切,在Flex 3中包含了一个基于Java的编译器API。这个API可以让你从Java应用中编译SWF和SWC文件, 支持与mxmlc和compc命令行工具相同的选项。
本文会先解析一下即时编译器的原理,然后再分享一些在美团实践的经验,希望能对大家有所帮助或者启发。
Oracle发布了Graal,它既是Java的新JIT编译器,也是下一代多语言虚拟机GraalVM的主要组件。这项工作旨在改善启动时间,并减少Java应用程序的资源占用,并在单个VM中解锁完全多语言技术。初始版本包括JVM和对JS、Ruby和R语言的支持。
近日,Azul Systems发布了Zing 17.03。该版本完全支持Azul基于LLVM的新的Java即时(JIT)编译器Falcon。该编译器设计用来取代Zing先前版本以及Oracle HotSpot和OpenJDK使用的C2编译器。Falcon是1997年JavaOne大会推出C2以来Java SE的第一个新的生产用JIT编译器。
现有版本、GraalVM企业版和其他GraalVM项目不会进行转移。
近日Excelsior LLC发布了最新版的Excelsior JET来防止对Eclipse RCP应用进行反编译与未授权的修改。
Graal是一个以Java为主要编程语言,面向Java bytecode的编译器。与用C++实现的C1及C2相比,它的模块化更加明显,也更加容易维护。Graal既可以作为动态编译器,在运行时编译热点方法;亦可以作为静态编译器,实现AOT编译。在Java 10中,Graal作为试验性JIT compiler一同发布(JEP 317)。这篇文章将介绍Graal在动态编译上的应用。
Java类文件中包含的字节代码可以被不同平台上的JVM所使用。Java字节代码不仅可以以文件形式存在于磁盘上,也可以通过网络方式来下载,还可以只存在于内存中。JVM中的类加载器会负责从包含字节代码的字节数组(byte[])中定义出Java类。在某些情况下,可能会需要动态的生成 Java字节代码,或是对已有的Java字节代码进行修改。这个时候就需要用到本文中将要介绍的相关技术。
编译原理晦涩难懂?一份超全的学习攻略,基础要求、核心知识、资料推荐...统统有。
随着Flex3产品版本的发布,InfoQ采访了Adobe的James Ward来更深入地了解Flex3。去年Ward向InfoQ的读者概要介绍了Flex3并消除了人们对Flex的很多误解。在这次采访中,Ward介绍了Flex以及开源的一些情况,并深入讲解了来自Flex生态圈的一些内容。
Coverity已经发行了其测试平台7.0版,该版本除了支持SonarQube、Eclipse和Visual Studio 2013之外,还改进了C#、Java、C、C++算法支持。以此同时,它也支持Clang编译器,该编译器广泛用于Objective-C和C/C++应用的开发工作中。---Anand
大家都知道Eclipse已经实现了自己的编译器,命名为 Eclipse编译器for Java (ECJ)。
闭源时被质疑是否真的存在这样一个编译器,开源后又被喷技术含量不行,方舟编译器怎么就这么难?本文,鸿蒙开源主管及方舟编译器架构师首次完整公开分享了方舟编译器的基础架构。
GraalVM原生编译中的一些功能合并到OpenJDK代码库中。
Java的class字节码并不是机器语言,要想让机器能够执行,还需要把字节码翻译成机器指令。这个过程是Java虚拟机做的,这个过程也叫编译。是更深层次的编译。
静态常量可以再编译器确定字面量,但常量并不一定在编译期就确定了, 也可以在运行时确定,所以Java针对某些情况制定了常量优化机制。
我们都知道开发语言整体分为两类,一类是编译型语言,一类是解释型语言。那么你知道二者有何区别吗?编译器和解释器又有什么区别?
本文结合京东监控埋点场景,对解决样板代码的技术选型方案进行分析,给出最终解决方案后,结合理论和实践进一步展开。通过关注文中的技术分析过程和技术场景,读者可收获一种样板代码思想过程和解决思路,并对Java编译器底层有初步了解。
JEP(JDK增强提案)182建议,在Java 9及以后的版本中,除当前版本外,javac的-target和-source命令最多支持3个更早的版本。Java 9将仅支持1.9/9、1.8/8、1.7/7和1.6/6。