在具有活动JIT编译器的JVM中,会通过不断编译编译代码的“边缘部分”,直到转换次数不会影响性能为止,最终消除这种代价。
In a JVM with an active JIT compiler, this cost is eventually eliminated by compiling "around the edges" of the compiled code until the number of transitions is too small to impact performance.
开发人员应当在处理语言元素、进行编译准备,以及编译、链接和执行程序时与编程团队进行沟通。
Developers should communicate with programming teams on working with language elements, preparing for compilation, and compiling, linking and executing programs.
对动态编译器而言,编译器自身作出决策,而对于静态编译器,由开发人员作出选择。
For dynamic compilers, the compiler itself makes this decision, whereas for static compilers, the selection is up to the developer.
编译器运行的次数很难预测,JVM按照自己的想法从解释代码切换到编译代码,而且在运行期间,相同的代码路径可能编译、重新编译不止一次。
The compiler runs at less predictable times, the JVM switches from interpreted to compiled code at will, and the same code path may be compiled and recompiled more than once during a run.
动态编译器通过最终编译所有由JIT编译代码频繁调用的那些解释过的方法来减少这项开销,但是如果不使用动态编译器,则这项开销就不可避免。
A dynamic compiler mitigates this cost by eventually compiling all the interpreted methods that are frequently called by JIT compiled code, but without a dynamic compiler, this cost can't be hidden.
这些示例程序同时以已编译和未编译的形式提供。
在同一个应用程序中,不能将使用THREAD编译器选项编译的程序与使用默认的NOTHREAD编译器选项编译的程序混合在一起。
You cannot mix programs compiled using THREAD compiler option and programs compiled using the default NOTHREAD compiler option in the same application.
让JIT编译器选择编译的方法是不是优点很难说,取决于编译器在给定情形中推断能力的好坏。
Having the JIT compiler choose the methods to be compiled may or may not be an advantage, depending on how well the compiler's heuristics work in a given situation.
此外,AOT能够比JIT编译器编译更多的方法,因此aot编译也能比JIT编译产生更好的性能。
Moreover, more methods can be AOT compiled than a JIT compiler might decide to compile, which can also result in better performance with AOT compilation than JIT compilation.
现在JRuby中有2048个方法采用即时编译,而提前编译能减轻这一限制。
Currently, just in time compilation in JRuby is restricted to 2048 methods, ahead of time compiling can help to mitigate that restriction.
WebSphereRealTime目前不允许混合使用动态JIT编译和预先编译的代码。
WebSphere Real Time does not currently permit the mixing of dynamic JIT compiling and precompiled code.
内核编译系统首先编译这些模块,并将其连接成为vermagic . o。
The kernel build system compiles the module first and then links to vermagic.o.
由于在程序执行前进行编译,AOT编译器必须谨慎对待它所编译的代码所引用的类、字段和方法。
By compiling before the program executes, the AOT compiler must be conservative about classes, fields, and methods referenced by the code it compiles.
编译器在其中放置编译输出的目录。
不经常使用的方法采用较低的优化级别进行编译,这样编译完成得很快并产生显著的性能收益。
The less frequently used methods are compiled at lower optimization levels, which are designed to complete quickly and produce a significant performance gain.
这个工具的输入是应用程序的源代码和使用某些编译器选项编译的二进制文件。
The input for this tool is the application's source code and the resulting binaries compiled with certain compiler options enabled.
本机代码在应用程序运行时由即时(JIT)编译器编译(而且可以重新编译),基于经常调用的类和方法。
Native code is compiled (and can be recompiled) by a Just-in-time (JIT) compiler while the application runs, based on which classes and methods are invoked frequently.
编译器的首个编译过程会将其编译成语法树。
The first pass of the compiler turns this into a syntax tree.
ccache _PREFIX定义了当c cache调用真实的编译器来编译源文件(预处理之后)时所使用的前缀。
CCACHE_PREFIX defines a prefix to use when ccache calls the true compiler to compile the source (after preprocessing).
接下来,生成的源代码再经过其他标准的编译器编译并使用IKVM库引用来生成MSIL字节码。
The resulting source code then passes through the rest of the standard compiler phases producing MSIL byte-code with IKVM library references.
因此如果是选择性地编译方法,则必须谨慎操作以使从已编译方法到未编译方法的转换最小化。
So if methods are selectively compiled, care must be taken to minimize transitions from compiled methods to methods that aren't compiled.
如果使用THREAD编译器选项编译包含不恰当元素的程序,则会将这些元素标记为错误。
If you compile the program containing unwanted elements with the THREAD compiler option, they are flagged as errors.
强制使用静态类型通常需要编译器,而编译步骤必然会降低生产力。
Enforcing static typing usually requires a compiler, and that compile step can absolutely crush productivity.
它按次序调用底层编译器来编译C/C++源。
It serially invokes the underlying compiler to compile C/C++ sources.
我刚刚做完了BEGIN和END块的编译,这样整个编译器就完成了。
I just finished up compilation on BEGIN and END blocks, which brings the compiler to completion.
在静态语言中,编译器在编译时直接将调用绑定到实现。
You've seen that with static languages, the compiler directly binds an invocation to an implementation at compile time.
因为在程序执行时进行编译,所以编译代码的时间将计入程序的执行时间。
Because compilation happens at the same time as program execution, the time it takes to compile the code is added to the program's running time.
本地编译器编译与本机同类的处理器的指令。
A native compiler compiles instructions for the same sort of processor as the one it is running on.
HotSpot开始的版本编译的时候每次编译一个方法。
The initial version of HotSpot performed compilation one method at a time.
要使用AspectJ 完成这个操作,必须使用ajc编译器来编译类和Aspect代码。
To do this using AspectJ, you must compile your class and aspect code with the ajc compiler.
应用推荐