- 博客(305)
- 资源 (45)
- 问答 (1)
- 收藏
- 关注
原创 复杂一点的maven项目结构在jenkins中的sonarqube扫描配置
一般的maven项目结构都是有一个parent和若干个子module,parent模块一般package属性是pom,子module一般为jar或war。但是对于在parent项目下还有包含有pom模块的情况可能会有点困惑,这里记叙一下这种情况的配置。1.1 一般项目结构pom{a模块,b模块}1.2 jenkins的sonarqube scan配置son...
2019-12-29 12:36:25 1017 1
原创 Spark streaming消费kafka程序报No output streams registered, so nothing to execute异常
在做kafka割接测试消费程序只消费不做数据处理时编写代码遇到了No output streams registered, so nothing to execute异常的问题:代码如下:public void execute() throws MintakaException { // Create a Spark Configuration final...
2019-12-29 12:28:42 398 1
原创 kafka在开发中积累的经验
一、kafka 的 Java heap space 配置 Kafka :Java heap space 原先配置是512M,先改为2G. 消费的数据量过大时,很容易出现下面的问题。导致消费的数据发送不到本地kafka。二、.远程生产或者消费社区版kafka需要配置:0.9.0.0listeners=PLAINTEXT://0.0.0.0:9092默认的配置是...
2019-12-28 01:16:25 448
原创 docker下部署java-web项目(基于springboot)
当前docker技术很受欢迎,对于快速部署来说 docker比起传统部署方式 有绝对的优势。作为一个java 后端开发人员docker技术是必不可少的需要掌握的技能。该blog主要简单介绍一下如何使用docker部署springboot项目。(linux环境:centos6.5,jkd1.8)一、前提条件:1.可以运行jar包的环境(springboot项目推荐jdk1.8以上)...
2019-12-26 00:38:22 927
原创 Java中Annotation注解的定义很和接口的定义很像,只是把定义接口的饰符intertface换成了@interface
注解,也被称为元数据,为我们在代码中添加信息提供一种形式化的方法,使我们在稍后某个时刻非常方便的使用这些数据。注解是在实际的源代码级别保存所有的信息,而不是某种注释性的文字,这使得代码更整洁,且便于维护。注解的语法定义注解的定义很和接口的定义很像,只是把定义接口的饰符intertface换成了@interface。而且,与其他的Java接口一样,注解也会编译成class文件。下...
2019-12-25 16:09:10 339
原创 spark中sqlContext函数不能完全实现业务逻辑,引入hiveContext,解决开窗函数TOP-N问题
异常报错:问题描述:1、为什么用hiveContext?在开发spark程序中,sqlContext函数不能完全实现业务逻辑,所以会引入hiveContext,(本次用到hiveContext中的开窗函数TOP-N)。原因分析:在SQLContext上下文是不支持开窗函数的,用他来解决TOP-N问题,写的sql有点复杂,执行效率相对较低,可使用HiveContext,使用ro...
2019-12-23 14:38:15 349
原创 Redis集群安装,及遇到缺少tcl 8.5依赖和集群启动失败等解决方案
准备 Redis-3.2.12 源码包 Ruby 2.2.2以上 RubyGems 三台互通主机 踩过的坑 Node 192.168.31.60:7000 is not empty You need tcl 8.5 or newer in order to run the Redis test Core - Code 准备三台主机...
2019-12-21 11:09:13 616
原创 springboot 集成 jwt实现api的token认证机制
JWT原理JWT是Auth0提出的通过对JSON进行加密签名来实现授权验证的方案,编码之后的JWT看起来是这样的一串字符:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4...
2019-11-28 11:00:41 1626 3
原创 Spring Boot使用 RabbitMQ基本用法与高级用法
RabbitMQ 介绍AMQP(Advanced Message Queuing Protocol,高级消息队列协议)是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。AMQP 的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。RabbitMQ 是一个开源的 AMQP 实现,服务...
2019-11-27 16:37:44 560
原创 还有比这java状态压缩更通俗易懂的解释?
状态压缩是一种非常强大的技术,它允许我们在有限的空间内高效地表示和操作大量的状态信息。在解决诸如图论中的状态压缩动态规划、棋盘问题、游戏AI等领域的问题时,状态压缩技术经常能发挥关键作用。
2024-08-19 08:16:16 674 1
原创 理解springboot那些过滤器与调用链、包装或封装、设计模式相关等命名规范,就可以读懂80%的springboot源代码,和其他Java框架代码
上面那些命名,高频率存在于spring、web3、netty、mybatis等各种框架中。要是搞懂了这些名词,阅读大部分源代码可以说是一点障碍都没有了。在同一个场景下,优先使用这些名词,已经是大家心照不宣的规范。有很多名词来自于设计模式,但又在特定场合使用了比较特殊的单词,比如Provider,大家仔细感受下其中的区别就可以了。命名是编码中非常重要的一环,希望大家找到其中的规律,让我们的代码功能上强大,颜值上好看,性能更健壮,才配得上我们的这份专业和工匠精神。
2023-11-01 01:09:03 344
原创 While中的if条件需要check一下?java二分模板彻底突破“二分法”的使用
While中的if条件需要check一下?java二分模板彻底突破“二分法”的使用二分的本质枚举的答案,空间是否可以分解成性质不同的两个部分。这两个部分必须满足两个性质,如维基百科所说:「互补」「互斥」。即所有事物必须属于双方中的一方,且没有事物可以同时属于双方。34. 在排序数组中查找元素的第一个和最后一个位置普通方法
2023-10-31 01:38:10 137
原创 理解springboot那些注册与回调、监控与统计等命名规范,就可以读懂70%的springboot源代码
再理解springboot那些注册与回调、监控与统计等命名规范,就可以读懂70%的springboot源代码,Spring Boot是Spring提供的一个快速开发工具包,让程序员能更方便、更快速的开发Spring+Spring MVC应用,简化了配置(约定了默认配置),整合了一系列的解决方案(starter机制)、redis、mongodb、es,可以开箱即用。
2023-10-25 00:56:06 305
原创 理解springboot那些约定俗成的框架类名、全局context等命名规范,就可以读懂一半springboot的源代码
理解了springboot那些约定俗成的Java类命名规范,就很容易读懂springboot的源代码,熟悉了大致的spring框架类命名,及spring全局上下文的命名规律和含义,那我们再次去看spring源码,不就游刃有余……可能,还需要掌握spring注册与回调,spring监控与统计,spring解析与处理,spring工具或异步……才能出神入化,下偏见!
2023-10-24 02:07:33 389
原创 leetcode 1586 二叉搜索树迭代器 II 与 173. 二叉搜索树迭代器
1586 二叉搜索树迭代器 II 与 173. 二叉搜索树迭代器 异同173由于只需要记录next的值,所以只需要一个cur作为全局变量!1586由于需要记录pre的值,所以,需要把每次TreeNode的新对象,压入list,以便需要的时候,能及时获取!173的cur节点,转变为1586的索引posCur
2023-10-05 21:33:19 145
原创 LeetCode 251:展开二维向量
LeetCode 251:展开二维向量嵌套list解法:1,提取 Vector2D(List vec2d) 的参数为全局参数2,抽出2个list的对应的index,如List.get(listIdx).get(elemIdx++)借助Iterator迭代器解法1,对外层list,取迭代器Iterator out;2,对内层list,抽取迭代器Iterator inner;
2023-10-05 01:56:08 618
原创 Arrays类的binarySearch()方法在leetcode题中经典运用
Arrays类的binarySearch()方法在leetcode题中经典运用,leetcode300. 最长递增子序列leetcode 面试题 17.08. 马戏团人塔
2023-09-30 20:38:30 124
原创 leetcode 286 墙与门
leetcode 286 墙与门目的:每个空房间,到最近门的距离思想:1,先找到门,把所有的门的坐标,压入队列中2,利用bfs广度优先算法,不断扩散计算
2023-09-30 15:44:42 237
原创 leetcode 558 设计内存文件系统
leetcode 558 设计内存文件系统---设计一个内存文件系统,实现显示当前文件,创建文件,添加内容到文件,读取文件内容等功能,感觉像是模拟一个terminal的一些命令。这道题比较tricky的地方是ls这个命令,题目中的例子其实不能很好的展示出ls的要求,其对文件和文件夹的处理方式是不同的。
2023-09-24 23:45:06 274
原创 leetcode1516.移动N叉树的子树
leetcode1516.移动N叉树的子树 找公共的父节点,采用dfs,尽可能使用卫语句提取两个参数变量,作为全局变量,进行找公共的父节点找出情况1,2,3不同点,进行分别特别处理;共同点,就是:节点 p 必须是节点 q 的子节点列表的最后一项。
2023-09-23 20:13:34 219
原创 774. 最小化去加油站的最大距离Minimize Max Distance to Gas Station
最小化去加油站的最大距离:二分查找的左右边界值就有了,又给了误差范围 10^-6,那么只要 right 和 left 差值大于这个阈值,就继续循环。折半计算出来的 mid 就是一个 candidate,要去验证这个 candidate 是否符合题意。
2023-09-21 23:50:11 102
原创 工作中,汇集的常用实用的liunx命令,如:linux中查找包含关键字的所有文件,倒引号妙用,进程ps,日志清理,内存管理,netstat显示协议统计信息,redis和mysql操作
有没有发觉,有些linux命令,常见又常用,能理解,但是到了用的时候,又一通百度,找不到心仪的命令,故经过半年的收集,汇集下面的一些常用,实用的liunx命令,以备不时之需!
2022-11-25 00:01:33 197 2
原创 工作中,汇集的常用实用的liunx命令,如:linux中查找包含关键字的所有文件,倒引号妙用,进程ps,日志清理,内存管理,netstat显示协议统计信息,redis和mysql操作
有没有发觉,有些linux命令,常见又常用,能理解,但是到了用的时候,又一通百度,找不到心仪的命令,故经过半年的收集,汇集下面的一些常用,实用的liunx命令,以备不时之需!
2022-11-24 23:47:17 161
原创 Java泛型、元组、类型参数推断、擦除、擦除的补偿、通配符等的学习及运行
简单泛型(基本都是介绍设计代码的用法)public class Holder3<T> { private T a; public Holder3(T a) { this.a = a; } public void set(T a) { this.a = a; } public T get() { return a; } public static void main...
2022-10-24 23:58:56 196
原创 Java isAssignableFrom()方法与instanceof()方法区别
instanceof是子->父的过程;isAssignableFrom是父->子的过程。
2022-09-18 22:57:56 318
原创 精讲高并发异步解耦利器RocketMQ技术架构,及运行原理,及分析RocketMQ究竟强在哪里?RocketMQ集群是如何做数据分区的?如何做数据分区的?
前言RabbitMQ,其功能也是挺强大的,那么,为啥又要搞一个RocketMQ出来呢?是重复造轮子吗?本文我们就带大家来详细探讨RocketMQ究竟好在哪里。高并发异步解耦利器:RocketMQ究竟强在哪里? | IT宅-arthinking's blogRocketMQ是一个分布式消息中间件,具有低延迟、高性能和可靠性、万亿级别的容量和灵活的可扩展性。它是阿里巴巴于2012年开源的第三代分布式消息中间件。随着阿里巴巴的电商业务不断发展,需要一款更高性能的消息中间件,Rocket.
2021-12-15 00:01:38 2368
原创 通过模板方法模式——对短信中的文本内容进行敏感词过滤,及将文本内容与敏感词词库做匹配的实现
前言模板方法模式是最为常见的几个模式之一(也比较简单),是基于继承实现代码复用的基本技术。模板方法模式(TemplateMethod Pattern)的定义是:首先定义了一个由若干执行步骤组成的执行过程(形成模板),而将一些步骤延迟在子类中实现,使得子类能够对其中一个或者多个具体步骤进行重新定义,从而改变最终的执行结果。模板方法模式的UML类图如下:这里涉及到了两个角色:抽象模板 AbstractTemplate定义并实现了一个模板方法。这个模板方法一般是一个具体的方法,它定.
2021-12-14 01:43:26 700
原创 详解redission分布式锁配置及使用,防止java服务重复提交和修改动作等问题
说道Redis分布式锁大部分人都会想到:setnx+lua,或者知道set key value px milliseconds nx。后一种方式的核心实现命令如下:- 获取锁(unique_value可以是UUID等)SET resource_name unique_value NX PX 30000- 释放锁(lua脚本中,一定要比较value,防止误解锁)if redis.call("get",KEYS[1]) == ARGV[1] then return redis.call("d..
2021-12-11 02:08:08 4624
原创 各种消息队列如何选择?为何选择rocketmq来保证消息不丢失,及应该采用rocketmq哪种通信模式?
笔记,过后会视频讲解前言Rocketmq介绍rocketmq是阿里巴巴团队使用java语言开发的一款分布式消息中间件,是一款低延迟,高可用,拥有海量消息堆积能力和灵活拓展性的消息队列。1.1 rocketmq组成部分rocketmq由四大核心模块组成:producer、consumer、brokerServer、nameServer。其中brokerServer和nameServer是rocketmq的服务端,两者一起独立的对外提供服务;而producer和consumer可看做
2021-11-10 00:05:10 435
原创 原型模式的结构与多种实现,包括实现Cloneable接口,并重写clone方法,和复制构造器实现深拷贝,浅拷贝,及使用Serializable实现深拷贝
不要问我,深拷贝与浅拷贝有什么区别?直接代码gif对比展示
2021-10-24 23:43:44 445 1
原创 sso单点登录的原理详解,及Shiro同时支持Session和JWT Token两种认证方式,和Session和JWT整合方案
1. 单点登录是什么?单点登录全称Single Sign On(以下简称SSO),是指在多系统应用群中登录一个系统,便可在其他所有系统中得到授权而无需再次登录,包括单点登录与单点注销两部分。2. 单点登录的原理相比于单系统登录,sso需要一个独立的认证中心,只有认证中心能接受用户的用户名密码等安全信息,其他系统不提供登录入口,只接受认证中心的间接授权。间接授权通过令牌实现,sso认证中心验证用户的用户名密码没问题,创建授权令牌,在接下来的跳转过程中,授权令牌作为参数发送给各...
2021-08-25 11:34:54 1132
原创 大厂通用的PostgreSQL 数据库开发规范,包括”命名规范“、”设计规范“ 、”建表规范“、”QUERY 规范“、”管理规范“、”稳定性与性能规范“
PostgreSQL的特性对GIS强大的支持,支持这种array,点,三维等几何类型,并支持这种gis类型的索引; 支持json,xml等数据类型和相关索引; 强大的Over子句,灵活的窗口函数与分析函数; 表的继承的概念(分区表就是依赖于此实现的),支持多继承; 强大的存储过程和trigger支持,极大的方便oracle到pgsql的移植,支持sequence; 完善的事务支持,支持多事务指定局部事务回滚。PostgreSQL 使用规范命名规范【强制】库名、表名限制命.
2021-08-22 19:44:48 1188
原创 大厂通用的MySQL开发规范设计,包括“存储引擎、字符集、 命名规则等公共约定”,“表设计约定”,“字段设计约定”,“索引设计约定”,“SQL约定”,“开发人员行为约定”
前言在开发人员进行项目或者产品开发之前,总是有千百万个不确定,不确定“存储引擎“的该使用哪个?该用那个”字符集“?该遵循那种”命名规则“?“表设计约定”有哪些?“字段设计约定”怎样才更优秀?“索引设计约定”该如何设计?有没有规范的“SQL约定”?对于开发人员,有哪些“开发人员行为约定”,需要遵守?下文,既是综合BAT大厂的MySQL开发规范设计,包括“存储引擎、字符集、 命名规则等公共约定”,“表设计约定”,“字段设计约定”,“索引设计约定”,“SQL约定”,“开发人员行为约定”,建议收..
2021-08-22 18:29:34 113
原创 java后台开发必备的9大类基础工具,你集齐了?
前言对于java后台开发人员,内功深厚关键是看对关系型数据库,领域驱动设计(Domain-Driven Design),设计模式Design Pattern,算法Algorithm,面向对象编程OOP(SOLID)线程安全,事件驱动,测试驱动开发依赖注入框架等掌握的深浅,同时不要忘记自己是一个coder,怎样才能写出高质量的代码?站在巨人的肩膀上,持续改进优化,持续debug!通用工具类MD5UtilRSAUtilDateUtilStringUtilNumberUtil集合工具类
2021-08-21 20:33:02 4453 2
原创 采用递归与迭代法思想,分别用java编程去实现欧几里德,斐波那契,牛顿迭代法
前言数学中的欧几里德算法,斐波那契数列和牛顿迭代法求非线性方程的近视解,同时用递归与迭代法分别去实现!递归法递归,就是在运行的过程中调用自己。构成递归需具备的条件:1. 子问题须与原始问题为同样的事,且更为简单;2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。迭代法迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程。1.欧几里德算法,典型的迭代法最经典的迭代算法,用于计算两个整数a,b的最大公约数。假如需要求 1997 和 615 两个正整数的最
2021-08-08 09:30:21 408
原创 Spring @Enable模块装配的注解及编程实现方式,及包括“注解方式”,“编程方式”的自定义模块装配方式
Spring @Enable模块装配
2021-07-28 21:09:14 497
原创 Spring框架开发底层的@Component 通用组件模式、@Service 服务模式、@Configuration 配置模式等注解装配技术详解
Spring模式注解装配(Stereotype Annotations)模式注解定义一种用于声明在应用中扮演“组件”角色的注解。常用模式注解整理如 Spring 中的 @Repository 是用于扮演仓储角色的模式注解,用来管理和存储某种领域对象。还有如@Component 是通用组件模式、@Service 是服务模式、@Configuration 是配置模式等。Spring注解 场景说明 起始版本 @Componnt 通用组件模式注解 2.5
2021-07-24 22:22:26 1670 7
原创 springboot的服务端Restful风格 API接口,在不同场景下,设置不同的请求及传参方式的设计,及其他异常场景解决方案
@RequestMapping(value = "/get/{id}/{userId}", method = RequestMethod.GET) public Result getMemberShip(@PathVariable("id") int id,@PathVariable("userId") int userId) {假如id为非必需参数//可以指定多个匹配路径@RequestMapping(value = {"/get/{userId}", "/get/{id}/{us.
2021-07-17 12:21:25 942 3
原创 用正则表达批量快速解决如“过滤注释的//”、“查询特定单词”、“匹配特定子字符串”等工作中难题
场景:过滤调注释的“//”的定时任务,查看那些是有效的定时任务方案^((?!//.).)*@Scheduled场景:hibernate的打印sql都有as的别名,导致sql特别长,批量去掉别名方案:\sas\s\w+场景:搜索所有包含:".Autowired(" 但不包含:"Transactional." 的文件。^((?!Transactional.).)*\b[.]Autowired[(]\e*((?!Transactional.).)*$...
2021-07-16 13:08:44 258
实际WEB项目整合 Shiro 以及 LDAP 方案.docx
2020-02-11
springboot后端实现防御xSRF攻击的策略代码.zip
2020-02-10
SpringBoot整合XssFilter,Jsoup等实现请求参数的过滤,处理Xss攻击及sql注入.zip
2020-02-09
在使用netty进行网络通信协议传输使用protobuf时protobuf编译.proto文件生成JAVA类.zip
2020-02-09
ApacheJMeter安装及对postgresql数据库压测过程.zip
2020-02-09
基于Jenkins+SonarQube+Nosetests+Coverage的Python项目持续集成.jpg
2020-02-07
tmux安装文件及配置.zip
2020-02-06
Kettle分享.pptx
2020-02-04
利用kettle运行job,完成以上的两个过程.mp4
2020-02-04
利用kettle运行transformation,完成数据库表到数据库表的ETL过程.mp4
2020-02-04
利用kettle运行transformation,完成从Excel表到数据库表的ETL过程.mp4
2020-02-04
table-copy-update.ktr
2020-02-04
nux-dextop-release-0-2.el6.nux.noarch.rpm
2020-02-04
mysql-to-hive.ktr
2020-02-04
构建通用Docker基础镜像.zip
2020-02-03
nmon_x86_64_centos7
2020-02-01
ideaeclipse-java-formatters_1.0.0.xml
2020-01-31
git-lfs-windows-v2.10.0.exe
2020-01-28
powa-install-packages.tar.gz
2020-01-28
DateUtil.java
2020-01-22
HttpRequestConvert.java
2020-01-22
最透彻的的Netty高性能原理和框架架构解析.docx
2020-01-22
文件上传的相关工具包.rar
2021-02-05
flannel和etcd.zip
2020-11-25
docker离线安装包,及相关依赖
2020-11-25
kafka-eagle-web-2.0.2-bin.tar.gz
2020-09-29
rpm_yum.tar.gz
2020-09-17
SSD在分布式文件系统中的应用场景及方案对比.pdf
2020-06-16
应用层PostgreSQL数据库安装步骤.zip
2020-03-07
postgres及min数据库的的表结构及触发器.txt
2020-03-07
PostgreSQL表分区的所有表结构和表分区及触发器.zip
2020-02-19
PostgreSQL表分区和子表及删除所有的数据库表.zip
2020-02-19
用Tableau 制图甘肃省地图的详细过程.zip
2020-02-19
导入Python的依赖openpyxl,xlrd,解决execl按某列条件,修改另一列的值.py
2020-02-12
LIUNX环境合规修复shell脚本.zip
2020-02-10
upgrade_ssh.zip
2020-02-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人