JavaEE
创建对象的方式
new对象,反序列化,Object的clone方法,反射动态创建对象
如何创建一个线程
继承Thread类,实现Runabke接口
HashMap的存储效率为什么是最快的
当我们有10万条数据时,我们如果进行分组,而且尽可能将数据平均分在每一个组里,当我们对数据进行操作时,都会比单独操作10万条数据效率高
hash又称散列,通过把数据转化为128位编码的一种算法,hash的目标是每个数据都有不同的编码,但是有时候,不同你给的数据的编码是一样的
Hashmap的底层是链表加数组,我们都知道,链表查询慢,增删快,数组查询快增删满,Hashmap是将两者进行了结合,而且在数组长度大于64且链表长度大于8时,底层的数据结构会转为红黑树,存储效率提升
当我们调用put方法时,底层会通过hash算法将数据放到合适的位置,而且底层通过一些方法,尽可能让数据填满每个数组,而不是在一个数组下通过链表放入大量数据,那样就违背了我们的理念
String,StringBuilder,StringBuffer
StringBuilder和StringBuffer字符串长度是可变的,String长度不可变
StringBuilder线程不安全,性能高,StringBuffer线程安全,性能比StringBuilder低
使用场景:StringBuilder>StringBuffer>String
线程中start和run方法有什么不同
start方法是将一个线程加入到就绪队列中
run方法是单纯地执行的一个普通方法,没有多线程的效果
前端
Css选择器都有哪些
标签选择器,类选择器,
数据库
数据库的聚合函数
Count(总数),Avg(平均数),Max(最大值)/,Min(最小值)
Sql优化
一张表的索引不能超过6个
一个索引如果是varchar或者char类型,使用此索引查询时必须带双引号
使用varchar代替char
尽量不要使用通配符,而是具体到查询的字段
尽量不要使用多张表进行多表联查,阿里规范禁止3张表以上
连接查询效率比较高,内连接效率最高
游标
游标是一种从多行数据集中每次只取出一条数据的机制,游标通过遍历数据集,并且对每条数据进行处理
delerd 游标名 cursor for 结果集;
open 打开游标 close 释放游标
fetch 游标名 into 自定义变量 获取结果集中的下一行数据给变量
Sprng框架
Spring框架优缺点
优点:可以整合其他第三方框架,可以帮我们管理对象
缺点:底层通过大量的反射机制创建对象,所以性能会比较差