自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

长臂人猿的博客

进阶的猿猴

  • 博客(215)
  • 资源 (2)
  • 收藏
  • 关注

原创 Web日志/招聘网站/电商大数据项目样例【实时/离线】

​ 某大型电商公司,产生原始数据日志某小时达4千五万条,一天日志量月4亿两千万条。

2024-04-02 00:20:00 1080

原创 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 419

原创 Lniux三剑客——Grep

echo guangge{01…100…2} 第二个是间隔多少个计数命令别名 alias, unalias ,作用是封装命令命令历史 history!行号!!上一次的命令ctrl + a 移动到行首ctrl + e 移动到行尾。

2023-10-14 13:49:33 294

原创 通过SSH的方式连接Git仓库

git已经安装。

2023-07-17 15:45:33 773

原创 简用JAVA正则表达式匹配API

Matcher类提供了start(),end(),group()分别用于返回字符串的起始索引,结束索引,以及匹配到到的字符串。

2023-07-17 15:37:48 250

原创 简用前后端的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 399

原创 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 702

原创 yapi的部署和安装

或者直接浏览器下载传输到服务器上。太高版本不行,install会报错。16开头的。

2023-07-13 10:46:25 448

原创 JVM解析:class结构和常量及方法初始化

推荐官方文档:https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-3.html。

2023-07-13 10:14:13 461

原创 FlinkSQL写入iceberg—Windows环境下

FlinkSQL写入iceberg的demo,Windows环境下。Flink运行版本13.1,iceberg依赖版本:1.0.0。

2023-06-15 10:15:13 988

原创 Windows_安装整合Prometheus + Grafana监控主机和Flink作业

基于Windows情况下安装Prometheus Grafana Node_exporter pushgatey,监控windows主机和本地IDE运行的flink作业

2023-03-16 20:31:15 2585 1

原创 利用GithubPage和Hexo搭建个人博客

title: 利用Github搭建个人博客。

2022-12-27 17:22:46 519 5

原创 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 734

原创 FlinkSql开窗实例:消费kafka写入文本

以前写Flink从kafka入hdfs因为业务需求和老版本缘故都是自定义BucketSink入动态目录中,对于简单的需求可以直接用Flink SQL API进行输出。Flink版本1.13.1。

2022-12-27 16:35:57 1566

原创 (LeetCode)回溯匹配路径.79. 单词搜索

思路:经典回溯全匹配路径,类似全排列。

2022-12-27 16:23:55 130 2

