Java的String#intern()方法是如何实现的? [英] How is Java's String#intern() method implemented?

查看:137
本文介绍了Java的String#intern()方法是如何实现的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试着查看Java的 String #intern()方法,但它是 public native String intern();

I tried to look at Java's String#intern() method, but it's public native String intern();

一般情况下,如何实施实习?在String的情况下?

In general, how is interning implemented? In String's case?

推荐答案

对于Sun Java,从 JVM_InternString 开始,在线<~href =http://hg.openjdk.java.net/jdk7/jdk7/hotspot/file/tip/src/share/vm/prims/jvm.cpp#l36393639rel =nofollow noreferrer> jvm.cpp 。从技术上讲,实际的String方法是在 java / lang / String.c ,但它会立即调用 JVM_InternString 。您可以继续 StringTable :: intern symbolTable.cpp

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.

这篇关于Java的String#intern()方法是如何实现的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