![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java 8
Vingt-trois
不太聪明的我需要更努力
展开
-
Java_强软弱虚四大引用
强引用 默认支持,强引用的对象不会被回收,就算出现OOM也不会被回收 public class Reference { public static void main(String[] args) { //这种等号赋值的都是强引用 Object object1 = new Object(); Object object2 = object1;...原创 2020-04-05 13:06:39 · 90 阅读 · 0 评论 -
Java_优雅的关闭资源连接_try-with-resource
背景 在Java中,如果打开了外部资源(文件、数据库连接、网络连接等),因为外部资源不由JVM管理,无法享用JVM的垃圾回收机制,我们必须在这些外部资源使用完毕后,手动关闭它们。如果我们不在编程时确保在正确的时机关闭外部资源,就会导致外部资源泄露,紧接着就会出现文件被异常占用,数据库连接过多导致连接池溢出等诸多很严重的问题 传统关闭方式 为了确保外部资源一定要被关闭,通常关闭代码被写入finall...原创 2020-03-23 18:53:09 · 698 阅读 · 0 评论 -
Atomic类如何保证原子性
CAS 全称是CompareAndSwap,它是一条CPU并发原语。用来判断内存某个位置的值是否为预期值,如果是则改为更新的值,这个过程是原子的。AtomicInteger之所以能保证原子性是依赖于UnSafe类,这个类是Java最底层的类之一,里面都是很屌的native方法,都是其他语言写的,咱看不见,Unsafe类可以执行以下几种操作: 分配内存,释放内存 可以定位对象的属性在内存中的位置,...原创 2020-03-09 06:54:07 · 4393 阅读 · 0 评论 -
volatile
volatile是Java虚拟机提供的轻量级的同步机制 保证可见性 不保证原子性 禁止指令重排 JMM(Java内存模型):是一种并不真实存在的抽象概念,它是一组规则,通过这组规则定义了程序中各个变量的访问方式 JMM的三大特性: 可见性 原子性 有序性 JMM关于同步的规定: 线程加锁前,必须读取主内存的最新值到自己的工作内存 线程解锁前,必须把工作内存中的共享变量的值刷新回主内存 加...原创 2020-03-09 06:53:45 · 86 阅读 · 0 评论 -
Java内置四大函数式接口
Java内置四大函数式接口 Consumer:消费型接口 @FunctionalInterface public interface Consumer<T> { /* 消费型接口的抽象方法,接收一个T类型的对象, 接口的实现中写对该对象的操作 */ void accept(T t); /* 一个有默认实现的普通方法,用于多个消费接口的拼接, 先运行第一个接口,然后再调用拼接上的...原创 2019-11-24 15:30:57 · 358 阅读 · 0 评论 -
JDK1.8_Stream_流式操作
文章目录StreamStream操作步骤创建Stream中间操作筛选与切片映射排序终止操作查找与匹配归约收集组合 Stream Stream是Java 8中处理集合的关键抽象概念,可以执行非常复杂的查找、过滤、和映射数据操作,使用Stream API对集合数据进行操作,就类似使用SQL执行的数据库查询。Stream不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版本的...原创 2019-11-24 15:30:25 · 393 阅读 · 0 评论 -
Java反射
Java反射 文章目录Java反射什么是反射为什么要用反射怎么使用反射获取Class类对象的实例Class类对象的主要方法成员变量构造器方法成员方法 什么是反射 将类的组成部分封装成为其他对象,这就是反射 首先我们需要知道我们的代码是怎么运行起来的,Java代码在计算机中经历了什么以及我们平时经常说的编译和运行到底是什么。 代码运行的三个阶段 javac.exe编译类加载器ClassLoade...原创 2019-11-17 17:03:07 · 118 阅读 · 0 评论 -
JDK1.8_Lambda表达式
Lambda表达式 文章目录Lambda表达式什么是函数式接口?什么是Lambda表达式Lambda表达式的语法Lambda的方法引用和构造引用 什么是函数式接口? 函数式接口(Functional Interfaces):如果一个接口只定义了一个抽象方法,那么这个接口就被称为函数式接口。可以包含多个默认方法、类方法,但是只能声明一个抽象方法。同时引入了一个新的注解:@FunctionalInte...原创 2019-10-24 07:10:46 · 134 阅读 · 0 评论