Java内联函数

Posted cynchanpin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java内联函数相关的知识,希望对你有一定的参考价值。

1.内联函数就是指函数在被调用的地方直接展开,编译器在调用时不用像一般函数那样,參数压栈,返回时參数出栈以及资源释放等,这样提高了程序运行速度。

2.Java语言中有一个keywordfinal来指明那个函数是内联的,例:

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

        该方法在被调用时。会在调用处直接展开使用,从而提高程序运行速度。

此外finalkeyword另一个作用,防止doSomething方法在子类中被覆盖。假设你希望doSomething是一个终于行为的话。那它应该被设计成final。

        内联不一定好。当被指定为内联的方法体非常大时,展开的开销可能就已经超过了普通函数调用调用的时间。引入了内联反而减少了性能,由于在选择这个keyword应该谨慎些,只是,在以后高版本号的JVM中,在处理内联时做出了优化,它会依据方法的规模来确定是否展开调用。

 




以上是关于Java内联函数的主要内容,如果未能解决你的问题,请参考以下文章

Java 内联函数

Java hashset构造函数内联[重复]

Kotlin函数 ⑦ ( 内联函数 | Lambda 表达式弊端 | “ 内联 “ 机制避免内存开销 - 将使用 Lambda 表达式作为参数的函数定义为内联函数 | 内联函数本质 - 宏替换 )

java新知识学习:

什么是内联函数

内联函数和静态内联函数之间的区别