自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Lombok的@EqualsAndHashCode(callSuper = false)注解使用

在类是继承父类的情况下:EqualsAndHashCode实则就是在比较两个对象的属性;当@EqualsAndHashCode(callSuper = false)时不会比较其继承的父类的属性可能会导致错误判断;当@EqualsAndHashCode(callSuper = true)时会比较其继承的父类的属性;...

2020-08-31 09:33:12 1204

原创 mongoTemplate 操作

1.1 保存,插入文档数据下图中指定保存当前文档的集合为col, 如果不指定默认即为当前Model对象@RestControllerpublic class ShopController { @Autowired MongoTemplate mongoTemplate; @GetMapping("/save") public void save() { ShopDO shop1 = new ShopDO(100L,"菜鸟教程");

2020-08-19 15:21:46 512

原创 FilenameUtils常用的方法

/** * getExtension * 获取文件的后缀名 */ public static void testGetExtension() { String extension = FilenameUtils.getExtension("D:"+File.separator+"data.txt"); System.out.println(extension); } /** * getBaseName * 获取文件的名称,不包括后缀名 */ public stat

2020-07-19 16:02:57 2150

原创 Redis缓存的实现

public class UserDefineRedisCache implements Cache { private Logger logger = LoggerFactory.getLogger(UserDefineRedisCache.class); private String id;//存储namespace private long timeout = 300; private ReadWriteLock readWriteLock = new Reentra

2020-07-13 12:24:24 149

原创 记录

class ClassA { static { System.out.println("1"); } public ClassA(){ System.out.println("2"); }}class ClassB extends ClassA{ static { System.out.println("a"); } public ClassB(){ System.out.print

2020-07-10 20:50:34 81

原创 ElasticSearch

ElasticSearch1. 什么是RestFulREST : 表现层状态转化(Representational State Transfer),如果一个架构符合REST原则,就称它为 RESTful 架构风格。**资源(Resources): 所谓"资源",就是网络上的一个实体,或者说是网络上的一个具体信息表现层(Representation) :我们把"资源"具体呈现出来的形式,叫做它的"表现层"。状态转化(State Transfer):如果客户端想要操作服务器,必须通过某种手段,让服

2020-07-08 20:57:12 596

原创 覆盖HashCode和Equals

package jianlejun.study; public class Student { private String name;// 姓名 private String sex;// 性别 private String age;// 年龄 private float weight;// 体重 private String addr;// 地址 // 重写hashcode方法 @Override public int hashCode() { int result = na

2020-07-08 16:14:39 94

原创 Spring中的事物控制

Spring支持的事务管理类型, spring 事务实现方式有哪些?Spring支持两种类型的事务管理:编程式事务管理:这意味你通过编程的方式管理事务,给你带来极大的灵活性,但是难维护。声明式事务管理:这意味着你可以将业务代码和事务管理分离,你只需用注解和XML配置来管理事务。Spring事务的实现方式和实现原理Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。真正的数据库层的事务提交和回滚是通过binlog或者redo log实

2020-07-06 20:28:08 119

原创 Redis哨兵机Redis集群搭建

13. Redis哨兵机制13.1 哨兵Sentinel机制Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。简单的说哨兵就是带有自动故障转移功能的主从架构。无法解决: 1.单节点并发压力问题 2.单节点内存和磁盘物理上限13.2 哨兵架构原理[外链图片转存失败,源站可能

2020-07-06 16:00:35 475

转载 Spring项目所需依赖

<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.2.RELEASE</version> </dependency> <dependency> <groupId>org.sp

2020-06-29 22:14:40 566

原创 SpringBoot 2.2.5

Spring Boot(2020版)1. springboot的引言Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的 初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不 再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应 用开发领域(rapid application development)成为领导者。springboot(微框架) = springmvc(控制器) + spring core(

2020-06-28 16:02:46 647

原创 解决Tomcat启动乱码

Tomcat启动是乱码本身没有影响,但不利于开发者阅读解决方案:我们来到tomcat目录的conf子目录中,找到一个名为 “logging.properties” 的文件,打开这个文本文件,找到如下配置项:java.util.logging.ConsoleHandler.encoding = UTF-8将 UTF-8 修改为 GBK,修改后的效果为:java.util.logging.ConsoleHandler.encoding = GBK保存后,重启tomcat!...

2020-06-24 08:36:38 674 1

原创 Java算法总结

一、冒泡排序 public static void main(String[] args) { int[] a = {2, 4, 1, 4, 3, 7, 5, 6, 9}; //冒泡排序 for (int i = 0; i < a.length - 1; i++) { for (int j = 0; j < a.length-1-i; j++) { if (a[j+1] > a[j])

2020-06-24 00:14:32 110

原创 Apache Flume

Apzche FulmeFlume 是什么Flume是一种分布式,可靠且可用的服务,用于有效地收集,聚合和移动大量日志数据。Flume构建在⽇志流之上一个简单灵活的架构。它具有可靠的可靠性机制和许多故障转移和恢复机制,具有强⼤的容错性。使用Flume这套架构实现对日志流数据的实时在线分析。Flume支持在日志系统中定制各类数据发送⽅,用于收集数据;同时,Flume提供对数据进行简单处理,并写到...

2020-04-16 15:34:00 198

原创 Kafka API实战

Kafka API实战依赖<!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients --><dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients&l...

2020-04-15 17:31:56 111

原创 Kafka环境搭建

Kafka环境搭建单机环境安装JDK,配置JAVA_HOME[root@CentOS ~]# rpm -ivh jdk-8u191-linux-x64.rpm warning: jdk-8u191-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEYPreparing... ...

2020-04-15 16:48:03 117

原创 浅谈Apache Kafka

Apache Kafka概述Apache Kafka是Apache软件基金会的开源的流处理平台,该平台提供了消息的订阅与发布的消息队列,一般用作系统间解耦、异步通信、削峰填谷等作用。同时Kafka又提供了Kafka streaming插件包实现了实时在线流处理。相比较一些专业的流处理框架不同,Kafka Streaming计算是运行在应用端,具有简单、入门要求低、部署方便等优点。总体来说Ka...

2020-04-15 16:35:18 310

原创 输入的字符串进行乱序排序

直接上代码://测试字符串 String pwd = "123456abc"; //将字符串拆分成字符数组 char[] chars = pwd.toCharArray(); List<Character> characters = new ArrayList<>(); //将字符存入到集合中...

2020-04-02 09:18:01 685

原创 Calendar.getInstance()用法

使用Calendar.getInstance()不仅能获取当前的时间,还能指定需要获取的时间点,在项目应用中达到定时的作用,下面是常用的一些指定时间点使用: public class Test1 { public static void main(String[]args){ System.out.println("时间为:\n"+getDate1()+"\n"+getD...

2020-04-02 09:06:18 33950

原创 项目札记--搭建SpringClood微服务

概述为了应对高并发的场景,javaweb项目一般都是部署成集群形式,同时通过Spring Cloud的 Eureka 技术,实现web模块,负载均衡的访问服务模块。本文介绍了,搭建简单的高可用的Eureka集成方案。整体框架项目结构:搭建注册中心Maven依赖:<?xml version="1.0" encoding="UTF-8"?><project xm...

2020-04-01 22:50:29 229

原创 用户登录风险评估之密码相似度评估(余弦相似性)

余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是-1。从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。两个向量有相同的指向时,余弦相似度的值为1;两个向量夹角为90°时,余弦相似度的值为0;两个向量指向完全相反的方向时,余弦相似度的值为-1。这结果是与向量的长度无关的,仅仅与向量的指向方向相关。余...

2020-04-01 22:17:40 395

原创 Spingboot 集成MySQL 读写分离

背景⼀个项⽬中数据库最基础同时也是最主流的是单机数据库,读写都在⼀个库中。当⽤户逐渐增多,单机数据库⽆法满⾜性能要求时,就会进⾏读写分离改造(适⽤于读多写少),写操作⼀个库,读操作多个库,通常会做⼀个数据库集群,开启主从备份,⼀主多从,以提⾼读取性能。当⽤户更多读写分离也⽆法满⾜时,就需要分布式数据库了-NoSQL。 正常情况下读写分离的实现,⾸先要做⼀个⼀主多从的数据库集群,同时还需要进⾏数...

2020-03-20 09:32:15 66

原创 Flink EventTime Window

Flink流计算传输中⽀持多种时间概念:ProcessingTime/EventTime/IngestionTime如果Flink算⼦使⽤的时候不做特殊设定,默认使⽤的是ProcessingTime。其中和ProcessingTime类似IngestionTime都是由系统⾃动产⽣,不同的是IngestionTime是由DataSource源产⽣⽽ProcessingTime由计算算⼦产⽣。因...

2020-03-15 23:03:10 122

原创 有关Flink窗口计算中的剔除器(Evictors)

Flink的窗⼝模型允许除了WindowAssigner和Trigger之外还指定⼀个可选的Evictor。可以使⽤evictor(…)⽅法来完成此操作。Evictors可以在触发器触发后,应⽤Window Function之前或之后从窗⼝中删除元素。public interface Evictor<T, W extends Window> extends Serializable ...

2020-03-15 21:09:44 753

原创 关于Flink窗口计算的触发器(Trigger)

Trigger决定了什么时候窗⼝准备就绪了,⼀旦窗⼝准备就绪就可以使⽤WindowFunction进⾏计算。每⼀个 WindowAssigner 都会有⼀个默认的Trigger。如果默认的Trigger不满⾜⽤户的需求⽤户可以⾃定义Trigger。触发器接⼝具有五种⽅法,这些⽅法允许触发器对不同事件做出反应:public abstract class Trigger<T, W exte...

2020-03-15 16:41:06 926

原创 浅谈Flink 窗口计算(Windows)

窗⼝计算是流计算的核⼼,窗⼝将流数据切分成有限⼤⼩的“buckets”,我们可以对这个“buckets”中的有限数据做运算。在Flink中整体将窗⼝计算按分为两⼤类:keyedstream窗⼝、datastream窗⼝,以下是代码结构:Keyed Windows:Non-Keyed Windows:Window Lifecycle (窗口生命周期)当有第⼀个元素落⼊到窗⼝中的时候窗...

2020-03-15 11:42:57 494

原创 Flink Broadcast State Pattern (广播状态)分析

⼴播状态是Flink提供的第三种状态共享的场景。通常需要将⼀个吞吐量⽐较⼩的流中状态数据进⾏⼴播给下游的任务,另外⼀个流可以以只读的形式读取⼴播状态。案例剖析1. DataStream链接 BroadcastStream//第⼀个流类型 第⼆个流类型 输出类型classUserDefineBroadcastProcessFunction(tag:OutputTag[String],msd...

2020-03-11 20:18:04 347 1

原创 Flink Queryable State 配置、激活及相关查询代码

ArchitectureClient连接其中的⼀个代理服务区然后发送查询请求给Proxy服务器,查询指定key所对应的状态数据,底层Flink按照KeyGroup的⽅式管理Keyed State,这些KeyGroup被分配给了所有的TaskMnager的服务。每个TaskManage服务多个KeyGroup状态的存储。为了找到查询key所在的KeyGroup所TaskManager服务,Prox...

2020-03-11 19:46:25 613 1

原创 Flink State Backend

Flink指定多种State Backend实现,State Backend指定了状态数据(检查点数据)存储的位置信息。配置Flink的状态后端的⽅式有两种:每个计算独⽴状态后端val env = StreamExecutionEnvironment.getExecutionEnvironment()env.setStateBackend(...)全局默认状态后端,需要在flink...

2020-03-10 22:06:21 184

原创 Spark面试题

Saprk 面试题锦集1、driver的功能是什么?1)一个Spark作业运行时包括一个Driver进程,也是作业的主进程,具有main函数,并且有SparkContext的实例,是程序的人口点;2)功能:负责向集群申请资源,向master注册信息,负责了作业的调度,,负责作业的解析、生成Stage并调度Task到Executor上。包括DAGScheduler,TaskScheduler。...

2020-03-10 21:12:13 117

原创 Flink Checkpoint & Savepoint 机制

由于Flink是⼀个有状态计算的流服务,因此状态的管理和容错是⾮常重要的。为了保证程序的健壮性,Flink提出Checkpoint机制,该机制⽤于持久化计算节点的状态数据,继⽽实现Flink故障恢复。所谓的Checkpoint机制指的是Flink会定期的持久化的状态数据。将状态数据持久化到远程⽂件系统(取决于State backend),例如HDFS,该检查点协调或者发起是由JobManager负...

2020-03-10 21:10:52 334

原创 Flink Managed Operator State

Managed Operator StateFlink提供了基于keyed stream操作符状态称为keyedstate,对于⼀些⾮keyed stream的操作中使⽤的状态统称为Operator State,如果⽤户希望使Operator State需要实现通⽤的CheckpointedFunction接⼝或者ListCheckpointed。CheckpointedFunctionCh...

2020-03-10 20:03:34 243 1

原创 Flume 简单理解

概述Flume是一种分布式,可靠且可用的服务,用于有效地收集,聚合和移动大量日志数据。Flume构建在日志流之上一个简单灵活的架构。它具有可靠的可靠性机制和许多故障转移和恢复机制,具有强大的容错性。使用Flume这套架构实现对日志流数据的实时在线分析。Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。当前Fl...

2020-02-05 14:50:18 374

原创 Hive中的表及其创建

管理表内部表也称之为MANAGED_TABLE;默认存储在/user/hive/warehouse下,也可以通过location指定;删除表时,会删除表数据以及元数据;create table if not exists t_user(id int,name string,sex boolean,age int,salary double,hobbies array,card...

2020-01-12 16:51:22 405

原创 Apache Hive

概述The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in stora...

2020-01-12 15:23:44 94

原创 Hive--DML

加载文件数据到表中LOAD DATA [LOCAL] INPATH ‘filepath’ [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 …)]

2020-01-10 20:49:59 62

空空如也

空空如也

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

TA关注的人

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