- 博客(142)
- 收藏
- 关注
原创 【Poi-tl Documentation】区块对标签显示隐藏改造
最后就是用我们自定义的 CustomDefaultRender 了,因为 XWPFTemplate 构造函数是 private,不能使用继承的方式实现,最后我们通过反射的方式来处理,模拟 XWPFTemplate.compile(InputStream, Configure) 方法,通过反射的方式来创建 XWPFTemplate 并给属性赋值,renderer 使用我们自定会的 CustomDefaultRender。这次改造过程中涉及到的很多方法都是从原有的方法中赋值,改动的部分很少。
2024-03-16 23:01:55
2241
2
原创 【Poi-tl Documentation】自定义占位符来设置图片大小
【代码】【Poi-tl Documentation】自定义占位符来设置图片大小。
2024-03-16 22:57:20
1632
3
原创 【Poi-tl Documentation】自定义行删除标签
错误1:定制的占位符是!方法的时候就会发现 {{aaaaa}} 已经被删除了,才会报错。处理方案:就是对会报错的方法进行处理,我这里是进行了捕获。实现思路:通过定制占位符,然后将占位符所在的行进行删除。
2024-03-16 22:54:06
1027
4
原创 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
505
1
原创 1. Spring 源码:Spring 解析XML 配置文件,获得 Bena 的定义信息
通过 Debug 运行 XmlBeanDefinitionReaderTests 类的 withFreshInputStream() 的方法,调试 Spring 解析 XML 配置文件,获得 Bean 的定义。
2022-06-09 09:59:44
254
原创 0. Spring 基础
BeanDefinition 表示 Bean 定义:BeanFactoryBeanDefiniton、BeanFactory、Bean对象之间的关系?核心步骤
2022-06-08 18:47:41
177
原创 RabbitMq 消费失败,重试机制
方案一:本地消息表 + 定时任务本地消息表:主要用于存储 业务数据、交换机、队列、路由、次数定时任务:定时扫描本地消息表,重新给业务队列投递消息。方案二:利用 rabbitmq_delayed_message_exchange 插件 实现延迟队列具体思路:业务队列消费失败时,给延迟队列发送一条消息,消息包含业务数据、交换机、队列、次数、最大次数等,延迟队列收到消息后重新给业务队列投递消息。业务队列二次收到消息时,再次消费失败,校验最大次数,判断是否再次重试。...
2022-05-16 17:00:41
6883
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
3802
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
885
原创 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
1319
原创 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
3389
1
原创 《Java 高并发》05 线程的基本操作
volatile 与 Java 内存模型Java 内存模型都是围绕着原子性、有序性和可见性展开的。为了在适当的场合,确保线程间的原子性、有序性和可见性。Java 使用了一些特许的操作或者关键字来申明、告诉虚拟机,在这个地方,要尤其注意,不能随意变动优化目标指令。volatile 关键字就是其中之一。当用 volatile 去申明一个变量是,就等于告诉虚拟机,这个变量极有可能会被某些程序或者线程修改。为了确保这个变量被修改后,应用程序范围内的所有线程都能“看到”这个改动,虚拟机就必须采用一些特殊的手段,保
2021-05-18 17:10:15
176
原创 《Java 高并发》04 线程的基本操作
新建线程新建线程很简单。只要使用new 关键字创建一个线程对象,并且调用 start 方法启动线程。Thread t = new Thread();t.start();注意:run 方法不是用来启动线程。如果调用 run 方法它只会作为普通方法来执行,而不会开启线程执行。终止线程一般来说,线程在执行完毕后就会结束,无须手工关闭。但凡是都有例外。Thread 类提供了一个 stop 方法来终止线程。如果调用 stop 方法,就可以立即将一个线程终止。目前 stop 方法已经过期。因为 st
2021-05-06 16:48:39
155
原创 《Java 高并发》02 多线程的特性
多线程的三大特性:原子性、可见性和有序性。原子性原子性是指一个操作或者多个操作,一旦开始就不会被其他线程干扰,即使是在多个线程一起执行的情况下也不会被干扰。或者不执行。原子性主要是为了保证数据一致,线程安全问题。可见性可见性是指当一个线程修改了某一个共享变量的值,其他线程是否能够立即知道这个修改。对于串行程序来说,可见性问题是不存在的。因为你在任何一个操作步骤中修改了某个变量,那么后续的步骤中,读取这个变量的值一定是修改后的新值。对于并行程序来说就可能存在了。如果存在两个线程:线
2021-04-30 13:22:03
140
1
原创 《Java 高并发》01 高并发基本概念
## 基本概念### 同步和异步同步和异步通常是用来形容一次方法调用。同步方法调用一旦开始,调用者必须等到方法返回才能继续执行后续操作。异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。异步方法通常会在另外一个线程中"真实"执行,整个过程不会影响调用者的工作。举例:到了饭点,我们点外卖,下单成功之后等待外卖小哥送餐。这就是同步调用。不过,为了学习,我们在下单成功之后看了会《Java 从入门到放弃》书籍,边等待外卖小哥送餐。这就是异步调用。##
2021-04-29 15:40:16
221
原创 Shell一篇教会你写脚本
个人博客 :https://www.siyuan.run优快云:https://blog.youkuaiyun.com/siyuan微信小程序:思远Y概述Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 S.
2021-01-28 19:00:42
818
原创 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
191
原创 Ribbon 支持的9大负载均衡策略
个人博客 :https://www.siyuan.run优快云:https://blog.youkuaiyun.com/siyuan微信小程序:思远Y线性轮询策略: RoundRibbonRuleBaseLoadBalancer 负载均衡器默认采用线性负载轮询负载均衡策略。工作流程:RoundRibbonRule 类的 choose(ILoadBalancer Ib,Object key) 方法初始化一个计数器。incrementAndGetModulo() 方法获取一个下标 (是先加1,然后.
2020-12-29 00:25:03
1316
原创 Linux 安装 Nginx
个人博客 :Jacob’s blog优快云 :blog.youkuaiyun.com/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
340
原创 Linux 安装JDK
个人博客 :Jacob优快云 :blog.youkuaiyun.com/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
415
原创 设计模式 之 模板模式
项目源码:https://gitee.com/Jacob-gitee/DesignMode优快云 :http://jacob.org.cn女娲的失误工厂模式中讲了女娲造人的故事。人是造出来了,世界也热闹了,可是低头一看,都是清一色的类型,缺少关爱、仇恨、喜怒哀乐等情绪,人类的生命太平淡了,女娲一想,猛然一拍脑袋,忘记给人类定义性别了,那怎么办?抹掉重来,于是人类经过一次大洗礼,所有的人种都消灭掉了,世界又是空无一物,寂静而又寂寞。由于女娲之前的准备工作花费了非常大的精力,比如准备黄土、八卦炉等.
2020-08-20 14:18:09
204
原创 设计模式 之 抽象工厂模式
项目源码:https://gitee.com/Jacob-gitee/DesignMode优快云 :https://jacob.org.cn女娲的失误工厂模式中讲了女娲造人的故事。人是造出来了,世界也热闹了,可是低头一看,都是清一色的类型,缺少关爱、仇恨、喜怒哀乐等情绪,人类的生命太平淡了,女娲一想,猛然一拍脑袋,忘记给人类定义性别了,那怎么办?抹掉重来,于是人类经过一次大洗礼,所有的人种都消灭掉了,世界又是空无一物,寂静而又寂寞。由于女娲之前的准备工作花费了非常大的精力,比如准备黄土、八卦炉.
2020-08-19 15:21:22
261
原创 设计模式 之 单例模式
项目源码: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
430
原创 设计模式 之 工厂模式
女娲造人的故事项目源码:设计模式项目代码 东汉《风俗通》记录了一则神话故事:“开天辟地,未有人民,女娲搏黄土做人”,讲述的内容就是大家非常熟悉的女娲造人的故事。开天辟地之初,大地上并没有生物,只有苍茫大地,纯粹而洁净的自然环境,寂静而又寂寞,于是女娲决定创造一个新物种(即人类)来增加世界的繁荣,怎么制造呢? 别忘了女娲是神仙,没有办不到的事情,造人的过程是这样的:首先,女娲采集黄土捏成人的形状,然后放到八卦炉中烧制,最后放置到大地上生长,工艺过程是没有错的,但是意外随时都会发生: 第一
2020-08-17 21:05:25
245
原创 Vs Code:Remote SSH
Remote SSH 简介Remote - SSH 扩展允许您使用任何带有 SSH 服务器的远程计算机作为开发环境。由于几乎每个桌面和服务器操作系统都有可配置的 SSH 服务器,因此该扩展可以在各种情况下大大简化开发。您可以:在部署的同一操作系统上进行开发,或者使用比本地计算机更快更专业的硬件。在不同的远程开发环境之间快速切换,安全地进行更新,而不必担心影响本地计算机。从多台计算机或位置访问现有开发环境。调试运行在其他位置(如客户站点或云中)的应用程序。由于扩展程序直接在远程计算机上运行命
2020-08-13 17:08:12
1194
原创 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
586
原创 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
509
原创 【LeetCode】回文数
package leetcode.editor.cn;//判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 //// 示例 1: //// 输入: 121//输出: true// //// 示例 2: //// 输入: -121//输出: false//解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。// //// 示例 3: //// 输入: 10//输出: false//解释:
2020-07-02 10:09:45
222
原创 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
1470
原创 IntelliJ IDEA 刷题利器 LeetCode 插件
IntelliJ IDEA 刷题利器 LeetCode 插件IDEA整合LeetCode插件,可以在 IDEA 本地编辑代码并且运行提交,还能关联自己的账号,非常实用。 on project littlec-commo...
2020-06-03 12:56:04
3363
原创 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
13109
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
271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人