正则表达式与优化
整体已整理成思维导图:
共 167 篇文章

整体已整理成思维导图:

数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。
上篇介绍了一些String的基础与简单的创建方式,本篇引入它的intern()方法。

由于具体关注的内容的特殊性,如无特殊注明,本文讨论均基于Java8。
队列同步器AbstractQueuedSynchronizer(AQS)是用来构建锁或者其他同步组件的基础框架。该类也是其他许多同步类的基类,许多同步器通过AQS很容易构造出来(如,ReentrantLock、Semaphore、CountDownLatch、ReentrantReadWriteLock等,Java6以前的版本还包含SynchronousQueue和FutureTask)。
Java SE5之前,在协调对共享对象的访问时可用的机制只有synchronized和volatile。Java 5.0之后,并发包中新增了Lock接口及其相关实现类。
Volatile可以修饰字段(成员变量),就是告知程序任何对该变量的访问均需从共享内存中获取,而对它的改变必须同步刷新回共享内存,它能保证所有线程对变量访问的可见性。但是过多的使用volatile是不必要的,因为会降低程序执行的效率。

现代操作系统在运行一个程序时,会为其创建一个进程。

关于双重检测锁定,了解过单例的应该不陌生,但也容易写错。这里以单例模式为例一起探索。

JMM把happens-before要求禁止的重排序分为下面两类: