自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Poi-tl Documentation】区块对标签显示隐藏改造

最后就是用我们自定义的 CustomDefaultRender 了,因为 XWPFTemplate 构造函数是 private,不能使用继承的方式实现,最后我们通过反射的方式来处理,模拟 XWPFTemplate.compile(InputStream, Configure) 方法,通过反射的方式来创建 XWPFTemplate 并给属性赋值,renderer 使用我们自定会的 CustomDefaultRender。这次改造过程中涉及到的很多方法都是从原有的方法中赋值,改动的部分很少。

2024-03-16 23:01:55 1265

原创 【Poi-tl Documentation】自定义占位符来设置图片大小

【代码】【Poi-tl Documentation】自定义占位符来设置图片大小。

2024-03-16 22:57:20 514 1

原创 【Poi-tl Documentation】自定义行删除标签

错误1:定制的占位符是!方法的时候就会发现 {{aaaaa}} 已经被删除了,才会报错。处理方案:就是对会报错的方法进行处理,我这里是进行了捕获。实现思路:通过定制占位符,然后将占位符所在的行进行删除。

2024-03-16 22:54:06 440

原创 Linux 安装 Jenkins

大体意思:hudson/WebAppMain是由最新版本的Java Runtime(类文件版本55.0)编译的,当前版本的Java Run 只识别52.0以下的类文件版本,v52是java8,v55是java11,也就是说jdk 版本 和jenkins 版本不对。通过官网查看版本对应关系:https://get.jenkins.io/war-stable/ 连接直达。**遇到的问题1:**cat ./logs/localhost.2023-04-26.log 日志信息。

2023-04-27 17:05:37 445 1

原创 Linux 安装 Maven

【代码】Linux 安装 Maven。

2023-04-27 17:03:32 393

原创 Linux 安装 Tomcat

【代码】Linux 安装 Tomcat。

2023-04-27 17:01:22 408

原创 Linux 安装JDK

【代码】Linux 安装JDK。

2023-04-27 17:01:00 75

原创 SpringBoot + mybatis-plus 实现多数据源

SpringBoot + mybatis-plus 实现多数据源。

2022-10-25 15:20:25 1190

原创 1. Spring 源码:Spring 解析XML 配置文件,获得 Bena 的定义信息

通过 Debug 运行 XmlBeanDefinitionReaderTests 类的 withFreshInputStream() 的方法,调试 Spring 解析 XML 配置文件,获得 Bean 的定义。

2022-06-09 09:59:44 190

原创 0. Spring 基础

BeanDefinition 表示 Bean 定义:BeanFactoryBeanDefiniton、BeanFactory、Bean对象之间的关系?核心步骤

2022-06-08 18:47:41 143

原创 RabbitMq 消费失败,重试机制

方案一:本地消息表 + 定时任务本地消息表:主要用于存储 业务数据、交换机、队列、路由、次数定时任务:定时扫描本地消息表,重新给业务队列投递消息。方案二:利用 rabbitmq_delayed_message_exchange 插件 实现延迟队列具体思路:业务队列消费失败时,给延迟队列发送一条消息,消息包含业务数据、交换机、队列、次数、最大次数等,延迟队列收到消息后重新给业务队列投递消息。业务队列二次收到消息时,再次消费失败,校验最大次数,判断是否再次重试。...

2022-05-16 17:00:41 5826 2

原创 RabbitMQ Management:Management API returned status code 500

错误显示:解决方案:因为是使用docker 容器安装的,所有需要进入容器docker exec -it rabbitmq /bin/bash进入目录cd /etc/rabbitmq/conf.d/执行命令echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf退出容器exit重启rabbitmqdocker resta

2022-05-13 11:56:42 3651 5

原创 Spring 定时任务动态管理

Spring 定时任务动态管理pom.xml<properties> <hutool.version>5.6.6</hutool.version> <lombok.version>1.18.20</lombok.version> <spring-boot.web.version>2.2.10.RELEASE</spring-boot.web.version></properties><

2022-04-28 16:29:06 746

原创 Docker 搭建 ELK 日志系统,并通过 Kibana 查看日志

Docker 搭建 ELK 日志系统,并通过 Kibana 查看日志docker-compose.ymlversion: '3'services: elasticsearch: image: elasticsearch:7.7.0 #镜像 container_name: elasticsearch #定义容器名称 restart: always #开机启动,失败也会一直重启 environment: - "cluster.name=elastics

