查看内联Java函数

查看内联Java函数,java,user-interface,inline-code,Java,User Interface,Inline Code,首先,我知道关于“Java内联”有几个问题。但它们都是关于编译器或JVM如何内联函数调用的。我对自己做这件事感兴趣,或者为它创建某种视图。我想定义一个类的函数调用,并希望看到所有内容都内联。每个方法调用都应该内联。我不知道如何处理新对象的实例化,但这并不重要 目标是手动优化,即,如果经常根据null检查参数。有这样的工具吗?我更喜欢GUI,但某种命令行工具也足够了,我可以在其中指定一个类函数并将一些文本转储到某个地方 编辑: 澄清: 今天,我主张使用NullObjectPattern,因为有些人

首先,我知道关于“Java内联”有几个问题。但它们都是关于编译器或JVM如何内联函数调用的。我对自己做这件事感兴趣,或者为它创建某种视图。我想定义一个类的函数调用,并希望看到所有内容都内联。每个方法调用都应该内联。我不知道如何处理新对象的实例化,但这并不重要

目标是手动优化,即,如果经常根据
null
检查参数。有这样的工具吗?我更喜欢GUI,但某种命令行工具也足够了,我可以在其中指定一个类函数并将一些文本转储到某个地方

编辑

澄清:


今天,我主张使用
NullObjectPattern
,因为有些人在防御性地到处检查null。这使得代码不可读且不干净。我不喜欢它,希望有一种工具,向他们展示他们实际上是多么频繁地一次又一次地检查同一个参数的null。

正如所说的:不要猜测,尤其是当你不知道JIT编译器在代码运行一段时间后会做什么的时候。你可以浪费无限的时间来改进占运行时间1%的东西,只节省1%,或者你可以花很短的时间来改进占运行时间20%的东西,只节省2%;后者是一个更好的选择

确定哪些值得改进的方法是在代码完全预热后对其进行适当的评测


而获得显著改进的方式通常更多地与改进的算法有关,而不是与单个指令的微调有关。

这不是优化代码的好方法。是的,你在问什么?您知道JVM不是Java编译器,对吗?因此,不可能指定应该内联的方法。这是由JVM完成的,而不是由编译器完成的。如果要手动使代码不可读,请使用Eclipse、右键单击方法、重构、内联(或Alt+Shit+i)。@zapl Ready!开火!瞄准!