CopyOnWriteArrayList底层原理和字节码文件

CopyOnWriteArrayList的底层原理是怎样的?

1:首先Copy OnWriteArrayList内部也是用数组来实现的,在向Copy OnWriteArrayList添加元素时,会复制一个新数组,写操作在新数组进行,读操作在原数组进行。

2:写操作会加锁,防止出现并发写入丢失数据的问题。

3:Copy OnWriteArrayList允许在写操作来读取数据,大大提高了读的性能,因此适合读多写少最少的应用场景,但是Copy OnWriteArrayList会比较占内存,同时可能读到的数据不是实时最新的数据,所以不适合实时性要求很高的场景。

什么是字节码?采用字节码的好处是什么?

编译器(javac)将源码文件编译成字节码文件,可以做到一次编译到处运行,windows上编译好的class文件,可以直接在linux上运行,通过这种方式做到跨平台,不过Java的跨平台有一个前提条件,就是在不同的操作系统上安装的JDK或JRE是不一样的,虽然字节码是相同的,但是需要把字节码解释成各个操作系统的机器码,只需要不同的解释器,所以针对各个不同的操作系统需要不同的JDK或JRE。

采用字节码的好处:一方面实现了跨平台,另外一方面也提高了代码的性能,编译器在编译代码时可以做一些编译器的优化,比如锁清除,标量替换,方法内联等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋斗着,享受着

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值