专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » java编译器:Java没有#ifdef的条件编译 »正文

java编译器:Java没有#ifdef的条件编译

来源: 发布时间:星期一, 2008年10月20日 浏览:111次 评论:0
所谓条件编译,就是程序中的某部分是否被编译,取决于某个条件成立与否。一种常见的方法是排除调试输出语句。一旦程序正常运行,开发人员就会删除这些语句,以使程序更为简洁或运行效率更高。虽然java缺乏显示的条件编译,但它有一种隐式的条件编译。

所有的java编译器都必须进行流程分析,以确保:变量必须先赋值,才能被引用;所有带返回值的函数必须提供返回值等。如果编译器发现了某个值为false的语句,编译器将不对条件覆盖的代码段生成字节码。因此,根据java编译器的优化和布尔常量(final boolean)的机制,java也能够提供条件编译。

在C里面,有一个关键字_inline,它告诉编译器,不需要调用这个函数(或方法)。当C编译器生成机器代码时,调用_inline函数将直接被实际的方法体现代替,而不必进行将参数压入堆栈、获取控制、得到参数以及返回值等一系列调用函数的过程,在java中,final方法就相当于C的内联函数,这也是编译器优化的一个策略。

如果本文没有解决您的问题,请进老妖怪开发者社区提问

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: