说下volatile的应用场景 2022-09-08
例子2: volatile bean,在 volatile bean 模式中,JavaBean 的所有数据成员都是 volatile 类型的,并且 getter 和 setter 方法必须非常普通 ...详情>
什么是重复注解 2022-09-08
允许在同一申明类型(类,属性,或方法)的多次使用同一个注解.JDK8之前,Java 8之前也有重复使用注解的解决方案,但可读性不是很好,比如下面的...详情>
什么是虚拟机栈(线程私有) 2022-09-08
主管 Java 程序的运行,它保存方法的局部变量、部分结果,并参与方法的调用和返回。每个线程在创建的时候都会创建一个虚拟机栈,其内部保存一...详情>
JVM类加载机制有哪些 2022-09-08
1、全盘负责,当一个类加载器负责加载某个Class时,该Class所依赖的和引用的其他Class也将由该类加载器负责载入,除非显示使用另外一个类加载...详情>
Synchronized和Lock的对比和选择 2022-09-08
synchronized: 1、以获取锁的线程执行完同步代码,释放锁 2、线程执行发生异常,jvm会让线程释放锁,Lock: 在finally中必须释放锁,不然容易造...详情>
内置的四大函数接口及使用 2022-09-08
filter()中参数就是Predicate,函数型接口: Function R apply(T t)有参有返回值的抽象方法;reduce()中参数BinaryOperator(ps: BinaryOp...详情>
类加载器的层次 2022-09-08
1、启动类加载器:Bootstrap ClassLoader,负责加载存放在JDK\jre\lib(JDK代表JDK的安装目录,下同)下,或被-Xbootclasspath参数指定的路径中...详情>
什么是FunctionalInterface 2022-09-08
一个被它注解的接口只能有一个抽象方法,有两种例外:是接口允许有实现的方法,这种实现的方法是用default关键字来标记的(java反射中java.lang...详情>
类加载的生命周期 2022-09-08
其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,...详情>
什么是函数式编程?Lambda表达式 2022-09-08
函数式编程:面向对象编程是对数据进行抽象;函数式编程是对行为进行抽象。核心思想:使用不可变值和函数,函数对一个值进行处理,映射成另一个...详情>