自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 资源 (6)
  • 收藏
  • 关注

原创 java使用Apache POI 操作word文档

我感觉最大的难点就是对Api的熟悉,需要看看源码或者文档。以及利用正则表达式对标题进行匹配。

2025-03-21 19:41:31 1081

原创 建模实战(流程借书)

之前已经完成部分建模设置文章地址。

2025-02-27 09:27:50 624

原创 eclogy后台运维笔记(写的很乱,只限个人观看)

这里有三个设置 空白 本级部门 如果选了上下级 本级部门反而没权限了!

2025-02-24 09:41:12 473

原创 泛微oa二开笔记(草稿)

随便建个类 主要是要继承接口类 重写父类的 excute 方法即可按照要求进行你需要的代码开发

2025-02-10 16:42:09 247

原创 oa二开问题

可能原因是办公电脑,硬件不行,用postman 测试过 api的响应时间很快的 用了hutool 和 oa客服封装的方法都进行了测试 还是不行 都是请求速度很慢。没注释掉: 20s。注释掉 发送请求的那一行: 2s-3s。

2025-02-10 16:04:52 305

原创 ecology9接口实现给第三方传输附件下载地址(无需token)

*第二种是走他写好的下载api ddcode这个参数得传 不然就要登录 **

2025-02-08 14:48:34 491 3

原创 Elasticsearch(ES)中 term与match之间的区别

ES

2022-08-09 18:13:15 1489

原创 Lua脚本基本使用

目录lua的安装:hello luaLua数据类型及使用Lua循环:Lua逻辑判断:Lua函数命名lua官网lua的安装:官网按照他的步骤来即可完成安装hello lua很简单,首先时建立一个lua结尾的脚本然后里面创建代码使用指令进行编译执行即可Lua数据类型及使用Lua循环:Lua逻辑判断:Lua函数命名...

2022-05-31 12:19:45 1733

转载 RabbitMQ高级特性

目录消息的可靠投递confirm 确认模式(针对生产者)return 退回模式(针对生产者)总结:Consumer Ack(针对消费者)手动确认:**Multiple 的解释**Ack小结:消息可靠性总结消费端限流**代码:**小结:TTL队列里面统一过期代码:单独消息过期时间:代码:注意!!:死信队列**基础架构图:**产生原因:代码实现:总结:延迟队列:消息的可靠投递confirm 确认模式(针对生产者)确认模式:步骤:1. 确认模式开启: publisher-confirm-type: c

2022-05-30 09:40:48 1423

原创 RabbitMQ基础

目录基本概念优势与劣势优势1:应用解耦2:异步提速3: 削峰填谷小结:劣势使用建议:常见MQ产品对比RabbitMQ基本介绍:rabbitmq基础架构图6种工作模式安装:图形界面Hello word 模式:Work 模式Pub/Sub模式代码小结:Routing 路由模式代码:通配符模式代码:总结:SpringBoot整合依赖:yaml:配置类:测试代码:基本概念优势与劣势优势1:应用解耦原系统的框架,这样的情况下如果要进行怎增加删除系统,需要对订单系统进行源码的修改。耦合性过高。优化后:

2022-05-27 08:36:45 775

转载 docker的基本使用

目录初识Docker产生背景:基本概念:Centos7安装dockerdocker基本架构:创建镜像:Docker基本命令:镜像常用命令:容器的使用命令:Docker数据卷作用:基本使用数据卷容器:数据卷容器的基本使用:总结:Docker 应用部署MySQL部署:Tomcat部署:Nginx部署:Redis部署:DockerFileDocker镜像的基本原理镜像制作容器转换为镜像**注意**DockerFile案列1:案列2:Docker服务编排:初识Docker产生背景:由于环境的不同可能导致你的项

2022-05-26 12:38:36 732

转载 Redsi-高级篇(分布式缓存)

目录分布式缓存Redis 持久化RDB持久化基本配置:异步底层原理:总结:AOF持久化:存放原理:基本配置:优化策略:RDB&AOF 两者对比:AOF&RDB混合模式:开启配置:基本原理:Redis 主从:如何搭建:数据同步原理:全量同步全量同步总结增量同步:避免全量同步:全量&增量总结:Redis 哨兵机制哨兵作用及原理:总结:哨兵集群的搭建:与Java进行联系Redis分片集群分片的原理:搭建分片集群:散列插槽散列插槽总结:建议看视频,指令过多,一般很少用到分片集群分布式缓存

2022-05-23 21:39:56 806

转载 Redis实际应用4

