2019-6-17牛客网刷题易错知识点

在java 中,声明一个数组时,不能直接限定数组长度,只有在创建实例化对象时,才能对给定数组长度.。

2019-6-17牛客网刷题易错知识点_第1张图片

用new创建的对象在堆区

函数中的临时变量在栈去

java中的字符串在字符串常量区

栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中

静态域:存放在对象中用static定义的静态成员

常量池:存放常量

 

接口里的方法只能用 public 和 abstract 修饰,如果你不写也没关系,默认的也是 public abstract 修饰.

 

  • 静态初始化块 > 初始化块 > 构造器
  • 父类 > 子类

综合下来顺序就是:

  • 父类静态初始化块
  • 子类静态初始化块
  • 父类初始化块
  • 父类构造器
  • 子类初始化块
  • 子类构造器

需要注意静态初始化块是在类第一次加载的时候就会进行初始化。

 

1.CopyOnWirteArrayList   适用于写少读多的并发场景

2.ReadWriteLock  即为读写锁,要求写与写之间互斥,读与写之间互斥,读与读之间可以并发执行,在读多写少的情况下可以提高效率。

3.ConcurrentHashMap是同步的HashMap,读写都加锁

4.volatile只保证多线程操作的可见性,不保证原子性

你可能感兴趣的:(笔记)