随笔分类 -  JAVA

IO、NIO、BIO的区别
摘要:我们首先得明白什么是同步,异步,阻塞,非阻塞,只有这几个单个概念理解清楚了,然后在组合理解起来,就相对比较容易了。 IO模型主要分类: 同步(synchronous) IO和异步(asynchronous) IO 阻塞(blocking) IO和非阻塞(non-blocking)IO 同步阻塞(bl 阅读全文
posted @ 2021-02-26 14:55 含光Aries 阅读(1826) 评论(0) 推荐(0)
新生代和老年代的区别
摘要:所谓的新生代和老年代是针对于分代收集算法来定义的,新生代又分为Eden和Survivor两个区。加上老年代就这三个区。数据会首先分配到Eden区 当中(当然也有特殊情况,如果是大对象那么会直接放入到老年代(大对象是指需要大量连续内存空间的java对象)。),当Eden没有足够空间的时候就会 触发jv 阅读全文
posted @ 2020-12-20 15:59 含光Aries 阅读(1611) 评论(0) 推荐(0)
HashSet为什么可以有序输出?
摘要:首先HashSet是不保证有序,而不是保证无序,因为在HashSet中,元素是按照他们的hashCode值排序存储的。对于单个字符而言,这些hashCode就是ASCII码,因此,当按顺序添加自然数或者26个英文字符时,会产生一种HashSet也可以有序输出的“错觉”。 阅读全文
posted @ 2020-12-17 09:52 含光Aries 阅读(880) 评论(0) 推荐(0)
Java 8 中Sort排序原理:
摘要:总的来说,java中Arrays.sort使用了两种排序方法,快速排序和优化的合并排序。Collections.sort方法底层就是调用的Arrays.sort方法。 快速排序主要是对那些基本类型数据(int,short,long等)排序,而归并排序用于对Object类型进行排序。 使用不同类型的排 阅读全文
posted @ 2020-11-08 17:50 含光Aries 阅读(1054) 评论(1) 推荐(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) 推荐(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) 推荐(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) 推荐(0)
计数排序
摘要:十大常用的排序算法中,这三种算法都用到了桶的概念 基数排序:根据键值的每位数字来分配桶; 计数排序:每个桶只存储单一键值; 桶排序:每个桶存储一定范围的数值; 1 public class MyCountSort { 2 public static void main(String[] args) 阅读全文
posted @ 2020-07-23 09:44 含光Aries 阅读(155) 评论(0) 推荐(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) 推荐(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) 推荐(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) 推荐(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) 推荐(0)
用JAVA进行Json数据解析(对象数组的相互嵌套)
摘要:这段时间我们在做一个英语翻译软件的小小小APP,涉及到了对Json数据的解析,所以特地来总结一下! 假设我们要对如下数据进行解析,其实在平时,返回的Json数据是很乱的,很难分清数据的关系,这是经过相关工具美化后的结果 1 { 2 "translation": [ 3 "爱" 4 ], 5 "bas 阅读全文
posted @ 2017-08-22 23:54 含光Aries 阅读(24543) 评论(0) 推荐(0)