How is Java's String#intern() method implemented?
-
28-09-2020 - |
Question
I tried to look at Java's String#intern()
method, but it's public native String intern();
In general, how is interning implemented? In String's case?
Solution
For Sun Java, start with JVM_InternString
, on line ~3639 of jvm.cpp
. Technically, the actual String method is in java/lang/String.c
, but it immediately calls JVM_InternString
. You can continue to StringTable::intern
in symbolTable.cpp
.
In a more abstract sense, the purpose of interning is to map equivalent strings to a single canonical one.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow