栈是一种限定仅在表尾进行插入和删除操作的线性表,其最大的特点就是后进先出(Last In First Out),简称LIFO结构。栈可以用动态数组实现,也可以使用链表实现。由...
栈是一种限定仅在表尾进行插入和删除操作的线性表,其最大的特点就是后进先出(Last In First Out),简称LIFO结构。栈可以用动态数组实现,也可以使用链表实现。由...
前言 Unsafe,顾名思义,一个不安全的类,那么jdk的开发者为什么要设计一个不安全的类呢?这个类为什么会不安全呢?现在就让我们来揭开Unsafe类的神秘面纱。 1.概述 ...
前言: 上篇文章我们介绍了如何在Ubuntu中编译openjdk,包括hotspotJVM,编译完之后大家就要开始阅读jvm源码了,为了让大家能够流畅地阅读和调试jvm源码,...
前言 我的另一篇文章:Ubuntu下编译openjdk8 已经编译了openjdk8的版本,现在需要用到openjdk11的HotspotJVM,所以就编译一下openjdk...
一、java中的锁从以下几个方面进行划分类别: 1.线程是否要锁住同步资源: 锁住:悲观锁 不锁住: 乐观锁 CAS 2.锁住同步资源失败,线程是否要阻塞:...
前言 CAS,即 Compare And Swap(比较与交换),是一种无锁算法,基于硬件原语实现,能够在不使用锁的情况下实现多线程之间的变量同步。jdk中的java.uti...
前言 这篇详细介绍了Stream流的概念,创建方式,基本操作及部分源码分析。可能有点长哈,大家看起来比较费劲,我自己写的也比较累,光码字就码了很长时间,大家看得过程中可以停下...
1.什么是方法引用 方法引用是java8中特定情况下简化lambada表达式的一种语法糖,这里的特定情况是指当调用现有的方法时可以用方法引用替代lambada表达式,其他情况...
概述 java8中新增了 @FunctionalInterface 注解表示函数式接口,用注解@FunctionalInterface标识的接口都是函数式接口,函数式接口只能...