自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 (最新)itext7 freemarker动态模板转pdf

itext7 freemarker转pdf html转pdf

2024-04-11 14:51:14 578

原创 给金额加上千位分隔符(多种情况处理)

java添加千位分隔符

2024-03-20 10:50:35 458

原创 给女朋友的浪漫微信消息推送超详细版

地址:链接: https://pan.baidu.com/s/1IDYACU9cHbrP8H0n3OSAiA?pwd=96kp 提取码: 96kp根据 resources/db 下sql文件创建表修改yml文件中数据库连接。

2024-03-15 17:44:39 1005

原创 Springboot整合openoffice实现文件在线预览

Springboot整合apache openoffice实现文件在线预览,docx xlsx pptx

2023-04-08 11:22:56 2209 6

原创 SpringBoot MyBatisPlus多数据源

参考mybait-plus官方文档:https://baomidou.com/pages/a61e1b/#%E6%96%87%E6%A1%A3-documentation引入pom依赖:此处注意 还需要引入你的连接数据库的依赖<dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifact

2022-05-24 16:21:09 648

原创 Docker下部署ELK(7.8.0版本)

elastic拉取镜像:docker pull docker.elastic.co/elasticsearch/elasticsearch:7.8.0启动docker:docker run --name elasticsearch --net elastic -p 9200:9200 -p 9300:9300 -it docker.elastic.co/elasticsearch/elasticsearch:7.8.0启动报错:max virtual memory a

2022-05-23 09:12:40 632

原创 Centos8出现同步仓库 ‘AppStream‘ 缓存失败,忽略这个 repo。同步仓库 ‘base‘ 缓存失败,忽略这个 repo。

准备安装docker执行指令的时候出现了报错搜了很多文档 发现执行以下指令即可 (只适用于centos8)#先备份$ sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup$ sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.

2022-02-07 16:33:32 6397 17

原创 IDEA报错: Command line is too long. Shorten command line for xxx or also for spring boot deaflut confi

两个解决方法:方法一:找到该路径找到标签<componentname=“PropertiesComponent”>在标签里加一行< property name="dynamic.classpath" value="true" />方法二:应该下方提示的点击蓝色的链接,进入 EditConfiguration修改command line为JAR manifest即可...

2022-01-18 14:18:23 388

原创 Kafka学习笔记十一:kafka监控平台kafka-eagle的搭建和使用

1.下载压缩包Download - EFAK2.解压# tar -zxvf kafka-eagle-bin-2.0.9.tar.gz3.修改环境变量#路径为解压路径export KE_HOME=/usr/local/software/kafka-eagle-bin-2.0.9/efak-web-2.0.9export PATH=$PATH:$KE_HOME/bin让配置生效# source /etc/profile4.修改kafka-eagle的配置

2022-01-17 01:00:00 829 2

原创 Kafka学习笔记十:kafka优化

1.如何防止消息丢失发送方:使用同步发送,ack是1或者-1/all可以防止消息丢失,并且设置同步的分区数>=2(如果要做到99.9999%,ack设置成all,把min.insync.replicas配置成分区备份数) 消费方:把自动提交改为手动提交2.如何防止消息重复消费在消费者端解决消费的幂等性问题在mysql表中创建一个联合主键 使用分布式锁 redisson.lock()3.如何做到顺序消费发送方:将ack不能设置为0,关闭重试,使用同步发送,等到发送成功再发

2022-01-17 00:45:00 572

原创 Kafka学习笔记九:kafka集群中controller,rebalance,HW

1.controller集群中谁来充当controllerkafka集群中的broker在zookeeper中创建的临时序号节点,序号最小的节点(最先创建的节点)将作为集群的controller,负责管理整个集群中的所有分区和副本的状态当某个分区的leader副本出现故障时,由控制器负责为该分区选举新的leader副本 当检测到某个分区的ISR集合发生变化时,由控制器负责通知所有broker更新其元数据信息 当使用kafka-topics.sh脚本为某个topic增加分区数量时,同样还是由控

2022-01-17 00:00:00 217

原创 Kafka学习笔记八:Springboot集成kafka

1.导入依赖<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId></dependency>2.编写配置文件server: port: 8080#kafka配置spring: kafka: bootstrap-servers: 123.60.11

2022-01-15 00:45:00 338

