牛客
文章平均质量分 60
快乐风男hasaki
希望一切都值得
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于volatile与synchronized的基本区别
今天写牛客题目简略了解一下volatile与synchronized的区别基础概念在并发编程中有两个关键性问题:线程之间如何通信以及线程之间如何同步可见性概括: 可见性是指线程之间的可见性,既一个线程修改之后,另外一个线程可以看到。指的是解决线程之间的通信问题在Java中,用volatile、synchronized和final实现可见性。原子性概括: 既操作不可以再进行分割。反例: a++,变量的自加操作实际是a=a+1,是可以分割的,所以自加并不是原子操作。非原子操作都会引起线程安全问原创 2021-02-03 22:52:58 · 216 阅读 · 0 评论 -
关于Java语言的几种数组复制方式比较
在今天的牛客刷题中遇到一道这个题先说结论,顺序从快到慢为:System.arraycopycloneArrays.copyOffor循环逐一复制System.arraycopy源码如下所示: @HotSpotIntrinsicCandidate public static native void arraycopy(Object src, int srcPos, Object dest, int原创 2021-02-02 21:30:16 · 143 阅读 · 0 评论 -
java中类的加载顺序
类的加载顺序父类静态对象和静态代码块子类静态对象和静态代码块父类非静态对象和非静态代码块父类构造函数子类 非静态对象和非静态代码块子类 构造函数总而言之,可以记为先父再子,静态最前且只执行一次,非静态之后再构造类中的静态块按照声明顺序执行(在类执行加载到方法区的时候执行的)总执行顺序的优先级为:静态域,main(),构造代码块,构造函数牛客错题此题按照顺序优先级可以得出:静态域:第一个静态域是一个静态变量 public static Test t1=new Test();原创 2020-12-19 11:25:13 · 259 阅读 · 1 评论
分享