![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 95
LL小蜗牛
这个作者很懒,什么都没留下…
展开
-
Antlr4学习笔记
本文介绍Antlr4实现/语法规则以及sharding-jdbc的解析sql流程原创 2023-11-02 10:51:27 · 598 阅读 · 2 评论 -
Java8新特性——Stream及自定义下游收集器
1.简介注:本文内容均来源于我看了java核心技术 卷二的Stream内容后写的,当一个笔记Stream是java8引入的新特性,他提供一种从使用者角度去完成任务的数据视图,举个例子,获取一个从0到9的Integer类型的list,普通的做法要建一个循环,然后new一个Integer对象,然后再放进集合里面,而Stream则提供了从完成目标上面提供可选操作,而不是去实现,比如刚刚那个生成I...原创 2019-06-14 01:26:55 · 815 阅读 · 0 评论 -
lambda表达式
lambda表达式本质上是一个代码块,在Java8以前,不能直接传递一个代码块,必须构造一个对象来编写方法包含这段代码。而在此情况下,lambda横空出世。基本形式:参数,箭头(->),表达式方法引用:1、对象实例::对象方法2、Class对象::静态方法3、Class对象::实例方法构造器引用对象::new注意点:在lambda表达式中引用的外部变量...原创 2019-06-10 10:15:20 · 1034 阅读 · 0 评论 -
JVM相关
本文仅为个人一个学习笔记类加载器1.相关概念1.1 类从编译到执行的过程1.编译器将.java源文件转为.class字节码文件2.classLoader将字节码(byte数组)转换为jvm中的class对象3.jvm利用class对象实例化对象。1.2 ClassLoaderclassLoader主要工作在class装载的加载阶段,主要作用是从系统外部获得的clas...原创 2019-07-13 12:48:38 · 134 阅读 · 0 评论 -
GC相关
判断对象是否可回收1.引用计数法:通过判断对象的引用数量来决定对象是否可回收每个对象实例都有一个引用计数器,被引用则+1,完成引用则-1,而该对象引用超过其生命周期或者设置为新值则也视为完成引用优点:执行效率高,程序执行受影响较少缺点:无法检测出循环引用的情况,导致内存泄漏2.可达性分析算法通过判断对象的引用链是否可达来判断对象是否可以回收,由GC Root这个对象开始...原创 2019-07-13 22:36:23 · 157 阅读 · 0 评论 -
线程相关
基本概念串行:等待用户输入,系统空闲批处理:预先写下指令执行,如果按顺序执行任务A、B,但A处理时间较长,此时系统空闲进程:独立占用内存空间,相互不干扰并可以相互切换,切换时会保存状态,重新切换即恢复状态。线程:执行进程的子任务,实现进程的内部并发,实现粒度更细的任务控制。进程和线程区别进程是资源分配的最小单位,线程是CPU调度的最小单位线程不能看作独立应用,进程...原创 2019-07-16 22:49:00 · 149 阅读 · 0 评论 -
JUC相关
JUC提供并发编程的解决方案CAS是java.util.concurrent.atomic包的基础AQS是java.util.concurrent.locks包以及一些常用类比如Semophore,ReentrantLock等类的基础使用node实现FIFO队列,可以用于构建锁或者其他的同步装置的基础框架利用了一个类型表示状态使用方法为继承子类通过继承并通过实...原创 2019-07-17 23:09:03 · 174 阅读 · 0 评论 -
jdk9 reactive stream
背压:是指由于生产者生产速度过快,而造成消费者无法及时处理更多的事件而产生的问题,背压是该问题的一个解决方案,它可以通过主动从生产者拉取事件消费而避免过多事件推送而无法处理的情况,或者减缓事件发布的速率直到可以处理更多的事件,实现事件流的流量控制。reactive stream是一套基于发布/订阅模式的数据处理的规范,主要目标是管理跨异步边界的流数据交换 - 考虑将元素传递到另一个线程或线...原创 2019-08-08 11:28:24 · 211 阅读 · 0 评论