`
hz_chenwenbiao
  • 浏览: 995956 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java 内联函数(转)

阅读更多

 以前用过C++,知道它里面有一个内联函数这个概念,一般情况用inline关键字修饰,在C++定义类时,那种写中Class定义里面的函数,也被编译器当做内联函数处理。 
    
    说了这么多,还没说什么是内联函数。所谓内联函数就是指函数在被调用的地方直接展开,编译器在调用时不用像一般函数那样,参数压栈,返回时参数出栈以及资源释放等,这样提高了程序执行速度。 
    
    现在该说Java了,对应Java语言中也有一个关键字final来指明那个函数是内联的,例: 

 

public final void doSomething() {
		// to do something
}

 

    该方法在被调用时,会在调用处直接展开使用,从而提高程序执行速度。此外final关键字还有一个作用,防止doSomething方法在子类中被覆盖,如果你希望doSomething是一个最终行为的话,那它应该被设计成final。 
    
    内联不一定好,当被指定为内联的方法体很大时,展开的开销可能就已经超过了普通函数调用调用的时间,引入了内联反而降低了性能,因为在选择这个关键字应该慎重些,不过,在以后高版本的JVM中,在处理内联时做出了优化,它会根据方法的规模来确定是否展开调用。 

分享到:
评论

相关推荐

    Kotlin 内联函数详解及实例

    主要介绍了Kotlin 内联函数详解及实例的相关资料,需要的朋友可以参考下

    Kotlin中关于内联函数的一些理解分享

    inline函数(内联函数)从概念上讲是编译器使用函数实现的真实代码来替换每一次的函数调用,带来的最直接的好处就是节省了函数调用的开销,而缺点就是增加了所生成字节码的尺寸。基于此,在代码量不是很

    内联Java:通过Haskell模块中的内联Java代码进行HaskellJava互操作

    内联Java:从Haskell调用任何JVM函数 Haskell标准包括本机外部功能接口(FFI)。 使用它可能会有点麻烦,GHC中仅实现了C支持。 inline-java使您可以直接从Haskell调用任何JVM函数,而无需使用FFI编写自己的外部导入...

    C++编程思想(Thinking in C++中文版)

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    Kotlin 中文文档.pdf

    函数 高阶函数和lambda表达式 内联函数 其它 多重申明 Ranges 类型检查和自动转换 This表达式 等式 运算符重载 空安全 异常 注解 反射 动态类型 参考 API 语法 互用性 Introduction 6 与 java 交互 工具 Kotlin代码...

    C++编程思想(《Thinking in C++》,Bruce Eckel著)

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    C++编程思想(第2版)_第1卷_标准C++引导

    Bruce Eckel 《Thinking in Java》(Java编程思想)...第9章 内联函数 第10章 名字控制 第11章 引用和拷贝构造函数 第12章 运算符重载 第13章 动态对象创建 第14章 继承和组合 第15章 多态性和虚函数 第16章 模板介绍

    C++编程思想 (作者学习C++亲身体会及多年教学经验)

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    Kotlin 语言参考文档 中文版

    内联函数(Inline Function) 其他 解构声明(Destructuring Declaration) 集合(Collection) 值范围(Range) 类型检查与类型转换 this 表达式 相等判断 操作符重载(Operator overloading) Null 值安全性 异常(Exception)...

    C++编程思想1-5 清晰PDF

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    《C++编程思想》面向对象

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    C++编程思想——学习C++的好书

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    c++经典编程思想教程

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    C++编程思想--全18章

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    C++编程思想.part1

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    C++编程思想(中文版)

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    C++编程思想(入门学习)

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    Kotlin语言文档 中文高清免费版

    内联函数 81 协程 84 其他 88 解构声明 88 集合 ...

    Kotlin官方参考文档中文版

    内联函数 协程 其他 解构声明 集合 区间 类型检查与转换 This 表达式 相等性 操作符重载 空安全 异常 注解 反射 类型安全的构建器 类型别名 多平台项目(预览版) 核心库 标准库 kotlin.test 参考 关键字与操作符 ...

Global site tag (gtag.js) - Google Analytics