java基础
weixin_42218558
这个作者很懒,什么都没留下…
展开
-
对于volatile型变量的特殊规则
关键字volatile可以说是java虚拟机提供的最轻量级的同步机制。 当一个变量定义为volatile之后,它将具备两种特性: 第一是保证变量对所有线程的可见性,即当一条线程修改了这个变量的值,新值对于其他线程来说是可以立即得知的。 在不符合以下两条规则的运算场景下,我们仍然要通过加锁来保证原子性:运算结果并不依赖变量的当前值,或者能够确保只有单一的线程修改变量的值;变量不需要与其他的状态变量共同参与不变约束。 第二是禁止指令重排序优化。 ...原创 2021-07-03 20:13:21 · 148 阅读 · 0 评论 -
早期(编译期)优化之java语法糖
自动装箱、拆箱。 他们是java语言中使用最多的语法糖。 从如下代码开始说起: public static void main(String[] args) { Integer a = 1; Integer b = 2; Integer c = 3; Integer d = 3; Integer e = 321; Integer f = 321; Long g = 3L; Syst原创 2021-07-03 14:48:23 · 144 阅读 · 0 评论 -
接口和抽象类的区别
1、抽象类:抽象类中可以有抽象方法也可以有非抽象方法,抽象方法是只定义了方法而不去实现它,与接口不同,接口中所有的方法都是抽象的。 特性: a、抽象类用于创建一个基本行为的实现类,且可以为该类声明方法,而不用去实现它。 b、抽象类中不能定义抽象构造方法和抽象构造静态方法。 c、抽象类不能直接实例化,得定义该抽象类变量然后引用其子类。 d、继承抽象类的如果不实现抽象类中的所有方法,那么其子类也是抽象...原创 2019-02-26 21:01:58 · 81 阅读 · 0 评论 -
两个问题笔记
一、关闭多个io流正确做法: public static void close(Closeable… closeableList) { for (Closeable closeable : closeableList) { try { if (closeable != null) { closeable.close(); } } catch (IOException e) { e.printSta...原创 2019-08-27 19:21:41 · 231 阅读 · 0 评论