原创 Kafka学习笔记七:消费者配置详解

1.长轮询poll消息默认情况下,消费者一次会poll条消息props.put(ConsumerConfig.MAX_POLL_RECORDS_CONFIG, 500);代码中设置了长轮询的时间是1000毫秒while (true){ /** * poll是拉取消息的长轮询 */ ConsumerRecords<String,String> records = consumer.poll(Duration.ofMillis(100

2022-01-15 00:00:00 4000

原创 Kafka学习笔记六:kafka消费者自动提交和手动提交

1.提交的内容:消费者无论时自动提交还是手动提交,都需要把所属的消费组+消费的某个主题+消费的某个分区及消费的偏移量,这样的信息提交到集群的_consumer_offset主题里面2.自动提交offset(偏移量):消息poll下来之后直接提交offset到_consumer_offset主题中自动提交会丢失消息:因为如果poll下来之后 还没有消费 然后马上提交了offset 提交上去以后消费者挂了3.手动提交offset:手动同步提交:消费完消息后,调用同步提交方法,当集

2022-01-13 00:30:00 4373 1

原创 Kafka学习笔记五:kafka生产者同步和异步

生产者同步发送:如果生产者发送消息没有收到ack,生产者会阻塞,阻塞时间为3s,如果还没有收到消息,则会进行重试,会进行3次重试ack三个配置:acks = 0:表示Producer不需要等待任何broker确认收到消息的回复,就可以继续发送下一条消息,性能高。最容易丢消息 acks = 1:至少要等待leader已经成功的将数据写入本地log.但是不需要等待素有的follower是否成功写入,就可以继续发送下一条消息这种情况下,如果follower没有成功备份数据,而此时le

2022-01-13 00:00:00 1693

原创 VMware16安装centos8不全屏解决办法(亲测)

1.将用户切换为root用户:$ su root2.输入密码后:将现登录账户添加到sudoers文件中# vim /etc/sudoers3.备份centos8原始更新源文件:# cd /etc/yum.repos.d/# mkdir centos-backup# mv CentOS* centos-backup/4.将centos8的更新源变更为阿里源:$ sudo wget -O /etc/yum.repos.d/CentOS-Base.repo

2022-01-12 15:56:07 1471

原创 VMware16新安装的centos8 SSH工具连接不上虚拟机

1.开启SSH服务$ service sshd start 2.重启之后开启SSH服务会失效所以再执行下这个$ chkconfig sshd on3.关闭掉虚拟机的防火墙$ systemctl disable firewalld4.重启虚拟机$ reboot还有连接的时候查看下主机的ip地址,刚开始我用的ifconfig查出来的一直连接不上 后来百度搜了搜说是用这个查$ ip addr...

2022-01-12 15:40:13 686

原创 Kafka学习笔记四:Java实现生产者消费者

java代码实现生产者和消费者

2022-01-12 01:00:00 193

原创 Kafka学习笔记三:kafka 单播和多播,broker,主题,分区,副本

1.单播消息如果多个消费者在同一个消费组,那么只有一个消费者可以收到订阅的topic中的消息./kafka-console-consumer.sh --bootstrap-server bigdata1:9092 --topic test --from-beginning --consumer-property group.id=testgroup12.多播消息不同的消费组订阅同一个topic,那么不同的消费组中只有一个消费者能收到消息。./kafka-console-con

2022-01-12 00:00:00 1635

原创 Kafka学习笔记二:kafka常用命令

1.创建topic# replication-factor 副本 # partitions 分区./kafka-topics.sh --zookeeper localhost:2181 --create --topic test --replication-factor 3 --partitions 22.发送消息./kafka-console-producer.sh --broker-list localhost:9092 --topic test3.消费消息 # 加了-

2022-01-11 10:26:58 373

原创 Kafka学习笔记一:Linux下安装运行kafka

1.安装需要JDK环境,先安装配置JDK上传jdk tar包 解压# tar -zxvf jdk-11.0.13_linux-x64_bin.tar.gz配置环境变量(注意JAVA_HOME的路径为解压路径)#set java envirinmentJAVA_HOME=/usr/local/software/jdk-11.0.13CLASSPATH=$JAVA_HOME/lib/PATH=$PATH:$JAVA_HOME/binexport PATH JAVA_HOME CLAS

2022-01-11 10:19:59 829 2

原创 RabbitMQ学习笔记九:SpringBoot集成RabbitMQ

一 创建springboot项目不选择依赖的话,也可以直接创建好项目后 再在pom.xml文件中导入依赖<!-- rabbitmq集成依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency>二.

2021-07-23 16:35:03 396

原创 RabbitMQ学习笔记八:Topic模型

Topic类型的Exchage与Direct相比,都是可以根据Routingkey把消息递交给不同的队列,只不过Topic类型的Exchage可以让队列在绑定Routingkey的时候使用通配符,这种模型的Routingkey一般都是又一个或多个单词组成,多个单词以“.”分割通配符的介绍:官网中这么说解释一下:如上图中的模型*.orange.* 意思就是Routingkey要由三个单词组成,中间必须为orange 例:user.orage.save*.*.rabbi...

2021-07-16 17:26:47 368 2

原创 RabbitMQ学习笔记七:Routing订阅模型

Routing订阅模型-Direct(直连):队列与交换机的绑定,不能是任意绑定了,而是需要指定一个Routingkey(路由key)消息的发送方在想Exchage发送消息时,也必须指定消息的RoutingkeyExchage不再把消息交给每一个绑定的队列,而是根据Routingkey进行判断,只有队列的Routingkey与消息的Routingkey完全一致,才会接收到消息上图模型中:P:生产者,向Exchage发送消息,发送消息时,会指定一个RoutingkeyX:Exc..

2021-07-13 21:35:18 308 3

原创 RabbitMQ学习笔记六:Fanout模型

Fanout广播模型:可以有多个消费者 每个消费者都有自己的队列(queue) 每个队列都要绑定到交换机(exchange) 生产者发送的消息,只能发送到交换机,交换机决定要发给哪个队列,生产者无法决定 交换机把消息发送给绑定过的所有队列 队列的消费者都能拿到消息,实现一条消息被多个消费者消费代码实现:1.创建生产者import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;impo...

2021-07-12 22:32:17 438 2

原创 RabbitMQ学习笔记五:Work模型

工作队列:也被称作为任务队列,让多个消费者绑定到一个队列,共同消费队列中的消息,队列中的消息一旦被消费,就会消失,因此任务是不会被重复执行的。在上图模型中,有以下概念:P:生产者,任务的发布者C1:消费者1,领取任务并完成任务C2:消费者2,领取任务并完成任务代码实现:1.创建生产者import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import utils.Rabbit...

2021-07-11 12:54:50 229

原创 RabbitMQ学习笔记四:连接工具类的封装

1.创建连接工具类import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;/** * 连接工具类 */public class RabbitMQUtils { private static ConnectionFactory factory; static { //类加载时

2021-07-11 11:32:37 468

原创 RabbitMQ学习笔记三:HelloWorld模型(直连模型)

在上图模型中,有以下概念:P:生产者,也就是要发送消息的程序C:消费者,消息接收者,会一直等待消息到来Queue:消息队列,图中红色部分,可以缓存消息,生产者向其中投递消息,消费者从中获取消息代码实现1.创建maven项目2.引入依赖<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</ar...

2021-07-10 16:01:35 190

原创 RabbitMQ学习笔记二:管理界面初识和管理命令行

一 管理命令行在RabbitMQ中不仅可以使用web界面管理,还可以使用一些linux指令去操作//服务启动相关命令systmctl start|restart|stop|status rabbitmq-server//管理命令行-用来在不使用web管理界面情况下使用rabbitmqrabbitmq help 可以查看更多命令//插件管理命令行rabbitmqplugins enable|list|disable|set二 web管理界面...

2021-07-10 14:06:18 182

原创 RabbitMQ学习笔记一:了解及在Linux下安装RabbitMQ(centos8)

中间件:通讯, 遵循规范,高可用,持久性RabbitMQ: 基于AMQP协议,erlang语言开发,高级消息队列协议,天生和spring框架有无缝的整合安装:1.首先确认要安装的rabbmq的版本和erlang的版本2.安装依赖(有些linux上面有,则不用安装)yum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java...

2021-07-08 23:27:48 327 3

原创 获取指定日期所在周的每一天的日期(周一,周二,周三,周四,周五到周末 )

最近项目用到,特此记录。public class Test { public static void main(String[] args) { System.out.println(getNeedDate()); System.out.println(getLastDayOfWeek(getNeedDate())); System.out.println(getFirstDayOfWeek(getNeedDate())); Stri

2021-06-01 17:18:11 1613

原创 最新Linux安装Mysql 8.0.23(centos8.0)

1.下载mysqlhttps://dev.mysql.com/downloads/mysql/2.解压文件//解压指令 **-C后面为指定的解压文件路径**[root@iZbp1521sz2xqeddijpr44Z lzl]# tar -zxvf mysql-8.0.23-linux-glibc2.12x86_64.tar.xz -C /home/zj解压时报错:解决办法://先执行指令[root@iZbp1521sz2xqeddijpr44Z local]# yum instal

2021-03-12 18:31:45 678 4

原创 最新Linux下安装redis6.0以上版本(centos8.0)

最近刚购买了一台阿里云最便宜的服务器,安装了一下,最新版本的redis,记录一下安装过程并分享给大家。废话不多说 开始!!!1.下载tar包https://redis.io/2.上传到linux并解压上传我用的是MobaXterm 也可以用xftp看你们啦 工具挺多的--解压到指定的目录 -c 后面是指定的路径 tar zxvf redis-6.2.1.tar.gz -C /home/zj 3.解压完成后进入目录4.安装gcc环境由于redis是由C语言编写的,它的运行需要C环

2021-03-11 18:10:22 388

原创 最新windows下正确安装node.js + vue-cli (踩坑)

1.下载安装包 http://nodejs.cn/download/2.安装 基本就是下一步下一步3.接下来配置Windows下的Nodejs npm路径是appdata,担心安装的node_modules越来越多,导致C盘满,所以将node_modules安装的默认目录修改一下。在安装目录下新建两个文件夹node_cache / node_global在安装目录中找到node_modules\npm.npmrc文件修改为:#prefix=${APPDATA}\npmpr

2020-09-19 00:20:36 1165

原创 IDEA连接mysql报错Access denied for user ‘‘@‘localhost‘ (using password: NO)

IDEA连接mysql报错Access denied for user ‘’@‘localhost’ (using password: NO)特别记录一下这个错误,网上的各种办法,我还重装了数据库。。。这个错误,有可能是你的pom.yml中的配置文件写错了,IDEA自动提示的是错误的spring: datasource: driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/lh

2020-07-12 11:44:42 1829

原创 zTree学习笔记1---zTree从零搭建(新手基础教程)

zTree – jQuery 树插件zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。可以做出来如下效果:一 使用前准备工作1 下载JQuery插件http://www.jq22.com/jquery-info122(要1.4版本以上的)2 下载zTree插件官网地址:http://www.treej...

2019-12-01 15:49:12 2054

原创 设计一个类ArrayBox,比数组灵活,不限制长度,提供增删改方法---新手勿喷!

//设计一个类 替代数组可以做的事情 能添加 删除 获取元素public class ArrayBox {//属性 最先的一个容量数组private static final int chang = 10;private int [] array ;private int size = 0; //记录数组中有效的元素个数public ArrayBox() { array = new...

2019-07-09 22:59:20 860 2

原创 使用Cookie做一个简单应用保存用户名---适合新手!

**后台页面**<%@ page language=“java” contentType=“text/html; charset=UTF-8”pageEncoding=“UTF-8”%>后台页面 <% String username = request.getParameter("username"); //新建一个cookie 也是键值对的模式 ...

2019-07-05 10:05:44 336

原创 使用application记录页面访问次数--适合新手!

<%//使用application是先网页的网站访问的次数 //1 要有一个变量计算页面的访问次数 //先把统计次数的变量拿出来 Object count = application.getAttribute("count"); if(count == null ){ //第一次访问 需要创建一个存储访问次数的变量 并将其放进application中 //第一次访问...

2019-07-04 21:51:45 1133

原创 使用JAVA画菱形,可以采用传参的方式灵活画出菱形---新手!

灵活使用JAVA画菱形package JiChuLianxi;/**灵活画菱形 啊哈哈哈哈@author Administrator*/public class Lianxi33 {public void doit(int a ) { //上半部分 for (int i = 1; i <= a; i++) { //控制行数 //画空格 ...

2019-06-25 13:43:09 641

空空如也

空空如也

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

TA关注的人

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