java 之 == 和 equals()的区别

首先 直观看(两个世界的东西)

== 是运算符
equals() 是方法

== 是万能的 即可比较急可以比较基本数据类型 也可以比较 引用数据类型 equals() 只可以比较 引用数据类型

    int a = 1;
    int b = 1;
    System.out.println(a == b);

true

  persion persion = new persion("许文",1);
  persion persion1 = new persion("许文",1);
  System.out.println(persion == persion1);

false

总结 : 当== 比较的是引用数据类型的时候比较的是 引用的内存地址 当 == 比较的是基本数据类型的时候 比较的是值

总结 equals() 方法
在重写(Object) 类之前是比较对象地址 之后是比较属性值

  persion persion = new persion("许文",1);
  persion persion1 = new persion("许文",1);
  System.out.println(persion.equals(persion1));

char型变量中能不能存贮一个中文汉字吗

private char asex =‘男’;
可以 只要汉子是 unicode编码字符

int 和 Intage 有什么区别

默认值不同。 数据存储不同 Intage存储的是 引用地址 int 存储的是数据
序列化 Intage 需要 int 不需要

public,private,protected default

属性默认是 default
public 只能修饰类。

byte
short
int
long
float
double
char
boolean

String 不是基本数据类型 String 类不可以被继承 因为 final class String 是final定义的

final 修饰方法不可以重写 修饰属性不可以修改 修饰类不可继承

String和StringBuffer的区别

String 是常量

StringBuffer 线程安全 可以变的

StringBuilder 线程安全

ArrayList和LinkedList。都实现了List 接口

ArrayList 底层是数组 随机查找 根基下标查找

LinkedList 底层是链表 添加删除

final, finally, finalize的区别
final 修饰符 修饰类 修饰方法 修饰属性 不能继承 不能重写 不能 修改
finally 在 try catch 块中 finally 都会执行
finalize 是object 类的方法 在垃圾回收器之前调用 垃圾回收的是没有指针指向的空对象

运行时异常与一般异常有何异同

定义不同,

运行时异常都是RuntimeException类及其子类异常

,如NullPointerException、IndexOutOfBoundsException等。

一般异常是RuntimeException以外的异常

,类型上都属于Exception类及其子类。

2.处理方法不同,

运行时异常是不检查异常

,程序中可以选择捕获处理,也可以不处理。

对于一般异常

,JAVA编译器强制要求用户必需对出现的这些异常进行catch并处理,否则程序就不能编译通过。

3.发生原因不同,

运行时异常一般是由程序逻辑错误引起的

,程序应该从逻辑角度尽可能避免这类异常的发生。

面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常

wait 和 sleep 的区别
wait 是 object 的一个方法 实例方法 通过new 调用 需要拿到一个锁 需要等待
sleep 是 Thread 的一个方法 静态方方法 通过类直接调用 传入时间 需要唤醒

启动一个线程是用run()还是start()?

启动线程使用的是 run

list、set和map的区别

list 可以重复 有序
set 无序 不可重复
map 独一无二的 可不可以重复 value 是可以重复的

Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别?

Set 里的元素是不能重复的,元素重复与否是使用 equals() 方法进行判断的。

List,Set是继承于Collection
list 可以使用下标 插入的数据是有序的 set 是无序的 插入的数据是不可以 不可以重复的

Springboot整合mybatis日志打印

mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

Mybatis 二级缓存

一级缓存的级别Sqlsession 级别的 其实就是构造了一个sqlsessiond对象 在对象的结构中 有一个数据结构 hashmap 用于存储数据 不同的sqlsession 之间的hashmap 之间的数据互不影响
是把sql 结果 放到 存在sqlsession 里面

二级缓存的级别mapper 级别的 多个sqlsession 同时操作一个mapper 文件的sql 语句 多个sqlsession 可以共用一个 二级缓存 二级缓存也是跨sqlsession

mybatis 一级缓存 也称之为查询缓存 是在sqlsession 中保存在hashmap 的k v 键值对 k 为sql 语句 v 查询结果
删除 更新 添加 都会清空掉 sqlsession 中的结果

mybatis 二级缓存
多个sqlsession

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值