• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

cynchanpin

  • 博客园
  • 联系
  • 订阅
  • 管理

View Post

Java内联函数

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

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

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

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

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

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

 

posted on 2017-06-03 19:56  cynchanpin  阅读(1907)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3