08 2020 档案
摘要:redis 数据类型 跳表 高可用 主从 哨兵 集群 持久化机制 主从下的全量复制和增量复制
阅读全文
摘要:HashMap和HashTable的区别 多态的底层实现原理(不会) 泛型,泛型上下界,List<object>可以添加String 吗? LRU算法 自我介绍HashMap了解多少,简单说说说了一下HashMap的底层链表数组实现,put方法和get方法实现比较两个key是否相同,先判断hashc
阅读全文
摘要:JVM的内存模型 JVM内存模型常考吧,我面了几家都问了。 1. 线程私有:虚拟机栈,程序计数器,本地方法栈 2. 线程共享:堆,方法区(JDK1.8之后改为位于直接内存的元空间) 3. 直接内存 JVM的GC了解多少 我主要从触发GC方面回答的: MinorGC: new出的对象一般进入到堆空间的
阅读全文
摘要:JMM(Java内存模型) 来源:为了解决CPU和主存之间速度不匹配导致CPU资源浪费的情况,每个线程都独占一块缓存Cache用于缓存要使用到的主存中的数据。JMM模型如下图所示: JMM基本原理:当多个线程修改同一静态变量时,每个线程在修改完变量后,会将线程的缓存中的变量值刷新到主存中;在每个线程
阅读全文
摘要:什么是事务? 事务是指对数据库进行的一组操作,该组操作满足ACID四大特性。 扩展:事务由commit提交,由rollback进行回滚。 解释ACID 特性? 原子性(Atomicity):一个事务里的全部操作构成一个不可再分的整体。全部的操作执行成功,那么事务执行成功;有一个操作执行失败,那么事务
阅读全文
摘要:例子1:连续数组分组: 题目:例如array = [8, 8, 8, 8], 划分成3个集合,每个集合内的元素必须连续,每个集合内元素总和尽量小,求最大的集合总和。 思路:输出是最大步长maxSteps 就是每个划分的集合的最大总和初始值 maxSteps = max(array), sumStep
阅读全文
摘要:1. 题源:牛课网,题号:OR176 连续子数组最大和 题目:输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。要求时间复杂度为O(n)。 思路: 动态规划最简单的方法就是依次列举给出当前数组的几个元素,从后往前推理出数组与当前元素和结果数组的关系。 当前数组:[a
阅读全文
摘要:动态规划 动态规划题目总结 二分法 最简单的二分法: 题目:array = [1, 3, 4, 5, 6],查找数组内值为num的下标index 思路:在初始情况下, index<=right index=0, right=4 一步一步尝试性地缩小index的查找的范围: 由于数组是顺序性的,每次尝
阅读全文