操作系统中一个内存的存储单元可以存储4KB,一个int类型32位,是4个字节(4B),所有一个存储单元可以存储1024个int类型。
int int int int… |
---|
由于一个int类型占用一个存储单元太浪费空间了,所以采用压缩来进行数据的存储。 注:(存储单元只存储其首地址)
如下所示:
声明一个数组,给它分配空间地址,每次遍历数组时,都要往里面添加元素。
public static void main(String[] args) {
int arr[] = new int[100000];
for(int a=0;a<100000;a++) {
arr[a] = a ;
}
System.out.println("------");
}
输出内容,就是把所有的元素都放在数组里面了,后台打印出了“- - - - - -”。
我们或者把数组改的更大点,然后重新赋值,直到它空间满了,不能再压缩了。
如下所示:
public static void main(String[] args) {
int arr[] = new int[1000000000];
for(int a=0;a<1000000000;a++) {
arr[a] = a ;
}
System.out.println("------");
}
它输出的结果是:
所以一个数组存储是可以压缩的,但是到了一定程度,就不能被压缩了,因为存储单元满了,挤不下了。