Java每日基础01

  1. JDK1.8中,HashMap底层采用哪些结构存储数据?
    JDK1.8之后,HashMap的数据结构发生了一些改变
    从单纯的数组+链表结构变成数组+链表+红黑树
    Java每日基础01
    其中Node是HashMap的一个内部类,实现Map.Entry接口,本质是一个KV映射,上图中每个元素都是一个Node对象
    HasMap顾名思义是通过Hash表进行存储,为了解决哈希碰撞的问题,java采用这种数组+链表方式来进行存储。

  2. ArrayList和LinkedList区别
    ArrayList的底层是数组,支持随机访问,时间复杂度为O(1)
    LinkedList底层是双向循环链表,不支持随机访问,时间复杂度为O(n)

  3. 假如有用户表user,其中有500条数据,进行分页查询,要求查询第三页数据,每页显示30条数据,使用sql语句
    分页用到的关键字为limit
    分页语句为:select * from 表名 limit m,n;
    其中m是起始数据,n是偏移量
    我们需要查询的是第三页(61~90)
    例如此题就是:select * from user (3-1)*30,30;

  4. 简述Servlet的生命周期
    实例化:第一个用户第一次访问时服务器会实例化Servlet
    每个Servlet类都是单例的,只能实例化一次
    初始化: 服务器会初始化Servlet实例。只执行一次
    服务:每个用户每次访问时都会调用service方法,为用户进行服务
    销毁:服务器关闭时,服务器内部所有的Servlet实例会销毁

  5. form表单中get与post提交方式的区别
    get:
    1.不安全
    2.传输速度快,效率高
    3.传输数据大小有限制(2KB)
    4.明文传输,没有保密措施
    post:
    1.较安全
    2.速度较慢
    3.传输大小没有限制
    4.密文传输