当前位置: 首页 > 面试题库 >

在寻求源代码时:在哪里实现数组的clone()方法?

宋华美
2023-03-14
问题内容

new String[] { “foo”, “bar” }.clone();

使用我最喜欢的IDE(即Eclipse),我想clone()通过 按Ctrl键单击 (如往常一样) 查看
上述方法的源代码,但是它带我到Object的本机代码,仅提供签名而不提供签名。方法的主体。

自动完成功能告诉我,上述clone()方法属于String类(clone() : String[] - String),但是该类的源代码String未提供此类方法(因为我正在处理String[]该类…)。

那么,该实现隐藏在哪里?自动完成是否应该固定?


问题答案:

克隆数组的代码在JVM中(这是本机方法)。对于热点,它位于jvm.cpp的550/560行附近。



 类似资料:
  • 问题内容: 我正在寻找Sun标准Java编译器的源代码。 jdk1.6.0_07有一些相关的类,但它们是接口(和)。在和下还有一些包,它们似乎是表示Java抽象语法树的接口。 但是我找不到编译器源-有人知道它在哪里吗? 问题答案: 检查此站点Java编程语言编译器(javac)组。来源在Mercurial存储库中。 jdk7 / tl / langtools(对于JDK 1.7) jdk6 / j

  • 问题内容: 假设我对一种特定Linux实用程序(如)的源感兴趣。在哪里可以找到该实用程序的源代码? 问题答案: 我所做的是打字 然后走到最底下,找到“ GNU coreutils 6.10”。所以我用Google搜索了’coreutils’,然后…发现了刚刚链接到的网站joschi。

  • 问题内容: 我知道那个电话 。 类中的方法签名: 我想查看用于计算它的实际实现代码。 问题答案: 安装JDK时,可以在内部找到标准库的源代码但是,这对您没有帮助,因为实现如下: 因此,它实际上只是一个本地调用,可能由Java在不同平台上以不同方式实现。 但是,作为状态文档: 为了帮助确保Java程序的可移植性,此软件包中某些数字函数的定义要求它们产生与某些已发布算法相同的结果。这些算法可从著名的网

  • 问题内容: 我有点熟悉JNI,并且很好奇我在java.lang包中看到了某些本地方法的机器特定实现。, 例如。 我在[JDK_HOME] / jre / bin中找到了一堆DLL,但是就像我说的那样,我正在尝试查找源代码。 有谁知道在哪里可以找到本地源代码?它甚至可用,还是按Sun分类(哎呀,我的意思是“我们要赢它” Oracle)? 问题答案: 对于JDK6,你可以从java.net下载源代码。

  • 问题内容: 我试图在glibc源代码中找到select()源代码(Linux,i386架构),但我找不到任何东西(与所述体系结构有关) 谁能指出我的select()源代码? 问题答案: select()不是libc的函数,而是内核函数,因此您需要查看内核源代码。 您可以通过查看手册页来说明这一点:如果在第2节中,则为内核函数;如果在第3节中,则为标准C库的函数,在您的情况下为glibc。 编辑:像

  • 问题内容: 在哪里可以找到javax.crypto源代码? --update 感谢OpenJdk版本,但是jdk6版本呢? 问题答案: 下载链接 http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/tip/src/share/classes/javax/crypto(OpenJDK版本) http://download.java.net/jdk6/sourc