目录文章的推送Timeline模式拉模式推模式推拉结合模式三种模式的对比推模式的代码实现:看需求:选取的依据:原因解决:代码文章的推送由于智能排序需要算法等 ,该项目只能适用于最简单的Timeline模式Timeline模式拉模式实现思路:就是关注的对象发布了动态,粉丝在去他们的发件箱拉取出来,按时间进行排序,显示到自己的收件箱里面推模式实现思路:博主发布动态直接推给关注了自己的粉丝推拉结合模式实现思路:主要是区分普通粉丝和活跃粉丝,活跃的粉丝采取推的模式(因为拉的模式有延迟

2022-05-17 15:28:14 520

转载 Redis实际应用3

目录Redis优化秒杀原方案的问题流程图:存在的问题:解决方案流程图需求1:新增秒杀优惠券的同时,将优惠券信息保存到Redis中2:基于Lua脚本,判断秒杀库存、一人一单,决定用户是否抢购成功3:如果抢购成功,将优惠券id和用户id封装后存入阻塞队列4:开启线程任务,不断从阻塞队列中获取信息,实现异步下单功能总结Redis优化秒杀原方案的问题流程图:存在的问题:第一点: 这一项业务里面过多的访问了数据的,而数据库在处理并发的时候不是很行,影响性能。第二点: 该业务一条线执行,过于繁琐。列子:你

2022-05-16 12:53:30 304

转载 Redis实际应用2

目录全局唯一ID代码:全局唯一ID下订单 这种情况,如果采用数据库的自增,则会规律明显,所以采用手动的情况下生产id这是id的生产策略,代码:

2022-05-15 19:52:11 1706

转载 Redis实际应用1

目录前言前言该项目是黑马得免费项目 请官网领取 点我免费获取

2022-05-12 20:35:06 986

原创 开发项目小技巧

目录泛型的使用函数的使用泛型的使用背景:你在封装的时候需要根据传来的数据类型,来进行相应的操作实列:String json 转换成 对应的Object使用:函数的使用背景:你封装的方法,需要使用不同的方法来进行操作例子:比如你要从数据库里面获取数据,就得使用不同的service吧我们可以将调用函数这个方法抛给调用者来完成实列: public <T,ID> T getByID( ID id, Function<ID,T> function){

2022-05-12 20:17:43 444

转载 Redis基础(笔记)

目录与sql的比较redis的特征安装与sql的比较redis的特征安装看视频领取资料即可:

2022-05-07 14:56:56 235

转载 Java操作Redis

目录Jedisjedis快速入手jedis 线程池SpringDataRedsiRedisTemplate(不推荐)**第一步:**第二步编写测试序列化的问题出现的原因:解决方案:测试:StringRedisTemplate(推荐)针对 string,string得针对string,对象得Jedisjedis快速入手注意导入依赖:<dependency> <groupId>redis.clients</groupId>

2022-05-07 14:52:10 570

原创 Nginx详细攻略

目录Nginx的安装文件讲解:htmlconfig简单案列:现在 开始达到效果配置 nginx:正向与反向代理Nginx的安装安装参考我文件讲解:首先是 Nginx的重要目录的讲解:temple结尾的不是很重要暂时不看了html这个文件夹里面;index就是 你启动Nginx后的欢迎页面的html代码:50是erro是的页面代码config详细的解释 我怕这边推荐菜鸟教程的文档十分详细:我是菜鸟简单案列:首先是 修改 hosts文件路径:C:\Windows\System

2022-05-05 21:07:01 263

原创 红黑树删除详细图解,巨详细

目录写在前面删除的概念情况1删除的节点是叶子节点情况1.1叶子节点是红色情况1.2叶子节点是黑色**以下情况按我写出的顺序进行处理 有优先级的**情况1.2.1兄黑,右红侄情况1.2.2兄黑,左红侄情况1.2.3兄黑,双黑侄情况1.2.4 兄红情况2删除的节点有孩子节点2.1只有左孩子2.2只有右孩子2.3有两个孩子红黑树的生成网址点我写在前面图片的X 代变 删除的节点B 代表他的兄节点P代表父亲节点蓝色代表随便颜色未知可能是红色也可能是黑色删除的概念首先红黑树的删除,与正常的二叉查找树的删

2022-04-27 12:14:25 3351 6

转载 红黑树插入详解(转载)

目录性质:左旋与右旋插入情景1:红黑树为空树情景2:插入结点的Key已存在情景3:插入结点的父结点为黑结点情景4:插入节点的父节点为红色插入情景4.1:叔叔结点存在并且为红结点插入情景4.2:叔叔结点不存在或为黑结点,并且插入结点的父亲结点是祖父结点的左子结点插入情景4.2.1:新插入节点,为其父节点的左子节点(LL红色情况)插入情景4.2.2:新插入节点,为其父节点的右子节点(LR红色情况)插入情景4.3:叔叔结点不存在或为黑结点,并且插入结点的父亲结点是祖父结点的右子结点插入情景4.3.1:新插入节点,

2022-04-26 20:58:39 1287

原创 十分详细的HashMap 源码

目录前置知识重要变量的解释DEFAULT_INITIAL_CAPACITYMAXIMUM_CAPACITYDEFAULT_LOAD_FACTORTREEIFY_THRESHOLDUNTREEIFY_THRESHOLDMIN_TREEIFY_CAPACITY方法开始执行:无参构造创建:有参构建put方法putValue方法resize 初始化或加倍表大小split (扩容时将树进行拆分)untreeify(将节点变成链表)treeify(将节点变成树)treeifyBin(列表进行树化)总结:扩容的条件扩容对

2022-04-23 19:57:52 2983 5

原创 spring-BeanFactory与FactoryBean

目录两者区别:例子:总结为什么要加 &存放的位置补充总结:两者区别:BenaFacory:FactoryBean:在方法上factoryBean 简单许多例子:写好类:关于获取的方法:注意 获取那个 对象如果实现了factoryBean 需要加& 符号才能获取到而直接用name 则会获取到 你实现那个方法的类总结为什么要加 &源码:而我们执行完成后一级缓存里面放的是没有& 的;那为什么 取的时候需要进行加&原因是 取的时候

2022-04-11 21:38:23 470

原创 refresh下initApplicationEventMulticaster源码

目录方法大致前半部分:后半部分方法大致图片代码protected void initApplicationEventMulticaster() { // 获取当前bean工厂,一般是DefaultListableBeanFactory ConfigurableListableBeanFactory beanFactory = getBeanFactory(); // 判断容器中是否存在bdName为applicationEventMulticaster的bd,也就是说自定义的事件监听多

2022-04-08 17:11:58 209

原创 spring源码---refresh下registerBeanPostProcessors

目录方法图片源码执行分析方法图片源码执行分析此方法的内部执行与 上一个方法:invokeBeanFactoryPostProcessors的处理方式非常类似,都是遍历beanfactory里面 按照是否实现了BeanPostProcessor 然后 再根据 是否情况 分为了四种:接下来对所有的进行循环遍历进行分配:然后就是进行排序和注册:至于后面为什么又重复的代码主要是 因为 这两个的集合里面存放的是string后面的代码主要是 根据string 从beanfatory中获取

2022-04-08 11:01:25 449

原创 spring源码---refresh下invokeBeanFactoryPostProcessors详解

目录invokeBeanFactoryPostProcessorsinvokeBeanFactoryPostProcessors执行之前了解:记住 BeanDefinitionRegistryPostProcessor是BeanFactoryPostProcessor的子集这一点 记住 :BeanDefinitionRegistryPostProcessor 接口 自己又定义了一个方法:postProcessBeanDefinitionRegistry前面这一部分就是进行一些判断 建

2022-04-08 10:32:30 435

原创 spring源码Refresh--obtainFreshBeanFactory()详解

目录方法的入口:进入到方法里面:refreshBeanFactory()if-elsecreateBeanFactory()方法的入口:进入到方法里面:首先 进入到 refreshBeanFactory() 方法里面refreshBeanFactory()if-else这一个就是起到 刷新工程 如果你已经存在了工厂就给你清空 并关闭重新给你整一个。执行完后 执行后面的createBeanFactory()具体我就不点了 主要就是 创建DefaultListableBeanFact

2022-03-30 20:00:15 883

原创 spring源码----loadBeanDefinitions(DefaultListableBeanFactory)详解

目录方法图片:new XmlBeanDefinitionReader接着往下执行这四个方法:loadBeanDefinitions(XmlBeanDefinitionReader)loadBeanDefinitions(String...)loadBeanDefinitions(String)loadBeanDefinitions(String,@Nullable Set《Resource》)loadBeanDefinitions(Resource...)方法图片:首先执行第一个方法:new Xml

2022-03-30 19:55:29 1149

原创 spring源码--refresh下的prepareRefresh详解

目录首先是方法图片进入内部:initPropertySourcesgetEnvironment().validateRequiredProperties()首先是方法图片进入内部:前面四个没什么好说的 就是一些属性的设置 具体看注释往后执行 到initPropertySources进入里面就是个空的没有任何实现然后退出来 进入到这个方法:getEnvironment().validateRequiredProperties()点进去:再进去:第一个参数的就是个异常类 :往

2022-03-23 10:50:20 739

原创 spring-initPropertySources()与validateRequiredProperties的测试

目录测试之前:开始测试首先 实现initPropertySources创建自己的类开始执行initPropertySourcesvalidateRequiredProperties我的父亲文章为spring源码–refresh下的prepareRefresh详解请点击:测试之前:我们没实现 initPropertySources()的时候 走到validateRequiredProperties 时 属性值是这样的:可以看见size=0;开始测试首先 实现initPropertySourc

2022-03-23 10:21:51 916

原创 spring源码---ClassPathXmlApplicationContext-setConfigLocations(configLocations)详解

目录spring整体流程参考:类图:进入到setConfigLocations方法中:进入到Assert.noNullElements进入到resolvePath总结spring整体流程参考:暂未完成 有了第一时间更新类图:这是方法的入口进入到setConfigLocations方法中:进入到Assert.noNullElements意义看注释回到原方法:进入到resolvePath咱就不进去了哈这个方法 还是有实际应用的 :比如你的 xml 文件 交 zyc-${

2022-03-22 18:03:41 837

原创 spring源码---ClassPathXmlApplicationContext-super(parent)详解

目录spring整体流程参考:类图:一直调用super(parent)DefaultResourceLoader:回到AbstractApplicationContext回到AbstractApplicationContext返回到 AbstractRefreshableConfigApplicationContext返回到AbstractXmlApplicationContext然后结束回到ClassPathXmlApplicationContext总结:spring整体流程参考:暂未完成 有了第一

2022-03-22 13:08:46 315

原创 java设计模式——门面与调停

目录门面:应用调停应用:门面:就很简单 对于客户来说假如我需要 看病 :我要去挂号,交挂号费,选科,排队,看病,拍片,在看片,开药方,缴费,拿药。需要一连串的操作应用用了门面模式,就需要 搞个类 当门面 用户 找他 即可。大概就是 这样的图片:调停大概这样的图片:应用:实际的应用 :消息中间件,就是把消息传给他 他进行分配。...

2022-03-17 18:08:34 399

原创 java设计模式——策略模式

文章目录适用的场景实际列子:举列:抱歉 sort 方法里面的参数应该是类数组我的抱歉没改问题一 猫按体重排序:问题2:我要拓展 狗也可以按照体重排序问题 我再拓展 猫按照身高排序,狗按照年龄:调用:总结:适用的场景1、如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为。2、一个系统需要动态地在几种算法中选择一种。3、如果一个对象有很多的行为,如果不用恰当的模式,这些行为就只好使用多重的条件选择语句来实现。实际列子:jdk中的

2022-03-17 14:09:48 426

原创 spring 循环依赖 (仅供参考)

产生的场景 :A 中有B,B中有A,互相调用 导致循环 :

2021-12-04 18:28:23 1550

原创 java设计模式——代理模式(未完成)

文章目录静态代理动态代理cglib 代理静态代理图片:代理类的方法:优缺点:动态代理图片:代理类的方法;public class ProxyFactory { private Object target; public ProxyFactory(Object target) { this.target = target; } //给目标对象生成一个代理对象 public Object getProxyInstance() { // /* * pub

2021-11-24 15:22:26 116

原创 spring源码——finishBeanFactoryInitialization方法(暂未完成)

文章目录暂时记录有空添加

2021-11-18 18:22:12 416

原创 EasyExcel 的简单使用

文章目录首先是导包:导出操作:导入操作首先是导包:<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.1</version> </dependency>然后直接开始使用:导出操作:类:

2021-11-07 16:28:25 152

原创 OpenFeign 学习笔记

目录介绍:基本使用pom:yaml:主启动类;接口类:controller类:补充加强日志:首先配置一个类级别说明:然后 再配置yaml :介绍:与Ribbon 一样负责进行 服务调用的不过有区别ribbon 需要使用到RestTemplate 进行拼接 有点 麻烦openfeign 可以 使用一个service类进行调用具体使用看下面:官网基本使用pom:<!-- https://mvnrepository.com/artifact/org.springframework.

2021-10-28 15:50:05 392

Rabbitmq安装 教程

介绍了如何安装rabbitmq的详细步骤,保姆级别教程

2022-05-26

Nacos集群搭建的操作步骤

Nacos集群搭建的操作步骤

2022-07-31

Nacos的安装指南,详细介绍如何安装nacos

Nacos的安装指南,详细介绍如何安装nacos

2022-07-26

java BIO NIO AIO

java的bio nio aio 几种io的详细解释

2022-07-18

redis多级缓存搭建资料

redis多级缓存搭建资料

2022-05-31

消息中简介Rabbitmq集群搭建

消息中简介Rabbitmq集群搭建,详细介绍了如何进行集群的搭建

2022-05-30

空空如也

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

TA关注的人

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