Java语言中的数组底层是怎么实现的?

Java语言中的数组底层是怎么实现的?

阅读 9.3k
3 个回答

数组的核心就是一段连续的内存 在Java中数组是特殊的类,所以还会有一个对象头

Java语言编辑的源码经编译后会生成字节码,然后会通过JVM解析字节码,JVM是用C/C++编写的,字节码是预先定义好的汇编指令,不理解可以简单理解为使用C++实现的,包括基本数据类型int等都是C++的数据类型,Java中的数组底层实现可以看C++的数组实现!
基本上就是根据数组定义时[]中的数字,再根据数据的类型,计算出需要的大小,分配的一段连续的内存地址,清零后再把数据存储进这段地址!

新手上路,请多包涵

java中把内存分为了堆内存和栈内存,当初始化数组时,堆内存分配相应大小的连续的内存块,并将第一个内存块的地址放入栈内存中存储。这样读取数据的时候取第0个就是首地址的内存中的数据,第1个就是首地址+1的内存块中数据。其余删除与写入操作与读取类似。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题