- 博客(219)
- 资源 (2)
- 收藏
- 关注
原创 微服务依赖模块进行maven打包报找不到程序包 && 部署启动配置加载错乱
同事搭的Spring Cloud Alibaba的微服务父子项目结构,迁移别的项目过来。有基础common模块和公共应用base模块,由于同事会出现Maven打包失败问题,而不使用base模块作为其余子模块为公共依赖,而是用Feign进行调用。这虽然能够保障开发的正常进度,但是很明显的增加许多不必要的代码冗余和不必要的工作量,这明显不符合简单高效的开发原则。比如说:新增一个企业的关联查询:他需要做如下步骤:1、base中写入对应的service方法和sql;
2025-02-19 09:17:03
902
原创 xxl-job调度平台的使用
xxl-job是一个轻量级分布式任务调度平台,相比于crontab -e,具备分布式/并发/可视化监控/分片等优点。缺点在于相对于单机任务过于重量级以及需要部署中心和执行器。
2024-09-19 10:08:55
1639
原创 Linux三剑客——awk
方式一:-v指定多个参数,全局变量awk -v arg5="参数一" -v arg6="参数六" 'BEGIN{print "输出:" ,arg5,arg6}'//或者 加文件每行数据处理awk -v arg5="参数一" -v arg6="参数六" 'BEGIN{print "输出:" ,arg5,arg6}{print "一行数据",arg6}' awkTest.txt方式二:代码块局部变量awk 'BEGIN{arg5="参数一";arg6="参数六";
2024-01-13 13:55:03
520
原创 Lniux三剑客——Grep
echo guangge{01…100…2} 第二个是间隔多少个计数命令别名 alias, unalias ,作用是封装命令命令历史 history!行号!!上一次的命令ctrl + a 移动到行首ctrl + e 移动到行尾。
2023-10-14 13:49:33
358
原创 简用JAVA正则表达式匹配API
Matcher类提供了start(),end(),group()分别用于返回字符串的起始索引,结束索引,以及匹配到到的字符串。
2023-07-17 15:37:48
340
原创 简用前后端的JSON格式注解:@DateTimeFormat、@JsonFormat、@JsonProperty
【后端到前端】在实体类属性上面使用@JsonFormat注解了,要注意的是,它只会在声明返回类型为json时,比如使用@ResponseBody返回json数据的时候,才会返回格式化的yyyy-MM-dd HH:mm:ss时间,如果直接使用System.out.println()输出的话,仍然是类似“Fri Dec 01 21:05:20 CST 2017”这样的时间样式。
2023-07-17 10:06:49
588
原创 jar程序部署的外部依赖和按名传参和shellUtil传参json串及返回pid问题
https://codingdict.com/questions/42913 , 或者输入她到文件中,再cat出来。getopts命令识别出各个入参选项之后(用:分隔),遍历case判断。其操作中,有两个"常量",一个是。java -cp 命令跟jar路径和指定的编译类(main)路径;java -jar 跟jar路径也ok,但是需要打包的时候指定。,反映下一个要处理的参数索引,初始值是1。,用来获取当前选项的值;即默认运行的main函数。代表最后执行的进程的PID。使用getopts命令。
2023-07-13 13:49:27
861
原创 JVM解析:class结构和常量及方法初始化
推荐官方文档:https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-3.html。
2023-07-13 10:14:13
857
原创 FlinkSQL写入iceberg—Windows环境下
FlinkSQL写入iceberg的demo,Windows环境下。Flink运行版本13.1,iceberg依赖版本:1.0.0。
2023-06-15 10:15:13
1172
原创 Windows_安装整合Prometheus + Grafana监控主机和Flink作业
基于Windows情况下安装Prometheus Grafana Node_exporter pushgatey,监控windows主机和本地IDE运行的flink作业
2023-03-16 20:31:15
3068
原创 Git分支操作
假定非管理人员操作:直推:新建特性分支cbry:刷新分支:checkout切换:本地文件查看:再merge:就此,master的代码就合并到特性分支cbry:新增内容,merge远程后是本地变化,还需要同步到远程分支:同理merge :因为merge后需要推送,我们再将保护分支设置为默认状态,否因为我们前面的测试设置(任何人不可push)将会被拒绝推送:在发布版本发现bug由cbry修复,基于该release/1.0.0分支创建bugfix分支进行修复并合并。基于develop分支新建一个release/1
2022-12-27 16:44:45
859
原创 FlinkSql开窗实例:消费kafka写入文本
以前写Flink从kafka入hdfs因为业务需求和老版本缘故都是自定义BucketSink入动态目录中,对于简单的需求可以直接用Flink SQL API进行输出。Flink版本1.13.1。
2022-12-27 16:35:57
1834
原创 (LeetCode)回溯和O(n)找规律方法: 78. 子集
也就是逐层列举(类似冒泡的遍历形式 多层 for i=j)。还有一种我们可以从用例看出规律,即每一次添加新的元素nums[i],所造成原有结果集增加的集合为:(集合i-1) + (集合i-1的每个数组加上新元素nums[i])。如: nums[i]=1 : {空集} , {空集,1} 即: [] , [1](又是一个JAVA面试题)有点动态规划的味道: dp[i] = dp[i-1] , dp[i-1]每个元素加nums[i]时间 0 ms 击败 100% 内存 41.7 MB 击败 30.31%
2022-12-27 16:21:49
200
原创 Mybatis源码(三)如何操作数据库
接着environmentElement获取数据源信息后,同级执行代码的mappersElement。里面参杂了mybatis缓存。
2022-12-27 16:01:37
1060
原创 Mybatis源码(一)获取数据源
Mybatis做为一种半ORM框架(半:需要手动写sql)。ORM(Object Relational Mapping)的技术本质是:ORM框架将对象的值映射到对应数据库类型: 如 String -> varchar。且mybatis分为两种实现方式:基于xml和基于注解,本文为xml。
2022-12-27 15:34:15
1915
原创 SpringCache缓存简用验证码
开发需求背景:Hibernate JPA项目的短信和扫码登陆验证需求,五码合一。使用spring cache做验证码生成和存储。
2022-10-24 18:30:00
468
原创 SpringBoot整合Swagger3和Knife4j及使用
开发api提供对应的接口规范进行联调或并行开发,api文档管理必不可少。常用的Knife4j基于swagger(依赖已经compile),可以进行管理。
2022-08-09 23:30:00
2222
原创 FlinkKafkaProducer默认和自定义分区策略
我们经常关注的是Kafka消费者的消费策略,但是又会在某些特殊情况下要求自定义生产者的分区策略:如按序消费:将所有数据写入一个分区中。又或者默认的策略满足我们的业务需求。值得一提的是,FlinkKafkaProducer(这里版本13.0.2,更早期的版本如1.10.0中是带版本号的FlinkKafkaProducer10等),和Kafka(这里版本kafka_2.11 1.1.1)的api中的KafkaProducer写入分区策略并不相同。 即Flink写kafka使用的机制与原生接口的写入方式是有差别
2022-06-02 22:00:00
3131
1
原创 Java调用三方接口进行URL请求
前言对于url的请求两种需求,一种是程序调用接口后返回数据; 二是调用第三方openApi接口。基于URLConnection的返回值获取使用java.net包下面原生的URLConnection对象,使用IO流进行数据提交和请求获取,比如说:获取返回结果。若只是向服务器请求数据,则为HTTP请求方法为GET。若需要向服务器提交数据,必须在先调用setDoOutput(true)。当doOutput属性为true时,请求方法将由GET变为POST。使用getInputStream()方法输出
2022-05-18 20:45:00
3593
原创 Linux环境下二进制安装PostgreSql
下载资源考虑到主机非root用户,权限有限,采用简单的二进制安装包安装二进制安装包下载地址安装常规的解压:tar -zxvf postgresql-10.20-2-linux-x64-binaries.tar.gz(不需要做的备注)也有人单独注册用户组,使用root分配账户软件权限,这里不用这种方式,仅列出来:groupadd postgresuseradd -g postgres postgrespasswd postgres构建安装目录在解压的pgsql目录下 ,
2022-04-08 15:08:08
2829
原创 快速掌握排序算法——快速排序(图解)
前言 八大排序算法中我们最常用的还是快排,其效率和代码实现难度上都符合使用情况。可是知道其原理,但是手撸代码很久没有实现后,总是会难免磕磕绊绊,故作此文快速回顾,引入图解页方便新学同学快速理解。代码与搭配食用更佳噢。排序之插入排序(直接插入、折半插入、希尔排序)堆排序(源码C)简述简单的说,快排本质上是一个个寻找数组中每个元素的正确位置的过程,这个过程中暂叫确定的元素叫标准位。首先寻找到标准位在目标排序中的正确位置——通过双指针Left和Right,以排序数组为区间,二者相向运动。具体为通过
2022-03-07 18:13:54
2684
1
原创 EasyExcel解析简易动态表头列及其简用
前言项目组祖传的POI代码,是基于entity实体类来固定格式解析,对应EXCEL是多少表头展示解析多少表头,需要改祖传代码,比较麻烦,时间不够。故用二次封装POI的EasyExcel来进行简易实现。使用EasyExcel的优点是基于POI进行的封装,其特点是:占用内存少。3M的excel用POI sax依然需要100M,而easyExcel只是KB级别。简洁。poi代码臃肿,easyExcel只需几行代码。处理流程读取Excel文件输入流:InputStream;将数据输入流
2022-02-12 14:57:03
7584
1
原创 设计模式——五种单例模式
前言 单例模式,简单的说就是:提供一个对外的公共方法来获取唯一的对象实例。 设计模式的精髓就是在于:找到变化,封装变化。这里,我们使用五种方式实现单例模式:懒汉模式饿汉模式双检锁静态内部类枚举类懒汉模式获取实例对象的时候才判定有没有生成对象,是为懒汉。/** * @Author: cbry * @Description: 懒汉模式 , 获取实例对象可能会有线程安全问题,是否线程安全可以加上 synchronized 关键字。 **/public class Lazy
2022-01-28 18:00:35
863
原创 设计模式——Builder建造者模式
前言buidler模式主要分为两种:1、经典builder模式;2、链式变形builder模式。主要使用链式变形builder模式。当一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,考虑使用构造者模式(这是一个重要的应用场景:必选参数和可选参数)。解决的问题在对象A形参过多的情况下,我们往往如果要创建一个A对象的时候,有些参数是必须的,有些参数是选择性构建的。那么我们可能会这样实现:public Man(String name ){ ... ...}public Man(St
2022-01-26 12:55:40
1213
原创 或非和java的移位操作符
MECE 原则,提升逻辑思维水平MECE 原则(Mutually Exclusive Collectively Exhaustive)的中文意思是“相互独立,完全穷尽”,简而言之,能够做到不重叠、不遗漏,兼顾排他性和完整性。MECE 原则是麦肯锡提出的一种结构化思考方式,无论是报告撰写,提案演讲,业务分析,它是一种很好的思维方式。LeetCode.剑指56:Ipublic class _56_I数组中数字出现的次数 { public static void main(String
2022-01-24 19:26:03
697
原创 设计模式——代理模式:CGLIB动态代理
前言关于jdk实现代理模式的AOP代理和详解主要放在本文中:设计模式——代理模式:JDK静态代理和动态代理的实例和实现。本文相对于jdk的代理模式,内容较为少,主要体现cglib代理模式实现动态代理AOP和cglib实现动态代理AOP的区别以及实例Demo。CGLIB和JDK实现AOP的区别JDK动态代理只能为接口实现动态代理。而不能对没有通过接口定义业务方法的类动态代理(因为jdk代理实现的实例对象会继承Proxy类,java的单继承原则使得他不能代理实现继承类对象);JDK的动态代理通过Pro
2022-01-08 18:22:04
774
原创 设计模式——工厂模式(简单、工厂方法、抽象工厂)详解
为什么要用工厂模式 为什么要使用工厂模式创建工厂对象?在业务实现过程中创建的对象可能是简单的对象,也可能需要进行复杂的逻辑加工来进行赋值逻辑处理等操作。为了解耦生成复杂对象(需要逻辑加工)和主业务逻辑之间的耦合度,采用工厂模式来解耦,使得逻辑加工在工厂中进行。 追加功能的时候不用修改代码,直接新增;比如说一个computer新增一个light。工厂模式的类别工厂模式我们可以由简到难分为:简单工厂工厂方法抽象工厂简单工厂 抽象化产品,工厂中有逻辑加工用于具体判断生成哪一个产品,进行
2022-01-08 16:46:57
803
原创 Nginx策略搭配Tomcat集群实操手册(二进制安装和Docker容器安装)
1. 方案一:二进制安装2. 方案二:docker安装3. Tomcat3.1. 安装改名:分配集群配置JAVA环境变量如果同一台主机部署多台Tomcat,修改server.xml:更改两个冲突端口:Server portConnector port3.2. 启动3.3. tomcat命令快捷使用往.bash_profile里面加路径就可以了3.4. 验证3.5. 监控页面4. Nginx修改nginx.conf后杀掉重启就可以了不需要重启tomcat。
2021-12-02 00:12:42
1566
2
原创 Keepalived搭配Nginx的高可用策略验证遇到的问题以及解决方案
1.1. 问题: nginx未起立1.1.1. 原因未./configure就安装1.2. 【精】执行./configure后没有生成MakeFile**1.2.1.**现象1.2.2. 原因发现 ./configure 有一条不显著的报错:configure: error: libnfnetlink headers missing1.2.3. 解决安装相关依赖yum install -y libnfnetlink-devel1.3. nginx: [emerg] bind()
2021-12-02 00:11:48
1729
原创 Keepalived搭配Nginx的高可用策略验证和实操
1. 高可用架构保障Nginx的稳定,主Nginx是否宕机。2. 启动集群Tomcat/e3base/tomcat/bin/startup.sh3. 安装备份节点Nginx备份的Nginx节点为e3base04,主节点为e3base03。PS(make install 是默认安装到root用户路径下面:/usr/local/nginx,修改的配置文件也在这个下面修改才有作用)。4. 安装KeepAlive安装在/usr/local目录下4.1. 改名4.2../config
2021-12-02 00:10:25
690
原创 大数据生态(十)集成部署遭遇问题(提前、zk、hdfs)汇总
目录1 .bash_profile和/etc/profile 问题说明 问题解答 现象说明 原因说明 解决 操作 2 赋权问题 2.1 e3base应用目录权限 原因 解决方案 2.2 SSH互联失败 原因 解决方案 3 Zookeeper 启动问题 3.1 Log目录错误 原因 解决方案 3.2 zookeeper启动成功,关联集群失败 现象 原因 解决方案 成果 hadoop运行失败 4 Hadoop启动问题 4.1 配置文件问题 说明 原因 解
2021-11-17 18:05:18
2726
软件设计师历年真题及其答案解析(2012年-2018年全年)
2019-03-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人