- 博客(6)
- 收藏
- 关注
原创 内存分配与内存回收策略
Java的内存管理主要分为内存分配和内存回收, 1、对象优先分配在Eden分配,大多数情况下,对象在新生代的Eden区中分配,当Eden区没有足够的空间进行分配时,虚拟机发起一次Minor GC; 2、大对象直接进入老年代,大对象指需要大量连续内存空间的Java对象,主要有很长的字符串和数组, 3、长期存活的对象将进入老年代,虚拟机给每个对象对象年龄计数器,如果对象在Eden出生并经过第一次Min...
2019-07-19 15:31:35
136
原创 Java垃圾收集器总结
1、Serial收集器 是一个单线程的收集器、进行垃圾回收时,必须暂停其他所有的线程,直到垃圾回收结束,它依然是运行再Client模式下的新生代收集器;收集方法:新生代采用复制算法,老年代采取标记整理算法。优点,简单高效 2、ParNew收集器: 是Serial收集器的多线程版本版本,它和Serial收集器几乎一样,它是许多运行在Server模式下的虚拟机中首选的新生代收集器,目前只有它可以和CM...
2019-07-19 15:08:21
199
原创 二维数组中的查找
//在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 public class Solution { int s;int h; public boolean Find(int [][] array,int target) { int row=0; ...
2019-06-19 11:32:56
73
原创 throw和throws的区别
throws用来声明一个方法可能抛出的所有异常信息,throws是将异常声明但不处理,而是将异常往上传,谁调用我我就交给谁处理,而throw则是抛出一个具体的异常 ...
2019-06-17 16:05:21
97
原创 java实现快速排序
public class QuickSort{ private static void QuickSort(int[] array,int start,int end) { if(start<end) { int key=array[start];//初始化保存基元 int i=start,j;//初始...
2019-06-17 15:59:57
84
原创 CAS实现原子操作的三大问题
第一:ABA问题,ABA问题的解决办法是使用版本号例如:1A->2B->3A 第二:循环时间开销大,pause指令有两个作用,第一,他可以延迟流水线执行指令使CPU不会消耗过多的执行资源,第二,它可以避免在退出循环时因为顺序冲突域时引起的CPU流水线被清空,从而提高cpu的解决办法。 第三:只能保证一个共享变量的原子操作 ...
2019-06-17 13:35:21
134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人