-->

How is Java's String#intern() method implement

2020-02-05 10:03发布

问题:

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?

回答1:

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.