原创 (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 110

原创 (LeetCode)哑巴节点的应用:24. 两两交换链表中的节点

两两遍历交换,注意哑巴节点面去头节点烦恼。建立哑巴节点面去考虑头节点问题。

2022-12-27 16:20:13 129

原创 Mybatis源码(三)如何操作数据库

接着environmentElement获取数据源信息后,同级执行代码的mappersElement。里面参杂了mybatis缓存。

2022-12-27 16:01:37 963

原创 MyBatis源码(二)如何执行sql

接着environmentElement获取数据源信息后,同级执行代码的mappersElement。

2022-12-27 15:41:11 708

原创 Mybatis源码(一)获取数据源

Mybatis做为一种半ORM框架(半:需要手动写sql)。ORM(Object Relational Mapping)的技术本质是:ORM框架将对象的值映射到对应数据库类型: 如 String -> varchar。且mybatis分为两种实现方式:基于xml和基于注解,本文为xml。

2022-12-27 15:34:15 1689

原创 SpringCache缓存简用验证码

开发需求背景:Hibernate JPA项目的短信和扫码登陆验证需求,五码合一。使用spring cache做验证码生成和存储。

2022-10-24 18:30:00 370

原创 SpringBoot整合Swagger3和Knife4j及使用

开发api提供对应的接口规范进行联调或并行开发,api文档管理必不可少。常用的Knife4j基于swagger(依赖已经compile),可以进行管理。

2022-08-09 23:30:00 1958

原创 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 2651 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 3359

原创 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 2096

原创 快速掌握排序算法——快速排序(图解)

前言​ 八大排序算法中我们最常用的还是快排,其效率和代码实现难度上都符合使用情况。可是知道其原理,但是手撸代码很久没有实现后,总是会难免磕磕绊绊,故作此文快速回顾,引入图解页方便新学同学快速理解。代码与搭配食用更佳噢。排序之插入排序(直接插入、折半插入、希尔排序)堆排序(源码C)简述简单的说,快排本质上是一个个寻找数组中每个元素的正确位置的过程,这个过程中暂叫确定的元素叫标准位。首先寻找到标准位在目标排序中的正确位置——通过双指针Left和Right,以排序数组为区间,二者相向运动。具体为通过

2022-03-07 18:13:54 2552

原创 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 6504 1

原创 设计模式——五种单例模式

前言​ 单例模式,简单的说就是:提供一个对外的公共方法来获取唯一的对象实例。​ 设计模式的精髓就是在于:找到变化,封装变化。这里,我们使用五种方式实现单例模式:懒汉模式饿汉模式双检锁静态内部类枚举类懒汉模式获取实例对象的时候才判定有没有生成对象,是为懒汉。/** * @Author: cbry * @Description: 懒汉模式 , 获取实例对象可能会有线程安全问题,是否线程安全可以加上 synchronized 关键字。 **/public class Lazy

2022-01-28 18:00:35 804

原创 设计模式——Builder建造者模式

前言buidler模式主要分为两种:1、经典builder模式;2、链式变形builder模式。主要使用链式变形builder模式。当一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,考虑使用构造者模式(这是一个重要的应用场景:必选参数和可选参数)。解决的问题在对象A形参过多的情况下,我们往往如果要创建一个A对象的时候,有些参数是必须的,有些参数是选择性构建的。那么我们可能会这样实现:public Man(String name ){ ... ...}public Man(St

2022-01-26 12:55:40 1145

原创 或非和java的移位操作符

MECE 原则,提升逻辑思维水平MECE 原则(Mutually Exclusive Collectively Exhaustive)的中文意思是“相互独立,完全穷尽”,简而言之,能够做到不重叠、不遗漏,兼顾排他性和完整性。MECE 原则是麦肯锡提出的一种结构化思考方式,无论是报告撰写,提案演讲,业务分析,它是一种很好的思维方式。LeetCode.剑指56:I​public class _56_I数组中数字出现的次数 { public static void main(String

2022-01-24 19:26:03 621

原创 设计模式——代理模式: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 739

原创 设计模式——工厂模式(简单、工厂方法、抽象工厂)详解

为什么要用工厂模式​ 为什么要使用工厂模式创建工厂对象?在业务实现过程中创建的对象可能是简单的对象,也可能需要进行复杂的逻辑加工来进行赋值逻辑处理等操作。为了解耦生成复杂对象(需要逻辑加工)和主业务逻辑之间的耦合度,采用工厂模式来解耦,使得逻辑加工在工厂中进行。​ 追加功能的时候不用修改代码,直接新增;比如说一个computer新增一个light。工厂模式的类别工厂模式我们可以由简到难分为:简单工厂工厂方法抽象工厂简单工厂​ 抽象化产品,工厂中有逻辑加工用于具体判断生成哪一个产品,进行

2022-01-08 16:46:57 756

原创 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 1440 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 1604

原创 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 614

原创 大数据生态(十)集成部署遭遇问题(提前、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 2438

原创 大数据生态(五)SSH免密登陆

1启动SSH服务Linux自带SSH服务无需下载:在/usr/sbin/有一个文件为sshd,然后输入绝对路径usr/sbin/sshd即可开启ssh服务。然后输入命令netstat -tunlp|grep sshd查看开启情况:可以看到22号端口已经开启,证明我们SSH服务启动成功,22是SSH的默认端口号。2生成密钥对· 下载git;· 我们注意到免密登陆实际上是采用密钥登陆,方便验证,我们采用将真机(windows)生成密钥,发送公钥给虚拟机· 在windows的git(cmd也可以

2021-11-16 20:02:18 1886

原创 大数据生态(四)集群部署提前准备

目录文档方法无法永久关闭集群防火墙 查看防火墙状态 临时关闭防火墙 永久关闭 禁用透明页面压缩(Transparent Huge Pages),无效 原因 更改主机名 修改主机名 将主机名和ip绑定在一起 检测 创建群组和用户 设置ulimit参数 创建hadoop-hdfs目录 创建e3-info目录 .bash_profile配置 查看端口占用情况 时间同步问题 查看时间 同步时间 修改时区 安装ntpdate 关于e3base目录 文档方法无法永久关闭集群

2021-11-16 19:58:49 923

原创 大数据生态(三)二进制安装JDK和MySql

二进制安装JDK卸载自带的OpenJDKrpm -qa | grep java rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.252.b09-2.el7_8.x86_64 解压安装jdk到指定目录下ftp传输文件压缩包;tar -zxvf exmple.tar.gz解压安装即可配置java环境路径JAVA_HOME 你jdk安装路径即可vim /etc/profile #java environment export

2021-11-16 19:48:35 423

原创 自定义类加载器和双亲委托机制

类加载器简述类加载器继承加载类路径(引导)Bootstrap ClassLoader%JAVA_HOME%\jre\lib\下的jar(jre核心库)(扩展)ExtClassLoaderextends URLClassLoader%JAVA_HOME%\jre\lib\ext目录下的jar(应用)AppClassLoaderextends URLClassLoader加载当前引用的classpath的所有类*Bootstrap ClassLoader是由

2021-11-11 19:12:38 544

软件设计师历年真题及其答案解析(2012年-2018年全年)

软考,中级软件设计师,软件设计师历年真题及其答案解析(2012年-2018年全年),包含最新的2018年下半年,附软件设计师大纲一份。

2019-03-19

软件设计师第四版教程PDF(含大纲)

软件设计师第四版教程PDF,包含软件设计师考试大纲文件,软考,复习资料,高清优质资源。

2019-03-19

空空如也

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

TA关注的人

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