自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

迷路剑客个人博客

弱小和无知不是生存的障碍,傲慢才是。

  • 博客(406)
  • 收藏
  • 关注

转载 Java-Signal-Linux信号量

Java-Signal-Linux信号量转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:JAVA学习系列:使用SIGNALHANDLER来处理LINUX信号量,控制程序结束的步骤作者:枫夜求索阁1 场景最近,开发的程序是对kafka进行消费,程序开发完毕之后,发现程序的终止一直都是很简单粗暴的kill -9 pid,然后存在数据处理到一半,然后就被干掉,导致最后的结果数据只入了一半便不见了。所以,就这样产生了一个需求:当要结束程序的时候,告知程序要结束了,并等

2021-12-02 15:35:31 505

原创 Spring-好文推荐

Spring-Transactional事务-好文推荐SpringBoot事务Transaction 你真的懂了么?同一个类中调用方法spring事务注解@Transactional如何生效?分析spring事务@Transactional注解在同一个类中的方法之间调用不生效的原因及解决方案java注解@Transactional事务类内调用不生效问题及解决办法Spring: @Transactional中的propagation属性...

2021-09-16 19:52:28 238

转载 水平、垂直权限问题(横向越权与纵向越权)

水平、垂直权限问题(横向越权与纵向越权)转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:水平、垂直权限问题(横向越权与纵向越权)作者:碎羽love星谊1 横向越权1.1 基本概念横向越权指的是攻击者尝试访问与他拥有相同权限级别的用户的资源1.2 如何防止横向越权漏洞可通过建立用户和可操作资源的绑定关系,用户对任何资源进行操作时,通过该绑定关系确保该资源是属于该用户所有的。对请求中的关键参数进行间接映射,避免使用原始关键参数名,比如使用索引1代替id值1

2021-07-23 21:44:28 3001

转载 PostgreSQL AB表切换最佳实践 - 提高切换成功率,杜绝雪崩

PostgreSQL AB表切换最佳实践 - 提高切换成功率,杜绝雪崩转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:PostgreSQL AB表切换最佳实践 - 提高切换成功率,杜绝雪崩作者:weixin_342496781 背景AB表切换经常出现在数据导入的场景中,例如每天或者每个固定周期,需要全量导入一批数据到数据库,同时被导入的数据要持续的被查询。为了尽量避免导入影响查询,通常会使用AB表切换的方法。使用如下步骤:建新表全量数据导入到新表在新

2021-07-23 21:35:37 1547

原创 权限控制好文推荐

权限控制好文推荐1 综合美团-将军令:数据安全平台建设实践2 SpringCloudSpring Cloud下微服务权限方案开始有人推行Spring Cloud Security结合很好的OAuth2,后面为了优化OAuth 2中Access Token的存储问题,提高后端服务的可用性和扩展性,有了更好Token验证方式JWT(JSON Web Token)有来商城-Spring Cloud实战 | 第六篇:Spring Cloud Gateway + Spring Security OA

2021-07-12 11:39:03 177

原创 数据安全好文推荐

数据安全好文推荐1 大厂实践美团-将军令:数据安全平台建设实践

2021-07-12 11:26:40 158

转载 Linux-Shell 标准输入、输出和错误

Linux-Shell 标准输入、输出和错误 原创转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:Shell 标准输入、输出和错误 原创1 文件描述符文件描述符(fd):文件描述符是一个非负整数,在打开现存文件或新建文件时,内核会返回一个文件描述符,读写文件也需要使用文件描述符来访问文件。内核为每个进程维护该进程打开的文件记录表。文件描述符只适于 Unix、Linux 操作系统。2 标准输入、输出和错误文件描述符描述映射关系0标准

2021-05-24 11:14:30 1727

转载 SQL中join连接查询时条件放在on后与where后的区别

SQL中join连接查询时条件放在on后与where后的区别转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:SQL中join连接查询时条件放在on后与where后的区别作者:那啥快看1 概述数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。在使用left join时,on和where条件的区别如下:on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。where条件是在临

2021-04-19 10:49:52 2207

原创 操作系统-好文推荐

操作系统-好文推荐Linux-操作系统内存计算机缓存Cache以及Cache Line详解

