Как реализован Java-метод String # intern ()? - PullRequest
6 голосов
/ 24 июля 2010

Я пытался взглянуть на метод Java String#intern(), но он public native String intern();

В целом, как реализуется интернирование?В случае Стринга?

1 Ответ

11 голосов
/ 24 июля 2010

Для Sun Java начните с JVM_InternString, в строке ~ 3639 из jvm.cpp.Технически, фактический метод String находится в java/lang/String.c, но он немедленно вызывает JVM_InternString.Вы можете продолжить StringTable::intern в symbolTable.cpp.

В более абстрактном смысле цель интернирования состоит в том, чтобы отобразить эквивалентные строки в одну каноническую.

...