自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

叫我刘三青

更新Java相关知识,目前JVM知识点已接近完结,文章都同步在github和掘金上,github地址:https://github.com/leosanqing/Java-Notes

  • 博客(26)
  • 资源 (10)
  • 收藏
  • 关注

原创 Hudi系列文章7-RFC24 Flink 写入流程优化

此篇文章主要针对官方 RFC-24 进行分析, RFC-24 主要针对当时Hudi 整合 Flink 存在的 4 个瓶颈提出的一些解决思路, 这个思路决定了后续 Flink 写 Hudi 的基本框架,所以是想了解 Flink 写 Hudi 最重要的一个 RFC

2023-10-30 17:37:33 308

原创 Hudi-源码-索引-bloom 索引

Bloom 索引是 Hudi 中非常重要的一个索引,他利用 Bloom 过滤器进行快速确认原理: 利用存在 parquet 文件 Footer 的Bloom 过滤器过滤,然后挨个遍历符合的文件优化手段有哪些缓存range 修剪树化优缺点优点存储空间少简单缺点假阳性问题Flink 无法使用小文件问题(不确定)如何消除假阳性影响把所有阳性(符合条件)的文件全部打开都真正遍历一遍, 查看RecordKey 是否真的在文件中。

2023-10-19 17:26:59 189

原创 Hudi Flink-索引机制-index

Hudi 系列文章在这个这里查看 https://github.com/leosanqing/big-data-study索引(Index)是 Hudi 最重要的特性之一,也是区别于之前传统数仓 Hive 的重要特点, 是实现 Time Travel, Update/Delete,事务 等重要特性的基础。

2023-10-08 20:30:50 359

原创 springboot banner是怎么加载的

