volatitle是为了解决多线程中,线程之间参数不可见的问题,从而有的一个标签,不加volatitle的时候,参数相当于从主内存中获取一个副本,一直就是用这个参数副本了,所以这样参数就不会更新,加volatitle以后,线程每次都会获取新的参数副本,把之前的老旧参数副本销毁,这样参数就会获取最新的 ...
分类:
其他好文 时间:
2020-03-28 16:15:07
阅读次数:
51
这篇文章主要介绍了C#实现终止正在执行的线程的方法,针对临界资源等容易出现错误的地方进行了分析,并提出了改进方案与实例,需要的朋友可以参考下. 本文实例讲述了C#实现终止正在执行的线程的实现方法,并针对一些容易出错的地方进行了深入分析,具体方法如下: 一般来说,很多人都会使用Abort方法来终止线程 ...
分类:
编程语言 时间:
2020-03-27 21:26:25
阅读次数:
130
35. 并行和并发有什么区别? 并行:多个处理器或多核处理器同时处理多个任务。 并发:多个任务在同一个 CPU 核上,按细分的时间片轮流(交替)执行,从逻辑上来看那些任务是同时执行。 如下图: 并发 = 两个队列和一台咖啡机。 并行 = 两个队列和两台咖啡机。 36. 线程和进程的区别? 一个程序下 ...
分类:
编程语言 时间:
2020-03-27 13:04:26
阅读次数:
64
饿汉模式 public class Singleton01 { private static final Singleton01 INSTANCE = new Singleton01(); private Singleton01(){} public static Singleton01 getIn ...
分类:
其他好文 时间:
2020-03-18 15:13:02
阅读次数:
55
3 月 17 日,JDK/Java 14 正式 GA。 此版本包含的 JEP(Java/JDK Enhancement Proposals,JDK 增强提案)比 Java 12 和 13 加起来的还要多。总共 16 个新特性如下: 305:Pattern Matching for instanceo ...
分类:
编程语言 时间:
2020-03-18 13:41:12
阅读次数:
76
*基于javaGuide java基础 重载(override)要求子类的返回值小于父类(类型相同),修饰符使用范围也大于分类,抛出异常小于父类。 静态方法不能调用类非静态方法,因为静态方法可以在不生成对象的时候直接调用。 默认构造方法,因为子类构造的时候也调用super()父类,所以需要增加一个默 ...
分类:
编程语言 时间:
2020-03-15 14:52:09
阅读次数:
68
访问控制符、修饰符总表 | | 外部类/接口 | 成员属性 | 方法 | 构造器 | 初始化块 | 成员内部类 | 局部成员 | | | | | | | | | | | 访问控制符 | | | | | | | | | public | √ | √ | √ | √ | | √ | | | protec ...
分类:
其他好文 时间:
2020-03-12 23:19:00
阅读次数:
55
Java深入学习03:happens-before规则 为什么会有happens-before 规则? 因为jvm会对代码进行编译优化,指令会出现重排序的情况,为了避免编译优化对并发编程安全性的影响,需要happens-before规则定义一些禁止编译优化的场景,保证并发编程的正确性。 1. 规则一 ...
分类:
移动开发 时间:
2020-03-12 18:46:32
阅读次数:
78
线程 java.lang.Thread.State 6种状态 1. NEW:尚未启动的线程状态 2. RUNNABLE:可运行的线程状态等待CPU调用 3. BLOCKED:线程阻塞等待监视器锁定的线程状态。处于synchronized同步代码块或方法中被阻塞。 4. WAITING:等待线程的状态 ...
分类:
编程语言 时间:
2020-03-07 14:38:49
阅读次数:
108
synchronized与volatile关键字 一、 synchronized synchronized是Java语法中的一个内置锁的实现。synchronized关键字解决了代码块或者方法上的同步问题,同一时间,只有一个线程能够通过并执行。提供了并发场景的一个共享资源访问的解决方案。 当我们说s ...
分类:
编程语言 时间:
2020-03-03 20:34:49
阅读次数:
95