克隆在幕后是如何工作的?

2024-06-26

克隆不会调用对象构造函数来创建对象的副本。那么clone使用什么算法呢?

我正在寻找本机方法克隆的实现细节。任何指示将不胜感激。

请注意,我知道克隆的缺点。


protected native Object clone()。我不太清楚(我需要查看本机代码),但它会在 JVM 内创建对象的新实例并复制所有字段。

但你应该避免使用clone()- 很难做到正确。看着这个问题 https://stackoverflow.com/questions/2156120/java-recommended-solution-for-deep-cloning-copying-an-instance更多细节

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

克隆在幕后是如何工作的? 的相关文章

随机推荐

  • 使用 OpenXML 打开受保护的 Word 文档

    我到处寻找 但找不到任何答案 所有帖子和讨论都是关于创建受保护的帖子和讨论 但没有任何内容可以打开它 我在我的 c 程序中保护了 DOCX 和 DOC 文档 并希望使用 OpenXML 2 5 以编程方式打开它们 我已经使用 Office
  • 用 launch4j 和 jdk8 包装的 .exe 需要很长时间才能启动。使用jdk7代替几乎立即启动

    我有以下问题 我曾经有一个 launch4j 配置来使用捆绑的 jdk jre 7 从我的可运行 jar 创建一个包装的可执行文件相当长一段时间 该程序 使用该 exe 启动 几乎立即与 jdk7 一起启动 我现在不得不切换到 jdk8 这
  • 是否可以在没有 SDK 的情况下编写 Android 应用程序?

    只是想知道 由于 Android 应用程序是 Java 程序 是否有可能在不使用 SDK 的情况下完全从头开始编写一个应用程序 如果不是 那为什么不呢 不 Android 应用程序是用 Java 编写的 但仅包含标准 Java API 的一
  • Java:输入/使用“try-catch”块的开销?

    这个问题说明了一切 尽管命中率不是很高 我测得速度慢了 1 5 倍到 2 倍 但使用 try catch 的字节码和不使用 try catch 的字节码之间没有区别 那么是什么让它通常变慢呢 PL 请注意 问题不是抛出异常的开销 而是进入
  • 使用 ES6 从子级获取父类名?

    我想获取父类名称 Parent 但我只能使用此代码检索子类名称 Child use strict class Parent class Child extends Parent var instance new Child console
  • Python Turtle 未按照文档示例填充

    我试图向我女儿展示一些代码 并认为海龟会很有趣 我更喜欢数字 但这对孩子们来说并不有趣 我在重现文档示例时遇到问题 这更让我烦恼 因为我无法弄清楚 我们还有很多其他事情可以做 The documentation example copied
  • WCF 中是否可以在没有无参数构造函数的情况下序列化对象?

    我知道私有无参数构造函数可以工作 但是没有无参数构造函数的对象又如何呢 我想公开来自第三方库的类型 因此我无法控制类型定义 如果有办法的话什么是最简单的 例如 我不知道必须创建子类型 Edit 我正在寻找类似此处所示的定制级别 http m
  • Boost 错误代码参考

    有谁知道在哪里可以找到升压错误代码的参考 特别是 异步套接字处理程序返回的错误代码 Google 和 grep 头文件已调为空 我从 Linux 上的 asio error hpp 中提取了错误值 顺便说一句 我仅使用标头 asio 而不是
  • Sphinx,使用 automodule 查找子模块

    当使用sphinx的自动模块时 https www sphinx doc org en master usage extensions autodoc html https www sphinx doc org en master usag
  • 我可以在 Mac OS X 上将 enthought python 重新链接到新版本的 openssl 吗?

    今天早上 我在 Mac OS X 10 6 8 上使用 EPD 7 3 时遇到了与 SSL 相关的问题 当我运行 pip 版本 1 3 1 时 我得到 pip install requests Downloading unpacking r
  • 插入多重集中:在该值第一次出现之前而不是最后一次出现之后

    正如标题所示 multiset 在所有相同值的范围末尾插入一个值 例如 在多重集中插入 21 2 2 3做到了1 2 2 new 2 3 如何在所有相同值的范围开头插入新值 例如 在多重集中插入 21 2 2 3应该使1 new 2 2 2
  • Mac OS X 的自动热键替代品? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们不允许提出寻求书籍 工具 软件库等推荐的问题 您可以编辑问题 以便用事实和引文来回答 这个问题似乎不是关于主要由程序员使用的特定编程问
  • 错误:活动导致多个 Skype 活动机器人 FrameWork

    我正在尝试使用主动消息传递将附件发送到频道 下面是我的代码 async function sendToChannelWithImage message channelId img MicrosoftAppCredentials trustS
  • WindowsFromDc 返回 null

    我需要一些有关 win32 api 特别是 WindowsFromDc 的帮助 我有一个应用程序挂钩另一个应用程序 这两个应用程序通过 NamedPipe 进行通信 在第二个应用程序中 我挂钩了 DrawTextExW 函数 并从该函数中获
  • 制作一个透明的圆形按钮,带有不透明边框和文本/字体很棒的图标

    基本上我想要一个性感的 反应灵敏的圆形按钮 它是透明的 这样你就可以通过它看到背景 但有一个不透明的轮廓 这样你就可以看到按钮和不透明的文本 或者也许我会在稍后阶段添加一个字体很棒的图标 这是我的 JS 小提琴 这样你就可以看到我正在尝试做
  • OpenSSL:RSA 加密/解密、密钥生成和密钥持久性

    我正在尝试构建一个需要以下内容的 p2p 应用程序 在 OpenSSL 中使用 RSA Encryption Decryption Generating Keys done Saving and loading keys done Savi
  • Android架构组件导航:工具栏后退按钮缺失,后退不起作用

    我正在尝试喷气背包导航 但当我移动到新片段时无法显示导航后退按钮 导航活动 kt class NavActivity AppCompatActivity override fun onCreate savedInstanceState Bu
  • 在 IntelliJ IDEA 中编辑并继续?

    使用 IntelliJ IDEA 社区版进行调试时是否可以编辑一些代码 我在选项中找不到这个功能 是的 这就是所谓的 热插拔 您可以在调试过程中编译修改后的代码 并且类文件将被替换 直到您停止调试 确保在调试器设置中启用 HotSwap 选
  • 如何仅在客户端渲染 NextJS 13 中的组件

    我目前正在开发一个项目 该项目要求我的组件对客户端频繁变化的条件做出反应 但据我所知 NextJS 13 似乎强制服务器端渲染 我尝试使用动态加载import dynamic from next dynamic and const Comp
  • 克隆在幕后是如何工作的?

    克隆不会调用对象构造函数来创建对象的副本 那么clone使用什么算法呢 我正在寻找本机方法克隆的实现细节 任何指示将不胜感激 请注意 我知道克隆的缺点 protected native Object clone 我不太清楚 我需要查看本机代