前言我们肯定很好奇,当我们启动 springboot 的时候,这个下面的 banner 是怎么打印出来的呢?以及我们可不可以定制我们自己的banner,那我们就进入一下 SpringBoot 的源码,看下他是怎么加载的吧PS:文章同步更新于Github–Java-Notes,如果某些图片看不了可以直接从这个上面观看源码分析项目结构入口private Banner printBanner(ConfigurableEnvironment environment) { // 判断是否

2020-06-28 14:17:32 866

原创 ELK、Kafka日志搜集

前言使用 ELK+Kafka 首先需要安装相应的软件,我安装的都是 6.4.3的版本,不同的版本可能会有冲突。一些地方可能更改其中这几个工具的作用分别是FileBeat 收集过滤日志文件。将日志文件收集后发送至kafkaKafka 作为日志的吞吐程序,消息中间件LogStash 从Kafka 中取出数据,然后发送至 ESES 作为日志的检索工具Kibana 作为日志可视化工具如...

2020-04-14 17:50:08 343

原创 Java8 stream流的演示

前言我们前面说了 lambda表达式,这次我们就将下JDK8的另一个新特性,流(Stream)stream和lambda搭配使用效果更佳,(如果你没有学过lambda表达式,最好先学习下lambda表达式)看着逼格也更高,也更简洁我们就拿之前的lambda表达式的举例我们需要找出集合中所有的 男同学 按照年龄从小到大排序 并且打印出来,我们就这样写studentList.stream(...

2020-02-11 13:48:02 206

原创 jdk8 lambda表达式

前言项目代码在本级目录下的lambda_demo中说起 JDK8 的新特性,总绕不过两个,一个是流(stream),一个就是 lambda表达式。因为 引入 lambda 表达式 可以说是 Java 的一次革命性的尝试,因为lambda表达式是函数式编程,把函数方法参数化。而之前的 Java 是面向对象的,非常非常严格的。甚至可以说是呆板。但是 Java的之前的那种风格 或者说设定并不...

2020-02-11 13:29:39 522

原创 JDK8 stream流的骚操作

前言我们前面说了 lambda表达式,这次我们就将下JDK8的另一个新特性,流(Stream)stream和lambda‘搭配使用效果更佳,(如果你没有学过lambda表达式,最好先学习下lambda表达式)看着逼格也更高,也更简洁我们就拿之前的lambda表达式的举例我们需要找出集合中所有的 男同学 按照年龄从小到大排序 并且打印出来,我们就这样写studentList.stream...

2020-02-10 15:32:22 946

原创 redis配置和使用

前言我们通过和数据库的交互获取数据,但是某些数据加载会严重影响性能,因为查询数据库是一个比较耗时的事情。我们能不能提高查询数据的效率?这个时候我们就需要使用 redis了。(当然提升查询效率不只有redis)如果图片链接失效可以直接在github上看,而且更新更及时,也更加有条理。在项目模块有相关文章https://github.com/leosanqing/Java-Notes目前已经有...

2020-02-08 12:13:49 255

原创 ReentrantLock源码分析

ReentrantLock,在面试的时候也是高频问题。他是一个可重入锁(同样的还有 Synchronized) ,可重入的意思是,当一个资源被一个线程拿到并加了锁之后,这个线程还可以再次进入这个资源,然后再次加锁。锁的count++。当count==0,之后,才表示这个锁被释放,其他线程可以抢夺那么他是怎么实现的呢?我们进入到ReentrantLock的源码中进行分析

2019-07-28 10:38:44 129

原创 帮你解决类的关系,看源码必备

阅读源码搞不清楚类之间的关系,贵圈真乱?没关系,这里有一个编译器的小工具帮你搞清楚他们之间的关系

2019-07-27 10:16:27 162

原创 锁还有悲观者和乐观者

悲观锁和乐观锁是面试的高频问题,那么他们都是啥样的锁呢?

2019-07-10 21:45:36 433

原创 轻量级锁、重量级锁都是啥玩意

在JDK1.6以后,为了减少消耗,锁进行了很多的升级。并且有了四种状态,从低到高- 无锁状态- 偏向锁状态- 轻量级锁状态- 重量级锁状态下面就介绍一下这四种不同等级的锁

2019-07-03 08:35:40 9177 1

原创 对象内存布局

在HotSpot中,对象在内存中存储的布局可以分为三个区域:- 对象头- 实例数据- 对齐填充下面我们就挨个说下这三个东西到底是啥,有啥东西一定要重点注意第一个对象头里的东西,因为讲并发时**锁优化**还有**对象创建**会用到这个

2019-06-17 22:13:20 97

原创 Java现在还比C++执行慢吗?——JVM运行期优化

是不是很多人的印象中,Java要比C++运行的慢?如果现在还停留在这个想法,那或许该更新下想法了,因为Java近几年在运行优化方面做了非常多的研究和改进,可以说已经基本不怎么输于C++的运行速度了。我们参照HotSpot虚拟机的优化来说明,不同虚拟机肯定是不同的,但是也有参考价值。

2019-05-16 15:36:31 537

原创 栈帧中都有啥东西

运行时栈帧中存储了以下内容- 局部变量- 操作数栈- 动态链接- 返回地址- 附加信息- ….

2019-05-13 12:49:22 3691

原创 需要上级先处理的双亲委派模型

我们打仗的时候,另外一个陌生的队伍让你调兵支援,你是自作主张,还是向上级汇报,让上级处理,请求上级指示,按照指示行动呢?

2019-05-13 12:48:04 455

原创 类加载都经历了啥

前言前面介绍了字节码的读法,下面就是把字节码存入到内存中,那么他又是怎么加载的这些字节码文件的呢?我的所有文章同步更新与Github–Java-Notes,想了解JVM,HashMap源码分析,spring相关可以点个star,剑指offer题解(Java版),设计模式。可以看我的github主页,每天都在更新哟。邀请您跟我一同完成 repo大纲 什么是类加载加载验证...

2019-05-13 09:58:07 169

原创 能看懂的字节码-下

前言上一篇看得懂的字节码讲了怎么看字节码,以及字节码中的魔数、版本号和常量池部分,这篇文章接着字节码顺序往下将。请一定要看了上一篇之后再看这一篇,因为有绝对的逻辑关系,不看上一篇这篇基本看不懂。如果这篇文章中有我没有讲到怎么出现的东西,(比如程序的代码,javap工具,查看字节码的工具等)就是我在上一篇文章中已经提到过的,可以查看我的上一篇文章来找到答案。上一篇地址 能看懂的字节码-上我...

2019-05-13 09:56:46 317

原创 能看懂的字节码-上

大纲文章目录大纲前言Class文件结构需要记的Class文件格式严格限定,不可更改准备程序软件打开命令行魔数概念Class文件的魔数版本号常量池范围有什么怎么看最后下篇预告前言我的所有文章同步更新与Github–Java-Notes,想了解JVM,HashMap源码分析,spring相关,剑指offer题解(Java版),可以点个star。可以看我的github主页,每天都在更新哟。邀请...

2019-05-13 09:55:01 272

原创 从原始到最新的垃圾回收器

垃圾回收器是垃圾回收的具体实现,这里只讲Hotspot虚拟机的7中不同的垃圾回收器。- 新生代 - Serial - ParNew - Parallel Scavenge- 老年代 - CMS - Serial Old - Parallel old- 二者皆可的 G1(JDK1.9之后,成为默认的收集器)- ZGC(文章中会提到)

2019-05-13 09:49:06 776 2

原创 Java内存区域和内存模型

大纲前言我的所有文章同步更新与Github–Java-Notes,想了解JVM,HashMap源码分析,spring相关,剑指offer题解(Java版),可以点个star。可以看我的github主页,每天都在更新哟。邀请您跟我一同完成 repoJava内存区域(内存结构)是面试的时候,问到JVM相关一定会问的东西,但是很多人有些概念是搞混的重要阅读这篇文章前,一个重要的概念要弄...

2019-05-13 09:36:24 116

原创 为啥HashMap的长度一定是2的n次方

大纲文章目录大纲前言谨记最大长度为什么table长度一定是2的n次方2的n次有什么好处分布均匀计算方便JDK 1.8改动计算索引需要对比1.7扩容前言我的所有文章同步更新与Github–Java-Notes,想了解JVM,HashMap源码分析,spring相关,剑指offer题解(Java版),可以点个star。可以看我的github主页,每天都在更新哟。邀请您跟我一同完成 repo...

2019-05-13 09:27:50 796

原创 HashMap传入参数,初始长度为多少

大纲文章目录大纲前言创建函数时,传入初始长度0,1,2,3,4……15,16,数组table长度为多少前言我的所有文章同步更新与Github–Java-Notes,想了解JVM,HashMap源码分析,spring相关,剑指offer题解(Java版),可以点个star。可以看我的github主页,每天都在更新哟。邀请您跟我一同完成 repo创建函数时,传入初始长度0,1,2,3,4...

2019-05-12 23:19:02 3810

原创 JVM垃圾回收

大纲文章目录大纲前言哪些内存需要回收第一部分第二部分方法区的回收废弃常量无用的类什么时候回收引用计数法思路缺点可达性分析法思路可以作为GC Root的对象引用强引用软引用弱引用虚引用如何回收标记-清除缺点标记-复制过程不足标记-整理过程缺点分代收集算法Hotspot中算法实现枚举根节点安全点作用概念选取标准如何完成安全区域总结Java 和 C++ 之间有一堵由内存动态分配和垃圾收集技术所围成...

2019-05-12 23:16:24 129

原创 HashMap-put源码分析(带注释)

大纲文章目录大纲写在前面本文结构脉络个人理解语句以及中文注释HashMap 的数据结构数组+链表为啥采用这种方式源码中的变量名数组链表其他put元素步骤那么假如我现在执行下面的语句,他到底怎么执行第一条语句-构造函数第二条语句put函数hash 函数,计算哈希值改进的目的putValue函数返回值分析putValue函数条件计算索引resize函数调用的情景执行逻辑源码注释重要:扩容后元素的位置...

2019-05-12 23:12:03 1053

foodie-dev.zip

springboot项目,使用ssm,可以解压直接运行。 a springboot project,use the ssm framework.

2019-12-23

foodie-dev.zip

springboot 项目,foodie-dev,目前完成40%,有登录,注册,查看商品分类,查看小商品详情,商品评价功能

2019-12-09

springboot-utils.zip

springboot的一些工具类,比如返回的数据结构,MD5码生成器,Json序列化格式,各个数据的枚举。page类的配置等

2019-12-06

mybatis归档.zip

mybatis自动生成框架,配置相应内容,从数据库直接映射成相应的表和关系,生成后直接使用,方便快捷

2019-12-06

springbootTest.zip

spring boot test,用于了解springboot框架和项目设计,项目架构。微信点餐系统,没有支付功能

2019-12-02

utils-test.zip

Springboot整合Quartz,定期向数据库插入数据,定期从库中查询数据并持久化到redis。使用JPA链接数据库

2019-12-02

spring-framework.zip

spring官方源码,直接从github上下载的,可以自行修改阅读

2019-08-01

坦克大战游戏

Java编写的坦克大战游戏,功能简单,解压导入即可,里面有素材

2018-06-09

120个微信小程序源码

120个微信小程序源码,总有一款适合你,请细细挑选,多谢

2018-06-04

JDK9 API文档 含英文中文

JDK9最新API 含英文中文,可参照对比看文档,需要的同学尽快下载收藏哦

2018-05-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除