内存的划分:
1.寄存器
2.本地方法区
3.方法区
4.栈内存
存储的都是局部变量
而且变量所属的作用域一旦结束,该变量就自动释放
生命周期比较短,更新速度很快
5.堆内存
存储的是数组和对象(其实数组就是对象),凡是new的建立在堆中
特点:
1.每一个实体都有首地址值
2.堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同,整数是0,小数是0.0g或者0.0f,boolean false ,char ‘\u0000’
3.垃圾回收机制
对数组操作最基本的动作就是存和取
核心思想:就是对角标的操作
冒泡排序:
x个元素排序需要经过x-1次冒泡过程,则外循环为arr.length-1;
每经过一次冒泡过程,则由1个最值被确定位置,因此不需要参与下次冒泡,则内循环为arr.length-1-x;
可以先记录下最小的元素和角标,最后再换位:效率会变高
对有序数组进行查找:
java本身提供的:
Array.sort() 排序
Array.binarysearch() 二分查找法