Java中的条件编译
来源:互联网 发布:网络的优缺点英语作文 编辑:程序博客网 时间:2024/05/17 22:18
Java没有#ifdef的条件编译
所谓条件编译,就是程序中的某部分是否被编译,取决于某个条件成立与否。一种常见的方法是排除调试输出语句。一旦程序正常运行,开发人员就会删除这些语句,以使程序更为简洁或运行效率更高。虽然java缺乏显示的条件编译,但它有一种隐式的条件编译。
所有的java编译器都必须进行流程分析,以确保:变量必须先赋值,才能被引用;所有带返回值的函数必须提供返回值等。如果编译器发现了某个值为false的语句,编译器将不对条件覆盖的代码段生成字节码。因此,根据java编译器的优化和布尔常量(final boolean)的机制,java也能够提供条件编译。
在C里面,有一个关键字_inline,它告诉编译器,不需要调用这个函数(或方法)。当C编译器生成机器代码时,调用_inline函数将直接被实际的方法体现代替,而不必进行将参数压入堆栈、获取控制、得到参数以及返回值等一系列调用函数的过程,在java中,final方法就相当于C的内联函数,这也是编译器优化的一个策略。
所谓条件编译,就是程序中的某部分是否被编译,取决于某个条件成立与否。一种常见的方法是排除调试输出语句。一旦程序正常运行,开发人员就会删除这些语句,以使程序更为简洁或运行效率更高。虽然java缺乏显示的条件编译,但它有一种隐式的条件编译。
所有的java编译器都必须进行流程分析,以确保:变量必须先赋值,才能被引用;所有带返回值的函数必须提供返回值等。如果编译器发现了某个值为false的语句,编译器将不对条件覆盖的代码段生成字节码。因此,根据java编译器的优化和布尔常量(final boolean)的机制,java也能够提供条件编译。
在C里面,有一个关键字_inline,它告诉编译器,不需要调用这个函数(或方法)。当C编译器生成机器代码时,调用_inline函数将直接被实际的方法体现代替,而不必进行将参数压入堆栈、获取控制、得到参数以及返回值等一系列调用函数的过程,在java中,final方法就相当于C的内联函数,这也是编译器优化的一个策略。
- Java中的条件编译
- Java中的条件编译
- Javascript中的条件编译
- .Net中的条件编译
- C++中的条件编译
- c中的条件编译
- Java条件编译
- java中条件编译
- androi java条件编译
- Java 条件编译
- Java知识点:条件编译
- java实现条件编译
- Java 条件编译
- Source Insight中的条件编译
- C语言中的条件编译
- C语言中的条件编译
- Source Insight中的条件编译
- C#中的#define条件编译
- linux程序退出时返回值的含义
- 一个简单的存储过程
- 【分享】国内著名互联网企业PHP笔试题
- 面试笔试题库
- Java路径的最终解决方案:相对路径寻址
- Java中的条件编译
- 什么是程序员的优秀品质?
- 什么是声道数
- 知道你在冲浪Web时,发生了什么事情吗?
- 使用存储过程,分页用户控件,jQuery进行Ajax分页!
- windows
- (转)VFP文件结构-微软MSDN
- Delphi编写windows外壳扩展
- Base64加密(Qt4版)