суббота, 23 марта 2013 г.

Intrinsic-методы

Если вы скопируете код String.equals() в свою программу и сравните производительность вашего метода и настоящего, то, скорее всего, будете удивлены, как и автор вопроса: скорость вашей реализации может быть медленнее в десятки раз. JVM просто заменяет код native-реализацией, несмотря на то, что они не помечены соответствующим словом. Такие заменяемые методы называют intrinsic-методами.

Официальной информации немного. Список таких методов можно получить ковыряя исходники JVM. Тезка предложил скрипт для получения списка классов, у которых есть такие методы. Однако не все методы в них intrinsic.

$ grep do_intrinsic vmSymbols.hpp | perl -pe s/\#.*//g | perl -pe s/\\/\\/.*//g |  awk '{ print $2 }' | sort | uniq | perl -pe s/_/./g | perl -pe s/,//g

java.lang.Boolean
java.lang.Byte
java.lang.Character
java.lang.Class
java.lang.Double
java.lang.Float
java.lang.Integer
java.lang.invoke.InvokeDynamic
java.lang.invoke.MethodHandle
java.lang.invoke.MethodHandleNatives
java.lang.Long
java.lang.Math
java.lang.Object
java.lang.reflect.Array
java.lang.reflect.Method
java.lang.ref.Reference
java.lang.Short
java.lang.String
java.lang.StringBuffer
java.lang.StringBuilder
java.lang.System
java.lang.Thread
java.lang.Throwable
java.nio.Buffer
java.util.Arrays
sun.misc.AtomicLongCSImpl
sun.misc.Unsafe
sun.reflect.Reflection

1 комментарий:

  1. Harrah's Cherokee Casino Resort - MapYRO
    Harrah's Cherokee Casino Resort is a 10-minute walk from Harrahs Cherokee Casino and 7 minutes by car from Tunica River Casino. Rating: 8.2/10 · 경주 출장마사지 ‎5,440 reviews · ‎Price range: $ (Based on Average Nightly Rates for a Standard Room from our Partners)Which 정읍 출장마사지 popular attractions are close 충주 출장샵 to Harrah's Cherokee 춘천 출장샵 Casino Resort?What are some of the property amenities 경주 출장안마 at Harrah's Cherokee Casino Resort?

    ОтветитьУдалить