初入Java基础理解

1、如果类被final修饰,就不能继承【解说:永恒不死,不需要后人来继承财产

  1. 被 final 修饰的,表明该类是无法继承的;
  2. 被 final 修饰的方法,表明该方法是无法覆写的;【没有轮回,不用重生
  3. 被 final 修饰的变量,说明该变量在声明的时候,就必须初始化完成,而且以后也不能修改其内存地址。

 

2、当方法被static修饰时,任意类都可以直接访问(如果权限是 public 的话),有一点需要注意的是,该方法内部只能调用同样被 static 修饰的方法,不能调用普通方法【解说:豪宅的保安,静静的守在门口,任何人可以来询问,内部只有保安BOSS才能呼唤他

父类静态变量初始化
父类静态块初始化
子类静态变量初始化
子类静态块初始化
main 方法执行
父类构造器初始化
子类构造器初始化

 

3、finally 先执行后,再抛出 catch 的异常;

 

4、如果有4个cpu,线程要拿值 C,会直接从 CPU 缓存中拿, CPU 缓存中没有,就会从内存中拿,所以线程读的操作永远都是拿 CPU 缓存的值。

volatile易变的】 关键字就会触发这种机制,加了 volatile 关键字的变量,就会被识别成共享变量,内存中值被修改后,会通知到各个 CPU 缓存,使 CPU 缓存中的值也对应被修改,从而保证线程从 CPU 缓存中拿取出来的值是最新的。

 

5、transient 关键字我们常用来修饰类变量,意思是当前变量是无需进行序列化的。

 

6、default 关键字一般会用在接口的方法上,意思是对于该接口,子类是无需强制实现的,但自己必须有默认实现;default 关键字被很多源码使用。

#########################################################################

7、Arrays 主要对数组提供了一些高效的操作,比如说排序、查找、填充、拷贝、相等判断等等


Arrays.sort();
Arrays.binarySearch();
拷贝整个数组我们可以使用 copyOf 方法,拷贝部分我们可以使用 copyOfRange 方法

 

8、Objects 有提供 equals 和 deepEquals 两个方法来进行相等判断,前者是判断基本类型和自定义类的,后者是用来判断数组的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值