- 博客(3)
- 收藏
- 关注
原创 Java基础面试常考点
1、&和&&的区别? 逻辑运算符:两边为true则为true一边是false就是false,&&左边为false就不会在看后面的 2、String 是 Java 基本数据类型吗? 不是,java中只有8中基本数据类型,String是引用的 3、String 类可以继承吗? 不可以被继承,因为他被fnail修饰 4、String和StringBuilder、StringBuffer的区别? String因为是被fnail修饰的,所以对他进行更新操作是会在创建一个新
2021-09-23 18:02:37
156
原创 Redis面试必问的几个点
1.Redis的过期键的删除策略 (1.1)惰性过期:访问到了才去删除,没访问到就不删除,对CPU非常友好,因为只有在访问到这个键才会去判断是否过期,如果没有访问到是不会去判断的,及大幅度的减少CPU的资源开销,但是对内存非常不友好,极端情况下如果存在大量过期键,因为没有访问到所以一直存在内存中,这会占用内存大量的空间。 (1.2)定时过期:每个key都会有一个定时器,过期的时候定时器会把key给删除掉,这种方案对CPU不友好。 (1.3)定期过期:每隔一段时间就会去扫描一次,扫描一定数量的数据库的expi
2021-09-22 08:20:43
207
2
原创 ArrayList的扩容机制
List扩容实现 1、性能 ArrayList的底层是一个数组,我们日常使用中他的一个缺点就是我们在需要插入一个元素去集合的中间的时候是性能较差的一个点,因为他需要把插入位置后面的元素全部向后移,删除也是一样,ArrayList因为底层是一个数组所以他是一个有序的情况,所以可以通过下标快速获取元素的位置,对于随机访问还是挺好的。 2.扩容 扩容其实就是1.5被的扩容,其具体流程就是一个原来数组的长度加上原来数组的长度0.5进行扩容,对于扩容的源码就是ensureExplicitCapacity这个方法中的g
2021-09-21 05:08:28
1055
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人