встроить в Java - PullRequest
       33

встроить в Java

4 голосов
/ 12 октября 2011

Я посмотрел на этот пост . Это выглядит мило. Однако авторы или другие осведомленные люди подскажут мне хитрости с кодированием, когда HotSpot (не зависит от сервера, клиента или версии Sun) делает код встроенным.

Ответы [ 2 ]

7 голосов
/ 12 октября 2011

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

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

Если вы пытаетесь повысить производительность, используйте профилировщик.Если вы пытаетесь сделать свой код труднее для реинжиниринга, используйте такие инструменты, как proguard .

2 голосов
/ 12 июня 2017

Я нашел эту ссылку: https://compile -command-annotations.nicoulaj.net /

Эта библиотека позволяет использовать аннотации в JSM HotSpot для встроенных методов.

Таким образом, добавление аннотации @Inline в ваш метод приведет к встраиванию.

Это особенность горячей точки, потому что Java не допускает встраивание через язык.

Единственный другой вариант, о котором я могу подумать, - это использовать аннотации времени компиляции и генерировать байт-код по-другому (например, lombok).

...