System.arraycopy为什么快

JDK源码 同时被 3 个专栏收录
48 篇文章 45 订阅 ¥99.00 ¥79.90
105 篇文章 44 订阅 ¥99.00 ¥79.90
46 篇文章 1 订阅

前言

在 Java 编程中经常会遇到数组拷贝操作,一般会有如下四种方式对数组进行拷贝。
* for遍历,遍历源数组并将每个元素赋给目标数组。
* clone方法,原数组调用clone方法克隆新对象赋给目标数组,更深入的克隆可以看之前的文章《从JDK角度看对象克隆》。
* System.arraycopy,JVM 提供的数组拷贝实现。
* Arrays.copyof,实际也是调用System.arraycopy

for遍历

这种情况下是在 Java 层编写 for 循环遍历数组每个元素并进行拷贝,如果没有被编译器优化,它对应的就是遍历数组操作的字节码,执行引擎就根据这些字节码循环获取数组的每个元素再执行拷贝操作。

arraycopy的使用

使用很简单,比如如下方式进行数组拷贝。

int size = 10000;
int[] src = new 
  • 7
    点赞
  • 2
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值