摘要:
ExtensionLoader类分析 成员变量分析 静态成员变量 // 分割value属性值 比如A,B,C分割之后的结果为三个元素A B C // 扩展点(扩展接口)及对应的扩展类加载器缓存 // 扩展类与类初始化之后的实例 实例成员 // 扩展点(其实是扩展接口) // 扩展工厂类, 当对实例进 阅读全文
摘要:
题目描述 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2: 输入: "cbbd"输出: "bb" 方法一暴力求解: 定义一个n*n维的数组flage,flag 阅读全文
摘要:
leetcode3:无重复字符的最长字串问题 问题描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: "bbbbb"输出: 1解释: 因为无重 阅读全文
摘要:
leetcode 365水壶问题 问题描述:有两个容量分别为 x升 和 y升 的水壶以及无限多的水。请判断能否通过使用这两个水壶,从而可以得到恰好 z升 的水? 如果可以,最后请用以上水壶中的一或两个来盛放取得的 z升 水。 你允许: 装满任意一个水壶 清空任意一个水壶 从一个水壶向另外一个水壶倒水 阅读全文
摘要:
了解HashMap中的红黑树 红黑树定义: 红黑树是一种含有红黑节点并能自平衡的二叉查找树。它必须满足下面性质: 性质1:每个节点要么是黑色,要么是红色 性质2:根节点是黑色 性质3:每个叶子节点(NIL)是黑色 性质4:每个红色节点的两个子节点一定是黑色 性质5:任意一节点 阅读全文
摘要:
HashMap源码阅读 相关注意点 1. HashMap允许null键和null值, 它与HashTable的区别是, HashTable不允许null和非线程安全。 HashMap无法保证元素的位置信息,本质上就是说迭代的顺序可能和我们添加数据的顺序不一致。 2. HashMap提供只需常量时间的 阅读全文
摘要:
题目要求:输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 此问题简单思路是排序, 我们分别利用直接插入排序,归并,快排, 堆排序来实现! 直接插入排序, 时间复杂度O(n^2), 空间复杂度为O(1), 优化措 阅读全文
摘要:
主要讲synchronize两部分问题 1.可重入锁, 2.synchronize区域的合理使用。 JVM中的区域主要分为五部分 线程私有 虚拟机栈、本地方法栈、程序计数器 线程共享: java堆、方法区 所谓的线程安全针对的就是线程共享区域,从此处我们得到一个结论:无状态的类是线程安全的,因为不存 阅读全文
摘要:
1 public class CheckSum { 2 3 /** 4 * 计算数组中数据之后为sum的两个数字 5 * @param array 6 * @param sum 7 */ 8 public void findTheSum(int array[], int sum) { 9 10 ... 阅读全文
摘要:
来自书籍 设计模式之禅 享元模式:是池技术的重要实现,使用共享对象可有效支持大量的细粒度的对象。 定义两个要求 细粒度的对象和共享对象。 要求细粒度的对象就必然会存在大量且性质相似的对象,我们将对象的信息分为两个部分 内部状态 和外部状态 内部状态 是对象可共享的信息,存储在享元对象内部并且不会随环 阅读全文