Java基础小常识(4)
16lz
2021-01-22
一、内存空间的划分
1.寄存器
2.本地方法区
3.方法区
4.栈内存:存储的都是局部变量,而且变量所属的作用域一旦结束,该变量就自动释放。
5.堆内存:存储的是数组和对象(其实数组就是对象),凡是new建立的都是对象,存储在堆中。
特点:1.每一个实体都是首地址值
2.堆内存中的每一个变量都有默认初始化值,根据变量类型的不同。整数是0,小数是0.0或者0.0f,布尔(boolean)是false,char是 '/u0000';
3.有一个垃圾回收机制
二、数组小问题
1. int[] arr = new int[3];
System.out.println(arr[3]);
编译可以通过,而运行出错,属于数组越界。
2. int[] arr = new int[3];
arr = null;
System.out.println(arr[0]);
编译可以通过,而运行出错,数组是由Java虚拟机创建的,对于这个案例,属于空指针异常
3. int[] arr = new int[3];
System.out.println(arr); //打印的结果为:[I@c12358,其中‘[’表示数组,I表示整型数据类型,@后面的值为数组的地址值。
更多相关文章
- 理顺 JavaScript (12) - 一个比较实用的数组用法
- 小聊天程序,访问文件之间的变量
- 如何在泽西Rest Webservice中接受json数组输入
- java数组的拷贝四种方法:for、clone、System.arraycopy、arrays.c
- 给定一个整数数组,找出两个下标,要求后面下标所指的数减去前面下标
- Java中怎么把字符串数组转为整形数组
- 环境变量在cron中看不到
- 剑指Offer(六)旋转数组的最小数字(Java版 )
- Java中double型数组的HashCode产生