2016/07/28
数组:
----------------------------
1.容器,相同类型
2.通过下标,以0位基址
3.定义数组
类型[] 名称 = new 类型[数字] ; int[] arr = new int[5]; 数字为数组的长度
or 类型[] 名称 = new 类型[]{a,b,c} 直接初始化数组 a,b,c为数组的元素
4. 数组最大的元素是 arr[length -1] 如果访问arr[length] 则会提示数组越界异常
常见异常:
NullPointerException是运行时异常(RuntimeException)
ArrayIndexOutofBoundException 数组越界异常
5.数组常见操作:
获取最值(最大值,最小值)
排序(选择排序,冒泡排序)
折半查找(二分查找)
内存结构:
java程序在运行时,需要在内存中的分配空间。为了提高运算效率,有对空间进行了不通区域的划分,
因为每一片区域都有特定的处理数据方式和内存管理方式。
栈内存:
用户 存储局部变量,当数据使用完,所占空间会自动释放。
堆内存:
a.数组和对象,通过new建立的实例都存放在堆内存中。
b.每一个实体都有内存地址值。
c.实体中的变量都有默认初始化值
d.实体不在被使用,会在不确定的时间内被垃圾回收器回收。
--------------------
堆:heap overflow溢出
object head
对象堆
栈:stack
方法栈.
Java没有指针是没有显示的指针操作,引用就是指针
转载于:https://blog.51cto.com/11701802/1831209