day01Java牛客刷题总结

1.基类就是父类,导出类就是子类。子类调用父类构造方法用super()关键字,且放在子类构造函数的第一行。
2.String是不可变(immutable)类。
3.记住wait必须要进行异常捕获。记住调用wait或者notify方法必须采用当前锁调用,即必须采用synchronized中的对象。不然会抛出 InterruptedException。
4.int和int之间,用等号比较,肯定为true。基本数据类型没有equals方法。
int和Integer比较,Integer会自动拆箱,等号 和 equals都肯定为true。
int和new Integer比较,Integer会自动拆箱,调用intValue方法, 所以 等号 和 equals都肯定为true。
Integer和Integer比较的时候,由于直接赋值的话会进行自动的装箱。所以当值在[-128,127]中的时候,由于值缓存在IntegerCache中,那么当赋值在这个区间的时候,不会创建新的Integer对象,而是直接从缓存中获取已经创建好的Integer对象。而当大于这个区间的时候,会直接new Integer。
当Integer和Integer进行等号比较的时候,在[-128,127]区间的时候,为true。不在这个区间,则为false 。
当Integer和Integer进行equals比较的时候,由于Integer的equals方法进行了重写,比较的是内容,所以为true。
Integer和new Integer : new Integer会创建对象,存储在堆中。而Integer在[-128,127]中,从缓存中取,否则会new Integer。
所以 Integer和new Integer 进行等号比较的话,肯定为false ; Integer和new Integer 进行equals比较的话,肯定为true。
new Integer和new Integer进行等号比较的时候,肯定为false ; 进行equals比较的时候,肯定为true 。
原因是new的时候,会在堆中创建对象,分配的地址不同,等号比较的是内存地址,所以肯定不同。
装箱过程是通过调用包装器的valueOf方法实现的 。
拆箱过程是通过调用包装器的xxxValue方法实现的(xxx表示对应的基本数据类型)。
总结:Byte、Short、Integer、Long这几个类的valueOf方法实现类似的。所以在[-128,127]区间内,==比较的时候,值总是相等的(指向的是同一对象),在这个区间外是不等的。
而Float和Double则不相等, Boolean的值总是相等的。
5.ThreadLocal存放的值是线程封闭,线程间互斥的,主要用于线程内共享一些数据,避免通过参数来传递。
线程的角度看,每个线程都保持一个对其线程局部变量副本的隐式引用,只要线程是活动的并且 ThreadLocal 实例是可访问的;在线程消失之后,其线程局部实例的所有副本都会被垃圾回收。
在Thread类中有一个Map,用于存储每一个线程的变量的副本。
对于多线程资源共享的问题,同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式。
6.数值型变量在默认情况下为Int型,byte和short型在计算时会自动转换为int型计算,结果也是int 型。
7.SimpleDateFormat对象是线程不安全的。
8.Arrays.asList()
将一个数组转化为一个List对象,这个方***返回一个ArrayList类型的对象。
9.在源码中 toLowerCase 是重新 new String()。
10.Java 提供的事件处理模型是一种人机交互模型。它有三个基本要素:

  1. 事件源(Event Source):即事件发生的场所,就是指各个组件,如按钮等,点击按钮其实就是组件上发生的一个事件;
  2. 事件(Event):事件封装了组件上发生的事情,比如按钮单击、按钮松开等等;
  3. 事件监听器(Event Listener):负责监听事件源上发生的特定类型的事件,当事件到来时还必须负责处理相应的事件;
    11.java中类的加载有5个过程,加载、验证、准备、解析、初始化。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值