2022-04-23 00:51:36 1190

原创 Spring常用的的注解对应xml配置详解

@Component(value="")注解:组件标记在类上,也可以放在接口上注解作用:把AccountDao实现类对象交由Spring IOC容器管理相当于XML配置文件中的Bean标签<bean id="userAnnonMapper" class="com.spring.mapper.UserAnnonMapperImpl"></bean>注解Value属性:相当于bean标签id,对象在IOC容器中的唯一标识,可以不写,默认值是当前类首字母缩写的类名。注入时

2021-12-20 12:46:02 3112 1

原创 《Java 高并发》05 线程的基本操作

volatile 与 Java 内存模型Java 内存模型都是围绕着原子性、有序性和可见性展开的。为了在适当的场合,确保线程间的原子性、有序性和可见性。Java 使用了一些特许的操作或者关键字来申明、告诉虚拟机,在这个地方,要尤其注意,不能随意变动优化目标指令。volatile 关键字就是其中之一。当用 volatile 去申明一个变量是,就等于告诉虚拟机,这个变量极有可能会被某些程序或者线程修改。为了确保这个变量被修改后,应用程序范围内的所有线程都能“看到”这个改动,虚拟机就必须采用一些特殊的手段,保

2021-05-18 17:10:15 126

原创 《Java 高并发》04 线程的基本操作

新建线程新建线程很简单。只要使用new 关键字创建一个线程对象,并且调用 start 方法启动线程。Thread t = new Thread();t.start();注意:run 方法不是用来启动线程。如果调用 run 方法它只会作为普通方法来执行,而不会开启线程执行。终止线程一般来说,线程在执行完毕后就会结束,无须手工关闭。但凡是都有例外。Thread 类提供了一个 stop 方法来终止线程。如果调用 stop 方法,就可以立即将一个线程终止。目前 stop 方法已经过期。因为 st

2021-05-06 16:48:39 103

原创 《Java 高并发》02 多线程的特性

多线程的三大特性:原子性、可见性和有序性。原子性原子性是指一个操作或者多个操作,一旦开始就不会被其他线程干扰,即使是在多个线程一起执行的情况下也不会被干扰。或者不执行。原子性主要是为了保证数据一致,线程安全问题。可见性可见性是指当一个线程修改了某一个共享变量的值,其他线程是否能够立即知道这个修改。对于串行程序来说,可见性问题是不存在的。因为你在任何一个操作步骤中修改了某个变量,那么后续的步骤中,读取这个变量的值一定是修改后的新值。对于并行程序来说就可能存在了。如果存在两个线程:线

2021-04-30 13:22:03 103 1

原创 《Java 高并发》01 高并发基本概念

## 基本概念### 同步和异步同步和异步通常是用来形容一次方法调用。同步方法调用一旦开始,调用者必须等到方法返回才能继续执行后续操作。异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。异步方法通常会在另外一个线程中"真实"执行,整个过程不会影响调用者的工作。举例:到了饭点,我们点外卖,下单成功之后等待外卖小哥送餐。这就是同步调用。不过,为了学习,我们在下单成功之后看了会《Java 从入门到放弃》书籍,边等待外卖小哥送餐。这就是异步调用。##

2021-04-29 15:40:16 158

原创 Shell一篇教会你写脚本

个人博客 :https://www.siyuan.runCSDN:https://blog.csdn.net/siyuan微信小程序:思远Y概述Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 S.

2021-01-28 19:00:42 544

原创 Mysql 字符操作函数相关

常用的字符串函数:函数说明CONCAT(s1,s2,...)返回一个或多个待拼接的内容,任意一个为NULL则返回值为NULL。CONCAT_WS(x,s1,s2,...)返回多个字符串拼接之后的字符串,每个字符串之间有一个x。SUBSTRING(s,n,len)、MID(s,n,len)两个函数作用相同,从字符串s中...

2020-12-29 20:42:45 152

原创 Ribbon 支持的9大负载均衡策略

