一、String StringBuffer StringBuilder的差别
1、String内容是不可变的字符,String底层使用了一个不可变的字符数组(final char[])
注:final修饰一个类,这个类不可以被继承,若是修饰一个变量,这个变量被赋值后不可以改变
StringBuilder和StringBuffer底层是可变的字符数组
2、拼接字符串
1)、String进行拼接 String = "a"+"b";//在此创建了三个对象
2)、StringBuilder sb = new StringBuilder();sb.append("a").append("b");//仍然还是原来的对象
所以拼接字符串尽量不要用String进行拼接
3.StringBuilder是线程不安全的效率高,StringBuffer是线程安全的,效率低
StringBuffer在append方法上增加了sycronized线程锁
原文链接:https://www.cnblogs.com/gxlaqj/p/11302881.html
二、&&和&的区别
按位与:a&b是把a和b都转换成二进制数然后再进行与的运算;
逻辑与:a&&b就是当且仅当两个操作数均为 true时,其结果才为 true;只要有一个为零,a&&b就为零。
例如:
a&b 9&8
1001
1000
结果是1000
a&&b 9&&8 结果是1
&对每一个都判断;
&&只要前面是false就输出false,而不继续判断后面了
原文链接:https://blog.csdn.net/liquanhai/article/details/4493259
三.表A有30万条数据,表B有50万条数据,select A left jion B on A.x=b.*x ,结果集有30万条数据,不是1500万。
四.mybaties框架原理:
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情:
- 封装JDBC操作
- 利用反射打通Java类与SQL语句之间的相互转换
MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便,所以方便地写出SQL和方便地获取SQL的执行结果才是MyBatis的核心竞争力。
原文链接:https://www.cnblogs.com/luoxn28/p/6417892.html
五、vue的生命周期
一共8个阶段
1、beforeCreate(创建前)
2、created(创建后)
3、beforeMount(载入前)
4、mounted(载入后)
5、beforeUpdate(更新前)
6、updated(更新后)
7、beforeDestroy(销毁前)
8、destroyed(销毁后)
vue第一次页面加载会触发哪几个钩子函数?
beforeCreate、created、beforeMount、mounted
原文链接:https://blog.csdn.net/brain_bo/article/details/86712177
六、浅拷贝与深拷贝的区别
数据类型分为两种基础类型和引用类型:
1、基础类型:像Number、String、Boolean等这种为基本类型
2、引用类型:Object和Array
浅拷贝只是复制了对象的引用地址,两个对象指向同一个内存地址,所以修改其中任意的值,另一个值都会随之变化,这就是浅拷贝(例:assign())
深拷贝是将对象及值复制过来,两个对象修改其中任意的值另一个值不会改变,这就是深拷贝
DOM 渲染在哪个周期中就已经完成?
mounted
原文链接:https://www.cnblogs.com/cnlg123/p/9183436.html
七、虚拟内存 基于局部性原理 一部分数据只存到硬盘中 调用到的时候再读取 分页就是为了实现这一功能
八、
sleep和wait的区别有:
1,这两个方法来自不同的类分别是Thread和Object
2,最主要是sleep方法没有释放锁,而wait方法释放了锁,使得敏感词线程可以使用同步控制块或者方法。 3,wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在 任何地方使用 synchronized(x){ x.notify() //或者wait() } 4,sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常
九、最终类就是被final修饰的类,最终方法就是被final修饰的方法。最终类不能被继承,最终方法不能被重写。
十、floor : 意为地板,指向下取整,返回不大于它的最大整数 ceil : 意为天花板,指向上取整,返回不小于它的最小整数
round : 意为大约,表示“四舍五入”,而四舍五入是往大数方向入。Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11而不是-12。
十一、访问修饰符