自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Flink维表关联之Redis(java实现)

需求背景:需要流数据与Redis数据进行关联查询。通常情况下Flink可以通过RichMapFunction来创建外部数据系统的client连接,来进行数据的写入和数据的读取。但这种同步查询和操作数据库的方式会因网络等问题影响数据处理的效率,如果想提升效率就要考虑增加算子的并行度,这会增多额外的资源开销。写这个也是网上java实现的资料太少了!解决思路:Flink在1.2版本中引入了Asynchronous I/O,能够支持异步的方式连接外部的存储系统,从而提升Flink系统与外部数据库交互的性能与吞

2020-08-06 20:37:02 2635 5

原创 Flink集群鉴权(Kafka+Redis)

Flink集群鉴权(Kafka+Redis)需求说明:出于安全考虑,连接集群时会添加账号密码的校验,所以在Flink与数据源建立连接时需要传入账号和密码。解决方案:1、在构造Flink连接器时传入密码KafkaProperties proper = new Properties(); proper.setProperty("zookeeper.connect", ZookeeperServers); // zookeeper地址 prope..

2020-07-20 20:23:51 1204

原创 Flink Sink Kafka 自定义Topic与自定义分区

Flink Sink Kafka 自定义Topic与自定义分区需求背景:Flink处理完成数据后,需要将消息传给Kafka,为了避免数据倾斜,根据消息的主键进行Hash取模,自定义输出到对应的Topic,为了提升从Kafka读取消息的速度,将相同主键的消息存放到同一分区。解决方案:Flink-Kafka连接器中有一个可以传递序列化类和分区器的构造方法,我们可以重写这两个方法实现自定义Topic和自定义分区,具体方法如下:@Deprecated public FlinkKafkaProducer0

2020-07-03 10:28:10 3570

原创 关于java中代码块和构造函数的加载顺序以及父类和子类中的加载顺序

首先,我们简单了解一下代码块和构造方法静态代码块:存在类内方法外,使用static修饰,作用是类的预加载,当类第一次被加载的时候执行一次,优先于构造代码块 优先于构造方法构造代码块:存在类内方法外,作用是对象的预加载,每当new调用构造方法的时候 会优先执行构造代码块,每new一次就优先执行一次构造代码块普通代码块:存在成员方法中,作用是控制变量的生命周期,执行完后立即消失.构...

2018-08-12 21:53:05 681

原创 关于java中大字符串中删除匹配的小字符串

解决方法很多,这里只写两个方法。一、split()方法String[] split(String regex)           根据给定正则表达式的匹配拆分此字符串。 String[] split(String regex, int limit)           根据匹配给定的正则表达式来拆分此字符串。 split有切割字符串的功能,在使用时有一下两...

2018-08-12 11:42:39 1088

原创 关于java中set集合的除重原理

