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没有指针是没有显示的指针操作,引用就是指针