Есть ли в Java подставляемые функции?

Существует ли понятие подставляемых функций в Java или его замененный что-то еще? Если существует, как это используется? Я услышал это public, static и final методы являются подставляемыми функциями. Мы можем создать нашу собственную подставляемую функцию?

105
задан Nathaniel Ford 20 November 2012 в 17:16
поделиться

4 ответа

То, что вы сказали выше, верно. Иногда конечные методы создаются как встроенные, но нет другого способа явного создания встроенной функции в Java.

-121--726028-

В Java оптимизации обычно делаются на уровне JVM. Во время выполнения JVM выполняет несколько «сложных» анализа, чтобы определить, какие методы встроены. Он может быть агрессивным в встроительном положении, а точка доступа JVM на самом деле может встроить не окончательные методы.

Компиляторы Java почти никогда не входят в систему любого вызова метода (JVM делает все это во время выполнения). Они делают встроенные константы времени компиляции (E.G. Окончательные статические примитивные значения). Но не методы.

Для более подробных ресурсов:

  1. Статья: ДВИГАТЕЛЬНОЕ ДВИГАТЕЛЬ ДВИГАТЕЛЬНОСТИ ДЖАВА: Способ наживления Примера

  2. Wiki: Встраивание в OpenJDK , не полностью заполненным, но содержит ссылки на полезные обсуждения.

117
ответ дан 24 November 2019 в 04:01
поделиться

Нет, нет встроенной функции в Java. Да, вы можете использовать общественный статический метод в любом месте кода при размещении в открытом классе. Компилятор Java может сделать встроенное расширение на статический или последний метод, но это не гарантируется.

Обычно такие оптимизации кода выполняются компилятором в сочетании с JVM / JIT / Hotspot для сегментов кода, используемые очень часто. Также другие концепции оптимизации, такие как регистр декларации параметров, не известны в Java.

Оптимизация не может быть вынуждена декларацией в Java, но выполнена компилятором и JIT. На многих других языках эти объявления часто являются только компиляторы подсказки (вы можете объявить больше параметров регистра регистрации, чем у процессора, остальное игнорируется).

Объявление Java-методов Статические, окончательные или частные также являются подсказками для компилятора. Вы должны использовать его, но нет гарант. Выступление Java динамично, а не статично. Первый звонок в систему всегда медленно из-за нагрузки класса. Следующие звонки быстрее, но в зависимости от памяти и времени выполнения наиболее распространенными вызовыми вызовами оптимизированы ininthe Whing System, поэтому сервер может стать быстрее во время выполнения!

14
ответ дан 24 November 2019 в 04:01
поделиться

Не похоже, что вы можете специально присоединить события к размеру текстовой области. Событие изменения размера возникает при изменении размера окна.

-121--3238919-

То, что вы сказали выше, правильно. Иногда конечные методы создаются как встроенные, но нет другого способа явного создания встроенной функции на java.

-121--726028-

Java не позволяет вручную предложить встроить метод. Как говорится в комментариях @ notnoop, встраивание обычно выполняется JVM во время выполнения.

14
ответ дан 24 November 2019 в 04:01
поделиться

Что вы сказали выше, является правильным. Иногда конечные методы создаются как встроенные, но нет другого способа явного создания встроенной функции в Java.

4
ответ дан 24 November 2019 в 04:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: