Java语言中的数组底层是怎么实现的?
Java语言编辑的源码经编译后会生成字节码,然后会通过JVM解析字节码,JVM是用C/C++编写的,字节码是预先定义好的汇编指令,不理解可以简单理解为使用C++实现的,包括基本数据类型int等都是C++的数据类型,Java中的数组底层实现可以看C++的数组实现!
基本上就是根据数组定义时[]中的数字,再根据数据的类型,计算出需要的大小,分配的一段连续的内存地址,清零后再把数据存储进这段地址!
java中把内存分为了堆内存和栈内存,当初始化数组时,堆内存分配相应大小的连续的内存块,并将第一个内存块的地址放入栈内存中存储。这样读取数据的时候取第0个就是首地址的内存中的数据,第1个就是首地址+1的内存块中数据。其余删除与写入操作与读取类似。
4 回答1.5k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
3 回答1.9k 阅读
2 回答778 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.3k 阅读
数组的核心就是一段连续的内存 在Java中数组是特殊的类,所以还会有一个对象头