摘要:
why ? when ? how ? what ? 什么是虚拟机类加载机制 ? 虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用 Java 类型。 类加载的时机 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期如下图 阅读全文
摘要:
剑指 offer 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路: 递归判断,相等时判断其左右孩子是否相等。 / public class TreeNode { int val = 0; TreeNode left = null; Tree 阅读全文
摘要:
剑指 offer 题目描述 输入一个链表,输出该链表中倒数第k个结点。 思路: 使用两个指针,第一个直线先指向第 k 个结点,然后两个指针一起移动当第一个指针移动到末尾,那么第二个指针指向的元素就是倒数第 k 个结点 / public class ListNode { int val; ListNo 阅读全文
摘要:
when ? why ? how ? what ? 计算机的运行速度和它的存储和通信子系统速度的差距太大,大量的时间都花费在磁盘I/O 、网络通信或者数据库访问上。如何把处理器的运算能力“压榨”出来? 如何充分利用计算机处理器? 因为绝大多数的运算任务都不可能只靠处理器“计算”就能完成, 处理器至少 阅读全文
摘要:
why ? what ? when ? how ? 为什么要用红黑树? 红黑树放弃了追求完全平衡,追求大致平衡,任何不平衡都会在3次旋转之内解决,平衡二叉树不行。 Red Black Tree 是一种自平衡的二叉查找树。需要满足下面 5 个性质: 1. 结点是红色或黑色 2. 根结点是黑色 3. 每 阅读全文
摘要:
when ? why ? how ? what ? 平衡二叉树其查找的时间复杂度是 O(log2N)与树的深度相关,那么降低树的深度自然会提高查找效率。 如果我们要操作的数据集非常大,大到内存已经没法处理了怎么办呢?如数据库中的上千万条记录的数据表、硬盘中的上万个文件等。在这种情况下,对数据的处理需 阅读全文
摘要:
when ? what ? why ? how ? 为什么要进行垃圾回收? 当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们需要对内存动态分配和内存回收技术实施必要的监控和调节。 垃圾回收的区域是哪块? JVM 内存结构分成程序计数器、虚拟机栈、本地方法栈、堆、 阅读全文