首页 > 编程语言 > 详细

java基础笔记

时间:2019-10-13 00:14:12      阅读:235      评论:0      收藏:0      [点我收藏+]

一、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

七、虚拟内存  基于局部性原理 一部分数据只存到硬盘中 调用到的时候再读取 分页就是为了实现这一功能

java基础笔记

原文:https://www.cnblogs.com/jianghuxiao/p/11664493.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!