面试题
小猪呀
这个作者很懒,什么都没留下…
展开
-
HashMap1.8源码解析
一、HashMap概述 在JDK1.8之前,HashMap1.7采用数组+链表实现,即使用链表处理冲突,同一hash值的节点都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,HashMap采用数组+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间。下图中代表jdk1.8之前的hashmap结构,左边部分即代表哈希表,也称为哈希数组,数组的每个元素都是一个单链表的头节点,...原创 2020-09-17 10:36:11 · 363 阅读 · 0 评论 -
你真的对Redis很清楚吗?来看看这些面试题
1.什么是Redis,有何优点作用,为什么效率高?redis是nosql中的一种,把数据存储在内存中的数据库,优点:高性能,读写速度快,支持多种字符,支持事务,和丰富的特性纯内存数据库,非阻塞io,单线程模型,减少上下文切换。使用hash结构。2.Redis相比memcached有哪些优势?redis支持多种数据结构,memcached只能用普通的字符窜redis读写速度比他快,redis支持事务,支持持久化3.Redis是单线程还是多线程?为什么选择单线程?为什么执行速度.原创 2020-08-10 17:23:47 · 288 阅读 · 0 评论 -
Java基础面试题(下)
1.Collection下的常用子类集合有那一些?有List,Set。List:有序(按添加顺序显示),可重复,set:无序(按大小排序显示),不可重复,map:以键值对方式存储List分别有:ArrayList:是List的主要实现类,ArrayList的底层是数组。线程不安全的。查找快,增删慢(通过首地址+下标获取元素位置,增删要移动某一些元素)”LinkedList:底层是一个双向链表(是一个带头/尾指针的双向链表,)。插入,删除快(增删快因为直接就在对应的位置设置新的元素指向前后原创 2020-09-16 16:07:36 · 1056 阅读 · 0 评论 -
Java基础面试题(上)
一、&和&&的区别? | 和|| 的区别?1.当符号左边是false时,&继续执行符号右边的运算。&&不再执行符号右边的运算。2.当符号左边是true时,|继续执行符号右边的运算,而||不再执行符号右边的运算二、final作用? finally finalize区别用于修饰类、属性和方法;被final修饰的类不可以被继承被final修饰的方法不可以被重写被final修饰的变量不可以被改变,被final修饰不可变的是变量的引用,而不是引用.原创 2020-09-16 12:26:17 · 176 阅读 · 2 评论