2021-03-01 23:27:44 245

原创 算法-并查集/堆/Dijkstra迪杰斯特拉-水位上升的泳池中游泳

算法-并查集/堆/Dijkstra迪杰斯特拉-水位上升的泳池中游泳1 题目概述1.1 题目出处https://leetcode-cn.com/problems/swim-in-rising-water/1.2 题目描述2 并查集2.1 思路注意,平台数字是连续的,且从0到nn-1。则可利用这一特点,从高度1的节点开始,不断和周边比他高度小的节点进行并查集合并。每次遍历后,判断0和nn-1所属并查集是否为同一个祖先,如果是代表已经符合要求,返回遍历的轮数即可(轮数从1开始)。2.2 代码c

2021-01-31 22:04:03 403

原创 算法-回溯法-有重复字符串的排列组合

算法-回溯法-有重复字符串的排列组合1 题目概述1.1 题目出处https://leetcode-cn.com/problems/permutation-ii-lcci/1.2 题目描述2.1 回溯法2.1 解题思路使用回溯法,每次从首字符开始往后遍历最后所有字符,并用一个boolean数组记录这一趟DFS已经使用过的字符位置,如果已经用过就不再使用,否则添加到StringBuilder末尾。当StringBuilder长度等于原始字符串长度时,达到结束条件,加入结果集,结果集用HashS

2021-01-30 14:10:44 1046

原创 算法-回溯法-无重复字符串的排列组合

算法-回溯法-无重复字符串的排列组合1 题目概述1.1 题目出处https://leetcode-cn.com/problems/permutation-i-lcci1.2 题目描述2.1 回溯法2.1 解题思路使用回溯法,每次从首字符开始往后遍历最后所有字符,并用一个boolean数组记录这一趟DFS已经使用过的字符位置,如果已经用过就不再使用,否则添加到StringBuilder末尾。当StringBuilder长度等于原始字符串长度时,达到结束条件,加入结果集。2.2 代码cla

2021-01-30 13:20:44 455

原创 知识图谱-好文推荐

知识图谱-好文推荐1 基础概念一文读懂知识图谱B站-SmartKG - 三分钟构建一个知识图谱

2021-01-27 11:27:11 359

原创 算法-递归-对称二叉树

算法-递归-对称二叉树1 题目概述1.1 题目出处https://leetcode-cn.com/problems/symmetric-tree/1.2 题目描述2.1 双指针+递归2.1 解题思路根据对称树的特点,我们用两个指针分别往左子节点和右子节点递归查询每次查询时比较他们是否都为空,如果都不为空就比较是否值相等如果值相等,就继续检查左节点的左节点和右节点的右节点、左节点的右节点和右节点的左节点只要都相同就说明对称,否则不对称2.2 代码/** * Definitio

2021-01-13 12:16:00 220

转载 数仓OLAP技术哪家强

