- 博客(7)
- 收藏
- 关注
原创 Java类加载器与双亲委派模型
一.加载类的开放性 在类加载的第一阶段”加载“过程中,需要通过一个类的全限定名获取定义此类的二进制流,完成这个动作的代码块就是类加载器。这一部在JVM之外实现,方便应用程序自己决定如何获取所需的类。 这个获取二进制流有很多途径和方向: 1.从ZIP包中获取,成为JAR,EAR,WAR格式的基础。 2.从网络中获取,典型应用Ap...
2018-05-27 21:14:38 908
原创 JMM及volatile关键字
一.Java内存区域1.方法区:用于存储已被JVM加载的类信息,常量,静态变量。运行时常量池就在方法区中。2.JVM堆:主要用于存储实例对象。3.程序计数器:主要代表当前线程所执行的字节码行号指示器。4.虚拟机栈:代表Java方法执行的内存模型,每个方法执行都会创建栈帧存储方法的变量表,操作数栈,运行链接方法,返回 值等。5.本地方法栈:与Native相关,一般不需要关心。二.Java内存模...
2018-05-27 20:23:00 236
原创 AsyncTask,HandlerThread,IntentService
一.AsyncTask AsyncTask是一个轻量级的异步任务类,在线程池中执行后台任务,将进度及结果传给主线程更新UI。 1.抽象的泛型类 public sbstract class AsyncTask<parmas,progress,Result>; 2.4个核心方法 onProExecute():...
2018-05-27 14:49:16 257
原创 Android四大组件生命周期
一.Activity生命周期1.生命周期调用方法onCreate():创建视图,传递一个保留此Activity上一状态的Bundle的参数。onStart():在此Activity显示在前台前调用。onResume():Activity可见,获得焦点与用户交互。onPause():启动其他Activity时调用,通常用于保存数据,释放资源。onStop():当Activity不可见时调用,时刻是在...
2018-04-06 22:08:51 3099
原创 java实现归并排序
算法思想是将混乱的序列不断细分为子序列,最终子序列只剩下一个元素,对应取得相邻的两个子序列,创建一个临时数组,大小为两个子序列长度之和,用来存放两个子序列的值,存放的规则是遍历完至少一个子序列,每次在两个子序列中各取一个元素,将较小的元素存放在临时数组的前面,随后被存放元素的序列指针向后移动一位继续比较,直到有一个子序列完全遍历。没有完全遍历的序列剩下的元素直接加入临时数组中,最后将临时数...
2018-03-21 21:34:04 179
原创 java实现快速排序
/** * * @author think * 快速排序 * 时间复杂度o(n*logn); */public class QuickSort { public static int exe(int[]a,int start,int end) { int base = a[end];//取末尾元素为基准 while(start < end) ...
2018-03-20 19:55:02 156
原创 java实现堆排序算法
堆排序相对简单的冒泡算法快就快在它利用了每一次排序,将结果保存下来。 堆结构是一颗完全二叉树,即除了最后一层其他层的每个结点都包含两个子结点,我们知道拥有子节点的元素脚标是0至n/2-1,我们从n/2-1开始向上构建大顶堆结构,每一个父亲结点的值都大于孩子结点,先取得左结点L和右结点R,比较结点大小,如果父结点小于孩子结点则进行交换,并且交换之后从被交换的孩子结点递归排查,因为改变一...
2018-03-19 22:31:40 189
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人