Starałem się spojrzeć na String#intern()
metody Java, ale to public native String intern();
W jaki sposób zaimplementowano metodę String # # języka Java?
Ogólnie, jak jest interning realizowane? W przypadku Stringa?
Starałem się spojrzeć na String#intern()
metody Java, ale to public native String intern();
W jaki sposób zaimplementowano metodę String # # języka Java?
Ogólnie, jak jest interning realizowane? W przypadku Stringa?
Dla środowiska Sun Java, należy wpisać: JVM_InternString
, na linii 3606 z jvm.cpp
. Technicznie, rzeczywista metoda String jest w java/lang/String.c
, ale natychmiast wywołuje JVM_InternString
. Możesz kontynuować StringTable::intern
w symbolTable.cpp
.
w bardziej abstrakcyjnym sensie, celem internowania jest mapowanie równoważne struny do jednego kanonicznej jeden.
Hmm, miło by było pokazać kod w pytaniu. Wszystkie linki są teraz zerwane. Dziękuję za dobry start. – Anonsage