个人博客 :https://www.siyuan.runCSDN:https://blog.csdn.net/siyuan微信小程序:思远Y线性轮询策略: RoundRibbonRuleBaseLoadBalancer 负载均衡器默认采用线性负载轮询负载均衡策略。工作流程:RoundRibbonRule 类的 choose(ILoadBalancer Ib,Object key) 方法初始化一个计数器。incrementAndGetModulo() 方法获取一个下标 (是先加1,然后.

2020-12-29 00:25:03 1224

原创 Linux 安装 Nginx

个人博客 :Jacob’s blogCSDN :blog.csdn.net/siyuan微信小程序:搜索Jacob 博客安装时使用到的命令:tar:源文件-z:解压缩-xvf:解压显示过程eg:tar -zxvf nginx-1.18.0.tar.gz./configure:是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。一般用来生成Makefile,为下一步的编译做准备,你可以通过在./configur.

2020-10-24 12:41:03 266

原创 Linux 安装JDK

个人博客 :JacobCSDN :blog.csdn.net/jacob微信小程序:搜索Jacob 博客安装时使用到的命令:cd:切换目录。eg:cd /mkdir:创建目录。eg:mkdir jacob 创建单极目录``mkdir -p jacob/jdk` 创建多级目录tar:源文件3.1 -z:解压缩3.2 -xvf:解压显示过程eg:tar -zxvf jdk-8u261-linux-x64.tar.gzvi:编辑文件eg:vi /etc/profil.

2020-10-20 09:07:57 252

原创 设计模式 之 模板模式

项目源码:https://gitee.com/Jacob-gitee/DesignModeCSDN :http://jacob.org.cn女娲的失误工厂模式中讲了女娲造人的故事。人是造出来了,世界也热闹了,可是低头一看,都是清一色的类型,缺少关爱、仇恨、喜怒哀乐等情绪,人类的生命太平淡了,女娲一想,猛然一拍脑袋,忘记给人类定义性别了,那怎么办?抹掉重来,于是人类经过一次大洗礼,所有的人种都消灭掉了,世界又是空无一物,寂静而又寂寞。由于女娲之前的准备工作花费了非常大的精力,比如准备黄土、八卦炉等.

2020-08-20 14:18:09 179

原创 设计模式 之 抽象工厂模式

项目源码:https://gitee.com/Jacob-gitee/DesignModeCSDN :https://jacob.org.cn女娲的失误工厂模式中讲了女娲造人的故事。人是造出来了,世界也热闹了,可是低头一看,都是清一色的类型,缺少关爱、仇恨、喜怒哀乐等情绪,人类的生命太平淡了,女娲一想,猛然一拍脑袋,忘记给人类定义性别了,那怎么办?抹掉重来,于是人类经过一次大洗礼,所有的人种都消灭掉了,世界又是空无一物,寂静而又寂寞。由于女娲之前的准备工作花费了非常大的精力,比如准备黄土、八卦炉.

2020-08-19 15:21:22 197

原创 设计模式 之 单例模式

项目源码:https://gitee.com/Jacob-gitee/DesignMode个人博客:https://jacob.org.cn宗旨    Ensure a class has only one instance,and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。)一个皇帝原则    皇帝每天要上朝接待臣子、处理政务,臣子每天要叩拜皇帝,皇帝只能有一个,也就是一个类只能产生一个对.

2020-08-18 09:33:50 371

原创 设计模式 之 工厂模式

女娲造人的故事项目源码:设计模式项目代码​ 东汉《风俗通》记录了一则神话故事:“开天辟地,未有人民,女娲搏黄土做人”,讲述的内容就是大家非常熟悉的女娲造人的故事。开天辟地之初,大地上并没有生物,只有苍茫大地,纯粹而洁净的自然环境,寂静而又寂寞,于是女娲决定创造一个新物种(即人类)来增加世界的繁荣,怎么制造呢?​ 别忘了女娲是神仙,没有办不到的事情,造人的过程是这样的:首先,女娲采集黄土捏成人的形状,然后放到八卦炉中烧制,最后放置到大地上生长,工艺过程是没有错的,但是意外随时都会发生:​ 第一

2020-08-17 21:05:25 195

原创 Vs Code:Remote SSH

Remote SSH 简介Remote - SSH 扩展允许您使用任何带有 SSH 服务器的远程计算机作为开发环境。由于几乎每个桌面和服务器操作系统都有可配置的 SSH 服务器,因此该扩展可以在各种情况下大大简化开发。您可以:在部署的同一操作系统上进行开发,或者使用比本地计算机更快更专业的硬件。在不同的远程开发环境之间快速切换,安全地进行更新,而不必担心影响本地计算机。从多台计算机或位置访问现有开发环境。调试运行在其他位置(如客户站点或云中)的应用程序。由于扩展程序直接在远程计算机上运行命

2020-08-13 17:08:12 1056

原创 windows 中搭建Zookeeper的搭建

下载[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xZGjAqOY-1596444682652)(C:\Users\Jacob\AppData\Roaming\Typora\typora-user-images\1596440399866.png)]下载地址: https://mirrors.cnnic.cn/apache/zookeeper/PS:zookeeper 从3.5.5以后的版本带有bin标识的包,否则启动的时候会报错:“ 错误: 找不到或无法加载主类or

2020-08-03 16:52:17 525

原创 cron 表达式详解

cron表达式详解Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:(1) Seconds Minutes Hours DayofMonth Month DayofWeek Year(2)Seconds Minutes Hours DayofMonth Month DayofWeek一、结构corn从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份二、各字段的含义字段允许值允许的特殊字

2020-07-06 09:55:22 391

原创 【LeetCode】回文数

package leetcode.editor.cn;//判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 //// 示例 1: //// 输入: 121//输出: true// //// 示例 2: //// 输入: -121//输出: false//解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。// //// 示例 3: //// 输入: 10//输出: false//解释:

2020-07-02 10:09:45 171

原创 RestTemplate 发送 Https 请求调用

RestTemplate 发送 Https 请求调用个人博客:https://jacob.org.cnimport org.apache.http.conn.ssl.NoopHostnameVerifier;import org.apache.http.conn.ssl.SSLConnectionSocketFactory;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.clien

2020-07-02 10:03:54 1441

原创 IntelliJ IDEA 刷题利器 LeetCode 插件

IntelliJ IDEA 刷题利器 LeetCode 插件IDEA整合LeetCode插件,可以在 IDEA 本地编辑代码并且运行提交,还能关联自己的账号,非常实用。![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9wbmcvMTQ0NTU2OC8xNTkyMzg2NjE5OTIzLTExNmJlZmRlLTJkZTEtNDVhOS1hMGYzLTVjNWFkNTQxMmFi

2020-06-22 21:47:54 25781 8

原创 【LeetCode】两数之和

package leetcode.editor.cn;//给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 //// 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 //// //// 示例: //// 给定 nums = [2, 7, 11, 15], target = 9////因为 nums[0] + nums[1] = 2 + 7 = 9//所以返回 [0, 1]//

2020-06-22 21:46:30 214

原创 【LeetCode】整数反转

package leetcode.editor.cn;//给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 //// 示例 1: //// 输入: 123//输出: 321// //// 示例 2: //// 输入: -123//输出: -321// //// 示例 3: //// 输入: 120//输出: 21// //// 注意: //// 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 −

2020-06-22 21:43:25 163

原创 使用 Spring Cloud 实现微服务系统

使用 Spring Cloud 实现微服务系统准备工作:为了方便创建项目,以及各版本以来关系,此次创建项目使用 Spring Assistant插件。创建单体服务中心项目启用服务端的服务注册,发现功能@EnableEurekaServer@SpringBootApplicationpublic class Eur...

2020-06-21 13:14:30 278

原创 jacoco-maven-plugin:prepare-agent

jacoco-maven-plugin:prepare-agent[ERROR] Failed to execute goal org.jacoco:jacoco-maven-plugin:0.7.7.201606060606:prepare-agent (default-cli) on project littlec-commo...

2020-06-03 12:56:04 3131

原创 Could not autowire. No beans of 'JavaMailSender' type found..md

Could not autowire. No beans of 'JavaMailSender' type found.导入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>...

2020-06-01 15:20:04 11867 5

原创 LInux 命令大全

开关机reboot:重启shutdown -h 0 或者init 0 :关机halt:关机poweroff:关机文件的操作ll:显示文件夹详细信息ls:显示文件目录mkdir fileName:创建目录mkdir -p fileName/fileName:目录cd filename:切换目录rmdir...

2020-05-02 06:59:49 210

空空如也

空空如也

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

TA关注的人

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