摘要:
由于之前失误 在堆排序中没有列出堆的实现 现在补上 public class MaxHeap { /** 所谓大顶堆 就是每个树的父节点都比其左右子节点大 */ /** * 堆 */ private int[] heap; /** * 界限 */ private final int limit; / 阅读全文
2020年5月26日
摘要:
public class TrieTree { public Node root; public TrieTree(){ root = new Node(' '); } /** 插入字符串 */ public void insert(String str){ if(str == null){ ret 阅读全文
2020年5月25日
摘要:
堆 分为大顶堆和小顶堆 其特点就是根节点的值一定大于或小于叶子节点的值 堆的构建方式可以从上到下 或者 从下到上 leftNode = parentNode * 2 + 1; rightNode = leftNode + 1; parentNode = (leftNode -1 ) / 2 堆排序其 阅读全文
摘要:
public class StudySelectionSort { /** 记录一个最小值 然后和数组逐个比较 */ public static void main(String[] args) { int[] array = ArrayUtil.generateRandomArray(20, 20 阅读全文
摘要:
归并排 就是一种分治的思想 将某个问题划分为n个小的同规模算法去解决 public class StudyMergeSort { /** * 归并排思路 : * 将一个数组分割成n个小组 然后每个小组两两比较 */ public static void main(String[] args) { i 阅读全文
2020年4月17日
摘要:
HashMap 和 ConcurrentHashMap的区别? 线程同步安全区别 数据结构区别 HashMap的数据结构 : Array + Linked + RedBlackTree HashMap默认大小16 TREEIFY_THRESHOLD 链表转红黑树的链表节点界限 MIN_TREEIFY 阅读全文
摘要:
同步/异步 , 阻塞非阻塞概念 同步/异步 : 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication) 同步 : 当处理一件事情的时候 需要等待处理结果 才能继续执行下去 异步 : 不需要等待处理结果 可以直接返 阅读全文
2020年4月8日
摘要:
Class加载过程 class load 进内存 分三步 : loading 加载 将class文件加载到内存 linking 连接 verification 校验加载进内存的class是否符合jvm规范 preparation 将class文件的静态变量赋默认值 如果 int = 0 long = 阅读全文