Set<E>是单列集合,里面元素不可重复,元素存取无序,元素无索引的根节点 创建对象:Set<E> 集合名 = new HashSet<E>();Set集合的除重,是发生在调用add()方法时。下面,简单的看一下add()方法的底层代码在HashSet里的add()方法源码如下public boolean add(E e) {        r...

2018-08-11 21:08:34 1504

原创 关于java中的抽象类和接口

关于抽象类:abstract:抽象的    可以修饰:类,成员方法    修饰的类:抽象类        抽象类的特点:抽象类中可以有抽象方法也可以没有抽象方法            1.构造方法:                抽象类中允许有构造方法,但是抽象类不能创建本类对象,抽象类中的构造方法是给成员变量赋值或去加载抽象类的父类            2.成员变量:    ...

2018-08-05 19:47:13 220

原创 关于java中的final和static

关于final:final:最终的  --> 可以类比成阉割手术,被final修饰没有后续 可以修饰:类,成员变量,成员方法;        修饰类:最终的类,不能有子类        修饰成员变量:变成常量            自定义常量的格式:                public static final 数据类型 常量名 = 初始化值;        修饰成员...

2018-08-05 19:18:46 636

原创 关于java中面型对象的三大特性---封装,继承,多态

面向对象的三大特性:        封装,继承,多态面向对象的三大特点:        1.更符合我们平时的思维习惯        2.把复杂的问题简单化        3.把我们从执行者变成指挥者Java中使用类来描述事物        类:一类事物的抽象        对象:这类事物的实例(具体化)关于封装        体现:            1.方法的定义...

2018-08-05 18:59:44 190

原创 关于java中的方法

什么是方法方法:封装了特定功能的代码块;    方法的定义格式:        有返回值的方法:            修饰符 返回值类型 方法名(形式参数列表){                方法体;                return 返回值;            }        无返回值的方法:            修饰符 void 方法名(形式参数列表)...

2018-08-02 18:00:12 255

原创 关于java中的变量

我想把java中的变量分为全局变量和局部变量.下面从全局变量和局部变量的角度来看java中的变量.局部变量:局部变量的定义:简单说就是定义在方法内,方法的形式参数列表中,for循环的声明中,代码块中的变量.(局部变量出现的位置)举个生活中的例子,你点了一份外卖,外卖里的一次性筷子就比作变量,你吃完这次外卖你就会扔掉(这里不谈那种循环使用一次性筷子的现象).这里一次性筷子就像局部变量.而...

2018-08-02 16:55:42 204

原创 杂七杂八-----零碎的知识点

关于+=:a+=20;相当于a = (a的数据类型) 例如: (a + 20);char a += 5    char a = (char)(a+5); next():不能以空格,回车开始,读取到有效字符才开始,再次遇到空格,后面的内容不再显示 nextline():可以为空,可以是空格开始 定义的变量是整数时,默认为int类型,浮点数默认是double类型 eclipse debug ...

2018-07-30 11:52:37 187

原创 关于java数组的内存分配,顺便提一下java变量的内存分布

关于数组,我们首先要知道的是,他是引用数据类型,数组是存储同一种数据类型多个元素的容器。数组既可以存储基本数据类型,也可以存储引用数据类型。数组有两种初始化方式,动态初始化和静态初始化.以下通过介绍两种初始化方式来介绍内存的分配.在介绍内存分配前,首先要对内存有一定的了解:内存,简单说就是存放正在运行的程序,我们知道,java程序运行的载体是JVM,运行环境是JRE,内存分配给JVM空间执...

2018-07-29 20:27:46 3215 2

原创 关于java里的equals()方法和==

首先,在了解equals()方法和==之前,我们先了解一下数据类型.Java里数据类型分为基本数据类型和引用数据类型.基本数据类型又分为四类八种:布尔类:boolean;整形类:byte,short,int;字符类:char;浮点类:float,double.引用数据类型可以分为:类,接口,数组.在了解数据类型后,开始了解equals()和==关于==对于基本数据类型,使用==,比较的...

2018-07-28 22:03:34 158

原创 斐波那契数列经典问题之兔生兔

首先,我们先了解一下什么是斐波那契数列,斐波纳契数列以如下递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2),然后我们来考虑以下问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?首先,告诉大家规律,从第三个月开始,每个月的兔子数等于前两个月兔子数之和.下面是证明:分析...

2018-07-28 13:41:12 517

原创 关于java中的Random()函数

在java中,有两种Random函数,一种是在java.lang.Math.Random包下的,另一种是在java.util.Random包下的.首先讲一下java.lang.Math.Random调用这个函数会产生[0,1.0)区间double类型的正浮点数,具体使用例子如下:import java.util.Random;public class TestDemo { ...

2018-07-27 19:49:27 15126 5

原创 win10环境下安装配置JDK(最新以及之前版本)以及eclipse

1、JDK的下载1、打开Oracle官网(https://www.oracle.com),把鼠标悬停在Menu上,会出现下拉框,鼠标悬停在下拉框里的Developer,然后点击Download,如图:2、在Download页面点击Java,然后点击Java (JDK) for Developers选项,进入页面后,点击图标下的download,如图: 3、进入下载页面后,选...

2018-07-22 22:50:59 642

空空如也

空空如也

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

TA关注的人

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