第一周

Algorithm:


Review

Java同步及内存模型

文章讲的是java内存模型及同步机制,阐述了指令的原子性、可见性、指令重排序、以及Volatile关键字作用

Tip:Arrays.asList注意事项

先看一下Arrays.asList方法的源代码


根据源代码可知,asList方法传入的是泛型类型的可变参数,因此对于没有对应泛型的8种基本数据类型使用该方法时就会出现JVM将基本类型的数组整体(而不是数组中的每个元素)作为一个对象传入方法,如:


int数组

其输出结果为:


输出结果

而且,对应asList方法返回的List也需要特别注意,因为由源代码可知该方法返回的是Arrays类中定义的静态内部类实例,而非我们常用的java.util.ArrayList类,有兴趣的可以看一下源代码,需要注意的是,这个内部类仅实现了get()/set()、size()、indexOf()、toArray()等方法,并没有实现add()、remove()等集合操作方法,因此在对asList返回的List进行集合操作时,会报UnsupportedOperationException异常。

Share:

极客时间中,郑雨迪大佬对于Java的异常处理机制有非常好的阐述,非常建议读一读,传送门:JVM是如何处理异常的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、初识Java 1.Java既属于编译型语言,又属于解释型语言 编译型语言:在程序执行之前,先进行编译,下次运行...
    NiklausTxt阅读 276评论 0 0
  • 1.jdk jre jvm的关系 JDK:是整个JAVA的核心,包括了Java运行环境(Java Runtime ...
    Goodspirit5阅读 594评论 0 1
  • 第二章:对象的产生和销毁 其围绕的主要问题是:何时,如何产生对象;何时,如何避免产生对象;如何确认对象及时销毁;以...
    bruvir阅读 183评论 0 0
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,415评论 0 4
  • 阿里巴巴 JAVA 开发手册 1 / 32 Java 开发手册 版本号 制定团队 更新日期 备 注 1.0.0 阿...
    糖宝_阅读 7,664评论 0 5