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