Я пытался взглянуть на метод Java String#intern(), но он public native String intern();
String#intern()
public native String intern();
В целом, как реализуется интернирование?В случае Стринга?
Для Sun Java начните с JVM_InternString, в строке ~ 3639 из jvm.cpp.Технически, фактический метод String находится в java/lang/String.c, но он немедленно вызывает JVM_InternString.Вы можете продолжить StringTable::intern в symbolTable.cpp.
JVM_InternString
jvm.cpp
java/lang/String.c
StringTable::intern
symbolTable.cpp
В более абстрактном смысле цель интернирования состоит в том, чтобы отобразить эквивалентные строки в одну каноническую.