IO、NIO、BIO的区别
摘要:我们首先得明白什么是同步,异步,阻塞,非阻塞,只有这几个单个概念理解清楚了,然后在组合理解起来,就相对比较容易了。 IO模型主要分类: 同步(synchronous) IO和异步(asynchronous) IO 阻塞(blocking) IO和非阻塞(non-blocking)IO 同步阻塞(bl
阅读全文
posted @
2021-02-26 14:55
含光Aries
阅读(1826)
推荐(0)
新生代和老年代的区别
摘要:所谓的新生代和老年代是针对于分代收集算法来定义的,新生代又分为Eden和Survivor两个区。加上老年代就这三个区。数据会首先分配到Eden区 当中(当然也有特殊情况,如果是大对象那么会直接放入到老年代(大对象是指需要大量连续内存空间的java对象)。),当Eden没有足够空间的时候就会 触发jv
阅读全文
posted @
2020-12-20 15:59
含光Aries
阅读(1611)
推荐(0)
HashSet为什么可以有序输出?
摘要:首先HashSet是不保证有序,而不是保证无序,因为在HashSet中,元素是按照他们的hashCode值排序存储的。对于单个字符而言,这些hashCode就是ASCII码,因此,当按顺序添加自然数或者26个英文字符时,会产生一种HashSet也可以有序输出的“错觉”。
阅读全文
posted @
2020-12-17 09:52
含光Aries
阅读(880)
推荐(0)
Java 8 中Sort排序原理:
摘要:总的来说,java中Arrays.sort使用了两种排序方法,快速排序和优化的合并排序。Collections.sort方法底层就是调用的Arrays.sort方法。 快速排序主要是对那些基本类型数据(int,short,long等)排序,而归并排序用于对Object类型进行排序。 使用不同类型的排
阅读全文
posted @
2020-11-08 17:50
含光Aries
阅读(1054)
推荐(0)
快速幂精讲+代码实现
摘要:普通求解幂的方法: 1 public int power(int a,int b){ 2 int res = 1; 3 for (int i = 1; i <= b ; i++) { 4 res *= a; 5 } 6 return res; 7 } 是b个a累乘的结果,时间复杂度为O(n)。 而快
阅读全文
posted @
2020-09-14 20:08
含光Aries
阅读(274)
推荐(0)
基数排序
摘要:基数排序是一种使用关键字的排序算法,是一种不需要比较的排序算法。 1 import java.util.Arrays; 2 import java.util.LinkedList; 3 import java.util.Queue; 4 5 public class MyRadixSort { 6
阅读全文
posted @
2020-07-25 15:17
含光Aries
阅读(257)
推荐(0)
堆排序
摘要:堆排序总的流程为:构建堆—>拿出堆顶元素—>调整剩余堆;重复第2、3步直至堆为空。 1 import java.util.Arrays; 2 3 public class MyHeapSort { 4 /* 5 此处为大顶堆 6 */ 7 public static void main(String
阅读全文
posted @
2020-07-24 15:58
含光Aries
阅读(193)
推荐(0)
计数排序
摘要:十大常用的排序算法中,这三种算法都用到了桶的概念 基数排序:根据键值的每位数字来分配桶; 计数排序:每个桶只存储单一键值; 桶排序:每个桶存储一定范围的数值; 1 public class MyCountSort { 2 public static void main(String[] args)
阅读全文
posted @
2020-07-23 09:44
含光Aries
阅读(155)
推荐(0)
直接插入排序
摘要:1 2 3 public class MyInsertSort { 4 public static void main(String[] args) { 5 int num[] = {10, 8, 33, 54, 1, 6, 12, 43, 32, 27}; 6 insertSort(num); 7
阅读全文
posted @
2020-07-22 20:47
含光Aries
阅读(145)
推荐(0)
冒泡排序
摘要:public class MyBubbleSort { public static void main(String[] args) { int num[] = {10,8,33,54,1,6,12,43,32,27}; bubbleSort(num); for (int i = 0; i < nu
阅读全文
posted @
2020-07-22 09:55
含光Aries
阅读(134)
推荐(0)
选择排序
摘要:public class MySelectSort { /* 选择排序 */ public static void main(String[] args) { int num[] = {10,8,33,54,1,6,12,43,32,27}; selectSort(num); for (int i
阅读全文
posted @
2020-07-22 09:22
含光Aries
阅读(162)
推荐(0)
快速排序
摘要:快速排序是对冒泡排序的一种改进。 1 import java.util.Random; 2 3 public class MyQuickSort { 4 5 //快速排序--啊哈算法 6 public static void main(String[] args) { 7 Random random
阅读全文
posted @
2020-07-22 09:03
含光Aries
阅读(191)
推荐(0)
用JAVA进行Json数据解析(对象数组的相互嵌套)
摘要:这段时间我们在做一个英语翻译软件的小小小APP,涉及到了对Json数据的解析,所以特地来总结一下! 假设我们要对如下数据进行解析,其实在平时,返回的Json数据是很乱的,很难分清数据的关系,这是经过相关工具美化后的结果 1 { 2 "translation": [ 3 "爱" 4 ], 5 "bas
阅读全文
posted @
2017-08-22 23:54
含光Aries
阅读(24543)
推荐(0)