数仓OLAP技术哪家强转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:再次分享!漫谈数仓OLAP技术哪家强?作者:仙子紫霞出处:数据仓库与Python大数据1 概述数据应用,是真正体现数仓价值的部分,包括且又不局限于 数据可视化、BI、OLAP、即席查询,实时大屏,用户画像,推荐系统,数据分析,数据挖掘,人脸识别,风控反欺诈,ABtest等等。本文侧重于数据应用之BI可视化和OLAP技术选型。2 BI可视化工具2.1 BI现状大数据时代商业智能(B

2020-12-31 12:50:23 622

转载 数据仓库学习

数据仓库学习转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:系列 | 漫谈数仓第一篇NO.1 『​基础架构』作者:Flink出处:Flink系列 | 漫谈数仓第二篇NO.2 数据模型(维度建模)作者:仙子紫霞出处:数据仓库与Python大数据系列 | 漫谈数仓第三篇NO.3 『数据魔法』ETL作者:仙子紫霞出处:数据仓库与Python大数据...

2020-12-31 12:24:37 263

转载 Elasticsearch-缓存

转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:关于 Elasticsearch 的查询缓存,你想知道的都在这里作者:EASYICE出处:colabugShard request cache出处:Elasticsearch官网1 概述Elasticsearch 中有多种查询缓存,当一个查询请求执行后,他可能会被缓存下来,但是哪些查询会被缓存,哪些不会缓存,缓存了什么内容,什么时候失效,手册中并没有很系统的阐述,并且文档中也存在一些疑点,导致整个查询缓存体系

2020-12-30 20:31:48 2493

原创 算法-堆/排序-最后一块石头的重量

算法-堆/排序-最后一块石头的重量1 题目概述1.1 题目出处https://leetcode-cn.com/problems/shu-ju-liu-zhong-de-zhong-wei-shu-lcof/1.2 题目描述2.1 排序法2.1 解题思路先将数组排序然后每次取最后两个数字,此时将最后一个数字更新为last - last2,倒数第二个数字设为0随后重新排序,排序后0排到了最前面,而最大和次大的石头又到了数组最后两位循环2和3的过程,直到倒数第二个数字为0,即已经合并完毕

2020-12-30 11:47:36 200

转载 Elasticsearch-倒排索引原理

转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:时间序列数据库的秘密(2)——索引作者:陶文出处:infoq1 概述Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤。特别是它对多条件的过滤支持非常好,比如年龄在18和30之间,性别为女性这样的组合查询。倒排索引很多地方都有介绍,但是其比关系型数据库的b-tree索引快在哪里?到底为什么快呢?笼统的来说,b-tree索引是为读优化化的索引结构。当我们不需要支持快速的更新的时

2020-12-16 23:25:42 6575 1

原创 算法-单调递增的数字

算法-单调递增的数字1 题目概述1.1 题目出处https://leetcode-cn.com/problems/split-array-into-consecutive-subsequences/1.2 题目描述2 从最往右2.1 思路从左往右比:如果发现当前数比前一个数小,则不符合题意,此时将前一位的数字减1,当前位及以后的所有位数字变为9,然后传入新的数字递归调用该解法求解如果当前数大于等于前一个数,则符合题意,继续探寻下一个数2.2 代码class Solution {

2020-12-15 11:38:54 415

原创 Flink-源码Bug修复和二次开发实践

Flink-源码Bug修复和二次开发实践==1 Bug修复解决Flink Sql DDL 中使用time作为字段关键字某些场景报错的Bugflink 1.10解决Json反序列化时,如果内容带\时,TextNode直接转ObjectNode接续报错的Bug2 新增功能2.1 KuduConnector参考了bahir-flink ,基于Flink 1.11 ,围绕最新的RowData类型,实现以下功能:KuduDynamicSink可直接Flink Sql流式写入Kudu。还有继续优

2020-12-13 16:48:07 932

原创 算法-分割数组为连续子序列

算法-分割数组为连续子序列1 题目概述1.1 题目出处https://leetcode-cn.com/problems/split-array-into-consecutive-subsequences/1.2 题目描述2 贪心法2.1 思路先统计每个数出现次数,然后从小到大开始组合:总是贪心地和比自己小1的数结尾的长度为1的子集组合,成为以当前数结尾的长度为2的子集剩下的数和比自己小1的数结尾的长度为2的子集组合,成为以当前数结尾的长度为3的子集最后剩下的数,和比自己小1的数结尾的

2020-12-04 15:04:59 437

原创 算法-计数质数

算法-计数质数1 题目概述1.1 题目出处https://leetcode-cn.com/problems/count-primes/1.2 题目描述2 暴力枚举2.1 思路根据质数性质:只能被1和他本身这两个数整除的数称为质数。2.2 代码class Solution { public int countPrimes(int n) { int result = 0; if(n < 2){ return result;

2020-12-03 11:52:53 196

原创 算法-数组-独一无二的出现次数

算法-数组-独一无二的出现次数1 题目概述1.1 题目出处https://leetcode-cn.com/problems/unique-number-of-occurrences/1.2 题目描述2 数组2.1 思路用数组分别记录每个独立数字对应出现次数独立的数字有哪些独立数字对应出现次数是否唯一虽然比较绕,但数组是最快的,比什么HashMap都快得多,因为没有其他开销,直接拿下标O(1)就能取出数字,没有冲突。2.2 代码class Solution { publ

2020-10-28 11:03:18 260

原创 算法-回溯-解数独

算法-回溯-解数独1 题目概述1.1 题目出处https://leetcode-cn.com/problems/sudoku-solver/1.2 题目描述上图中答案被标成红色。Note:给定的数独序列只包含数字 1-9 和字符 ‘.’ 。你可以假设给定的数独只有唯一解。给定数独永远是 9x9 形式的。2 低效的回溯法2.1 思路这段转自组合总和-解题思路回溯法的解体框架是什么呢,解决一个回溯问题,实际上就是一个决策树的遍历过程。一般来说,我们需要解决三个问题:路径:也就

2020-09-15 15:42:26 457

原创 Elasticsearch-BulkProcessor-死锁分析

Elasticsearch-BulkProcessor-死锁分析摘要本文基于ES 6.4.3。主要分析由于在使用BulkProcessor向ES集群提交数据而集群响应异常时,导致的BulkProcessor死锁,而无法继续向BulkProcessor提交新数据,导致整个处理流程卡死的问题。关于BulkProcessor原理可参考Elasticsearch-BulkProcessor浅析关于Java线程状态原理可参考Java-多线程-线程状态1 问题概述我们程序流程是:从Kafka消费数据

2020-09-08 16:31:06 3628 2

转载 Java-多线程-ForkJoinPool

Java-多线程-ForkJoinPool转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:小家java】Java线程池之—ForkJoinPool线程池的使用以及原理作者:YourBatman出处:CSDN转载仅为方便学习查看,一切权利属于原作者,本人只是做了整理和排版,如果带来不便请联系我删除。摘要Java 7 引入了一种新的并发框架—— Fork/Join Framework。同时引入了一种新的线程池:ForkJoinPool(ForkJoinPoo

2020-08-28 18:42:25 276

转载 Java-多线程-Future、FutureTask、CompletionService、CompletableFuture解决多线程并发中归集问题的效率对比

转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:【小家Java】Future、FutureTask、CompletionService、CompletableFuture解决多线程并发中归集问题的效率对比作者:YourBatman出处:CSDN转载仅为方便学习查看,一切权利属于原作者,本人只是做了整理和排版,如果带来不便请联系我删除。摘要开启线程执行任务,不管是使用Runnable(无返回值不支持上报异常)还是Callable(有返回值支持上报异常)接口,都

2020-08-28 13:43:58 1658 2

原创 Flink-作业提交流程

Flink-作业提交流程1 概述Flink DataStream一个作业提交,大致有以下几步编译阶段-Client生成StreamGraph将每个算子转换为Transformation,并且记录下每个input Transformation。将每个Transformation转换为StreamNode,以及带有并行度和Partitioner信息的、有向的StreamEdge,StreamNode会记录出边outEdges和入边inEdges这样就得到了一个有向图StreamGraph

2020-08-28 11:04:52 2978

原创 算法-KMP-重复的子字符串

算法-KMP-重复的子字符串1 题目概述1.1 题目出处https://leetcode-cn.com/problems/repeated-substring-pattern/solution/java-yi-xing-dai-ma-jie-jue-zhong-fu-zi-chuan-wen-/1.2 题目描述2 暴力枚举法2.1 思路从长度为1的窗口开始翻滚,每次用substring方法比较,如果不同,就停止,并将窗口大小加一再次比较。2.2 代码class Solution {

2020-08-24 14:51:58 534

原创 Flink-水位

Flink-水位摘要本文主要讲解Flink的水位相关基础理论知识,并会辅以源码讲解。可参考:Event Time and Watermarks1 水位产生背景前面Time和窗口章节提到过Processing Time和Event Time两种时间度量方式,后者可以尽可能让Event划分窗口准确。比如可以看到由于网络延迟,造成C到流式引擎的时间稍有延迟,那么分别按两种Time进行处理的情况如下:可以看到,如果基于Processing Time则Event C会被错误划分到第二个窗口,而

2020-08-22 12:03:25 1978 2

原创 算法-图-克隆图

算法-图-克隆图1 题目概述1.1 题目出处https://leetcode-cn.com/problems/clone-graph/1.2 题目描述给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆)。图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。class Node {public int val;public List neighbors;}测试用例格式:简单起见,每个节点的值都和它的索引相同。例如,第一个节点值为 1(va

2020-08-12 12:28:39 248

原创 Flink-FilesystemConnector和HiveConnector

Flink-FilesystemConnector和HiveConnector摘要本文基于Flink 1.11,主要讲解最新的基于Flink StreamingFileSink的FilesystemConnector和HiveConnector,包括理论、配置和源码分析。关于StreamingFileSink,可参考Flink-DataStream-HDFSConnector(StreamingFileSink)Flink-StreamingFileSink-自定义序列化-Parquet批量压缩

2020-08-06 10:21:08 2891

原创 算法-动态规划-打家劫舍3

算法-动态规划-打家劫舍31 题目概述1.1 题目出处https://leetcode-cn.com/problems/house-robber-iii1.2 题目描述2 动态规划2.1 思路见代码注释。2.2 代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * T

2020-08-05 11:36:24 286

转载 SQL-SQL优化之列裁剪和投影消除

SQL-SQL优化之列裁剪和投影消除转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:SQL优化之列裁剪和投影消除作者:叁金出处:imooc1 列裁剪对于没用到的列,则没有必要读取它们的数据去浪费无谓的IO比如我们有一张表table1,它含有四列数据(a,b,c,d)。当我们执行查询select a from table1 where c >10时,我们可以清晰的看到,table1中只有a,c两列被用到了:Selection算子用到c列Proj

2020-07-24 16:58:16 1367

原创 算法-BST-不同的二叉搜索树 II

算法-BST-不同的二叉搜索树 II1 题目概述1.1 题目出处https://leetcode-cn.com/problems/unique-binary-search-trees-ii/1.2 题目描述2 递归2.1 思想每次遍历 start->end,依次取来作为root,然后分别找两边的所有可能子树组成的子树list,并将左子树list和右子树list双重遍历组合所有可能来分别作为root的left和right,放入resultList。2.2 代码/** * Defin

2020-07-21 11:55:54 170

原创 算法-图染色法 DFS/BFS-判断二分图

算法-图染色法 DFS/BFS-判断二分图1 题目概述1.1 题目出处https://leetcode-cn.com/problems/is-graph-bipartite/1.2 题目描述2 图-DFS2.1 思路遍历所有节点进行染色,比如初始为白色,然后对直接相连的节点bfs染色为黑色。然后对这些染为黑色的相邻节点也染色为白色,以此类推继续bfs染色。如果要染色某节点时,要染的目标颜色和该节点的已经染过的颜色不同,则说明不能构成二分图。2.2 代码class Solution {

2020-07-16 15:02:45 2863

原创 Alluxio学习

Alluxio学习1 基本概念1.1 Alluxio是什么Alluxio,曾用名Tachyon,是一个开源的虚拟分布式存储系统。Alluxio源自 UC Berkeley 的 AMPLab(见论文),在伯克利数据分析栈 (Berkeley Data Analytics Stack, BDAS) 中扮演数据访问层的角色他将计算框架和存储层桥接,具体做法是将数据从存储层移动到距离数据驱动应用很近的地方,使得应用可以通过通用接口来访问数据量巨大的存储系统。 Alluxio内存至上的层次化架构可使得数据的

2020-07-13 21:22:52 1725

转载 ServiceMesh和Serverless

ServiceMesh和Serverless转载声明本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:微服务 | 我为啥不看好 ServiceMesh作者:芋道源码出处:CSDN1 前言今年,ServiceMesh(服务网格)概念在社区里头非常火,有人提出2018年是ServiceMesh年,还有人提出ServiceMesh是下一代的微服务架构基础。作为架构师,如果你现在还不了解ServiceMesh的话,是否感觉有点落伍了?那么到底什么是ServiceMesh?它

2020-07-11 23:54:26 10552

原创 算法-贪心/动态规划-买卖股票的最佳时机

1 买卖股票的最佳时机 V11.1 概述1.1.1 题目出处https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/1.1.2 题目描述给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格

2020-07-10 13:04:23 9372

空空如也

空空如也

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

TA关注的人

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