java - 什么是内联?

标签 java c++ inlining

我指的是this discussion .我从未用 C 或 C++ 编写过任何代码。我没有任何CS背景。然而,我作为 Java 开发人员已经工作了 5 年,现在我决定更多地了解 CS 并做一些追赶。

最佳答案

执行一段给定的代码时,无论何时调用标准函数,执行时间都比将包含在该函数中的代码转储到那里稍长。每次转储函数中包含的整个代码在另一端是不可维护的,因为它显然会导致代码重复的困惑。

内联 通过让您将函数声明为 inline(至少在 C++ 中)解决了性能和可维护性问题,这样当您调用该函数时 - 而不是您的应用程序在运行时跳来跳去 - 每次调用给定函数时,内联函数中的代码都会在编译时注入(inject)。

这样做的缺点是 - 如果你内联你多次调用的大函数 - 你的程序的大小可能会显着增加(最佳实践建议确实只在小函数上这样做) .

关于java - 什么是内联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1546694/

相关文章:

c++ - shared_ptr 和 const 方法线程安全

.net - 在 .NET 中使用 Hashtable 将指针映射到不可变对象(immutable对象)

Delphi 2010内联没用吗?

Java用另一个定界符替换特定位置定界符

c++ - 如何在 C++ 中检查输入是整数、字符串还是 float

java - Spring Security,始终重定向到登录页面

java - 避免 Function.andThen 中的超态调用点

c++ - 内联或不内联

java - 迭代器类型错误

Java:已编译内容的 HashMap