JVM内联函数ITeye - AG环亚娱乐集团

JVM内联函数ITeye

2019-01-10 13:26:52 | 作者: 思璇 | 标签: 函数,内联,程序 | 浏览: 2708

首要来看函数的调用进程:

       调用某个函数实践大将程序履行次序搬运到该函数所存放在内存中某个地址,将函数的程序内容履行完后,再返回到转去履行该函数前的当地。 
       这种搬运操作要求在转去前要维护现场并回忆履行的地址,转回后先要康复现场,并按本来保存地址持续履行。也便是一般说的压栈和出栈。 
       因而,函数调用要有必定的时刻和空间方面的开支。那么关于那些函数体代码不是很大,又频频调用的函数来说,这个时刻和空间的耗费会很大。

 

什么是jvm内联函数?

      内联函数便是在程序编译时,编译器将程序中呈现的内联函数的调用表达式用内联函数的函数体来直接进行替换。明显,这样就不会发生转去转回的问题,可是因为在编译时将函数体中的代码被代替到程序中,因而会添加方针程序代码量,从而添加空间开支,而在时刻代销上不象函数调用时那么大,可见它是以方针代码的添加为价值来交换时刻的节约。

 

JVM内联函数

C++是否为内联函数由自己决议,Java由编译器决议。Java不支持直接声明为内联函数的,假如想让他内联,你只可以向编译器提出恳求: 关键字final润饰 用来指明那个函数是期望被JVM内联的,例:

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

 总的来说,一般的函数都不会被作为内联函数,只要声明晰final后,编译器才会考虑是不是要把你的函数变成内联函数。

 



 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表AG环亚娱乐集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1

    oxygenxml.oxygenITeye

    插件,生成器,代码
  • 2

    JVM参数装备大全ITeye

    信息,打印,前后
  • 3

    ThreadITeye

    先后,正常,作业
  • 4
  • 5

    vba upgradeITeye

    文件,程序,晋级
  • 6

    java 多线程ITeye

    线程,作业,内存
  • 7
  • 8

    ClassLoaderITeye

    运用,文件,办法
  • 9
  • 10

    手机号码校验合法性ITeye

    代表,必定,第二位