我正在寻找关于JVM如何在java中实现数组。
换句话说,如果我做int[] i = new int[5];
jvm将如何存储5个整数?
该代码是否可访问?如果是的话?
提前谢谢你。
答案 0 :(得分:1)
OpenJDK的源代码可用,例如here
但是要找到实际存储数组的方式,您需要在Java ByteCode中查找数组的实现方式,然后在源代码中找到相应的实现。
还要记住,不同的JVM可能有不同的存储阵列存储方式。
答案 1 :(得分:0)
Here is how arrays are stored in JAVA.
引用有关如何存储数组的文章:
“ Arrays也是Java中的对象,因此对象在内存中的外观如何 适用于数组。
我们知道JVM运行时数据区包括堆,JVM堆栈和 他人。“
您只能通过索引访问任何特定的数组元素,而不能通过内存或代码中的某些内部内存表示访问(JAVA不允许像C一样使用指针算法)