![]() ![]() |
|
JAVA技巧(Java没有#ifdef的条件编译) | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/10/22 21:36:22 文章录入:杜斌 责任编辑:杜斌 | |
|
|
所有的java编译器都必须进行流程分析,考试大提示: 以确保:变量必须先赋值,才能被引用;所有带返回值的函数必须提供返回值等。如果编译器发现了某个值为false的语句,编译器将不对条件覆盖的代码段生成字节码。因此,根据java编译器的优化和布尔常量(final boolean)的机制,java也能够提供条件编译。 在C里面,有一个关键字_inline,它告诉编译器,不需要调用这个函数(或方法)。当C编译器生成机器代码时,调用_inline函数将直接被实际的方法体现代替,而不必进行将参数压入堆栈、获取控制、得到参数以及返回值等一系列调用函数的过程,在java中,final方法就相当于C的内联函数,这也是编译器优化的一个策略。 www.Examda.CoM |
|
![]() ![]() |