首页
Zcyoop
取消

Java 基础 - 注解机制详解

1. Java注解概述 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解。它主要的作用有以下四方面: 生成文档,通过代码里标识的元数据生成javadoc文档。 编译检查,通过代码里标识的元数据让编译器在编译期间进行检查验证。 编译时动态处理,编译时通过代码里标识的元数据动态处理,例如动态生成代码。 运...

MySQL - 事件调度器(Event Schedule)

1.概述 ​ 事件调度器(Event Schedule)类似于Linux中的crontab(也就是定时任务),下面介绍事件调度器的基本使用方法 2.使用 2.1 查看事件调度器状态以及相关操作 # 查看状态 show variables like '%event_scheduler%'; +---------------+-----+ |Variable_name |Value| ...

MySQL - 执行计划

1.概述 ​ 一条查询语句在经过MySQL查询优化器的各种基于成本和规则的优化会后生成一个所谓的执行计划,这个执行计划展示了接下来具体执行查询的方式,比如多表连接的顺序是什么,对于每个表采用什么访问方法来具体执行查询等等。 ​ 如果需要查询具体的执行计划,可通过在查询语句前追加EXPLAIN进行查看,例如: flink_data_qnh> EXPLAIN SELECT 1 +--...

MySQL索引与MongoDB索引的区别

MySQL索引与MongoDB索引的区别 1. 背景 最近学习了MySQL的索引的相关内容,而目前生产系统上使用的使MongoDB,遂对这两个不同数据库的索引进行了下对比。这里的MySQL值得使Innodb存储引擎。 2. 两个数据库之间的区别 MySQL中的Innodb采用的使B+Tree作为索引的结构,而MongoDB使用的使B-Tree作为索引结构,所以这两个数据库索引之间...

MySQL - MySQL中的索引

1. 概述 定义:索引是存储引擎用于快速找到记录的一种数据结构。举例说明:如果查找一本书中的某个特定主题,一般会先看书的目录(类似索引),找到对应页面。在MySQL,存储引擎采用类似的方法使用索引,高效获取查找的数据。 索引的分类 从存储结构上来划分 Btree 索引(B+tree,B-tree) 哈希索引 full-index 全文...

数据结构 - B树和B+树

1. 背景 ​ 最近在学习数据库相关的知识,了解到数据库很多是采用B-/+树作为索引,例如Mysql的InnoDB引擎使用的B+树、MongoDB默认采用B树作为索引。 在计算机科学中,B树(英语:B-tree)是一种自平衡的树,能够保持数据有序。这种数据结构能够让查找数据、顺序访问、插入数据及删除的动作,都在对数时间内完成。B树,概括来说是一个一般化的二叉查找树(binary s...

Java 日志框架

1. 背景 用了几年的Java日志框架,但却对里面的逻辑关系不是特别清楚,准备花时间理清一下其中的关系以及基本的使用说明 1.1 常见Java日志框架 Log4j Log4j 是 Apache 的一个 Java 的日志库,通过使用 Log4j,我们可以控制日志信息输送的目的地(控制台、文件、数据库等);我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致...

Flink - Flink DataStream端到端的Exactly-Once保障

1. Exactly-Once概述 ​ 一个一直运行的Flink Stream程序不出错那肯定时很好的,但是在现实世界中,系统难免会出现各种意外,一旦故障发生,Flink作业就会重启,读取最近Checkpoint的数据,恢复状态,并继续接着执行任务。 ​ Checkpoint时可以保证程序内部状态的一致性的,但是任会有数据重新消费的问题,举个简单的例子: ​ 一个简单的计算总和的...

Flink — 状态(State)&检查点(Checkpoint)&保存点(Savepoint)原理

Flink DataStream—— 状态(State)&检查点(Checkpoint)&保存点(Savepoint)原理 [TOC] 1. 背景 ​ 最近一次项目当中需要将大量数据保存再Flink程序当中用作缓存数据一共后续数据使用,隧对最近使用到的状态、检查点、保存点等原理和使用进行一个总结 2. 状态 2.1 概述 ​ 首先,状态和算子是息息相关的,所以...

Flink — 时间概念与Watermark

1. Flink的三种时间概念类型 对于流式处理,最大的特点是数据上具有时间的属性特征,Flink根据时间产生的不同位置分为三个时间概念: Event Time(事件时间):每条数据或事件自带的时间属性。由于时间属性依附于数据本身,在高并发的情况下可能存在Event Time的到达为乱序的,即一个较早发生的数据延迟到达 Process Time(处理时间):对于某个算子来说...