java基础笔记

一、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件事情:

  1. 封装JDBC操作
  2. 利用反射打通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。

十一、访问修饰符
 
原文地址:https://www.cnblogs.com/jianghuxiao/p/11664493.html