- 博客(135)
- 收藏
- 关注
转载 warm-flow国产工作流(新增办理人变量表达式和条件表达式支持spel)
warm-flow国产工作流(新增办理人变量表达式和条件表达式支持spel)-优快云博客
2024-11-13 09:42:38
106
原创 B+树(B+ Tree)
B+树(B+ Tree)是一种常用的数据结构,通常用于实现数据库索引。它是一种平衡树,具有以下特点: 1- 内部节点不存储数据,只存储键值用于索引。2- 叶子节点之间通过指针连接,形成有序链表便于范围查询。2- 每个节点的子节点数量在一定范围内,使得树的高度更低,提高检索效率。
2024-04-25 16:02:24
374
1
原创 B树(B-Tree)
B树(B-Tree)是一种多路搜索树,用于在磁盘上存储和查找数据。它具有以下特点: 1. 每个节点可以包含多个子节点,通常用于处理大量数据和磁盘存储。2. 每个节点中的键值按照升序排列,子节点的范围也由这些键值决定。3. B树的节点中至少包含 t-1 个键值(t 为树的最小度数),最多包含 2t-1 个键值。4. 所有叶子节点都在同一层,且不包含数据,用于存储实际数据的节点为内部节点。
2024-04-25 16:00:37
858
1
原创 AVL树(AVL Tree)
AVL树是一种自平衡的二叉搜索树,它具有以下特性:1. 每个节点的左子树和右子树的高度最多相差1(平衡性)。2. 每个节点存储一个平衡因子(Balance Factor),即其左子树的高度减去右子树的高度。AVL树通过旋转操作来保持树的平衡,包括左旋转、右旋转、左右旋转和右左旋转等操作。在插入和删除节点时,AVL树会根据节点的平衡因子进行调整,以保持树的平衡性。
2024-04-19 14:01:45
275
原创 红黑树(Red-Black Tree)
红黑树(Red-Black Tree)是一种自平衡的二叉查找树,它具有以下特性: 1. 每个节点要么是红色,要么是黑色。2. 根节点是黑色的。3. 每个叶子节点(NIL节点)是黑色的。4. 如果一个节点是红色的,则它的子节点必须是黑色的(反之不一定成立)。5. 从任一节点到其每个叶子节点的所有路径都包含相同数目的黑色节点。
2024-04-19 13:45:28
516
原创 平衡二叉树(Balanced Binary Tree)
平衡二叉树(Balanced Binary Tree)是一种特殊的二叉搜索树,它保持树的高度平衡,从而确保各种操作的时间复杂度始终为O(log n)。在平衡二叉树中,任何节点的左子树和右子树的高度差不超过1。
2024-04-15 09:09:45
382
1
原创 二叉搜索树(Binary Search Tree)
二叉搜索树(Binary Search Tree,BST)是一种常见的数据结构,它具有以下特点: 1. 每个节点最多有两个子节点,分别称为左子节点和右子节点。2. 对于每个节点,左子节点的值小于该节点的值,右子节点的值大于该节点的值。3. 中序遍历二叉搜索树可以得到一个有序的序列。
2024-04-15 09:09:18
255
原创 记录一次关于线程池任务编排和共享数据的尝试
线程的三种实现方法:(1)继承 Thread 类,重写run()方法;(2)实现 Runnable 接口,重写run() 方法;(3)实现 Callable 接口,重写call()方法;有返回值,会阻塞主线程。3、四个线程 A B C D,其中 D 要等到 A B C 全执行完毕后才执行,而且 A B C 是同步运行的。4、三个运动员各自准备,等到三个人都准备好后,再一起跑。2、A执行一部分,B执行完,A再执行剩下的部分。1、 线程间通信:A执行完,B才执行。
2024-04-12 16:23:34
392
原创 今天网上下载了几个webp格式的图片,想转换成png,下载的工具转换都收费,用Java怒写程序,自己转换
今天网上下载了几个webp格式的图片,想转换成png,下载的工具转换都收费,用Java怒写程序,自己转换,说干就干。这回心情舒畅,第一次感觉自己干的工作,用到了自己实际生活中,非常哇塞的程序员。
2024-04-10 15:40:36
1137
原创 Chrome强制改成什么模式?
强制启用实验性功能。在地址栏输入`chrome://flags/#enable-force-dark`并回车,然后搜索`Force Dark Mode for Web Contents`,将其设置为`Enabled`,最后点击“Relaunch”按钮重启浏览器。
2024-04-10 10:31:17
268
原创 给大家推荐一个用Java开发的开源的AI模型
easyAi: java傻瓜ai框架,无需任何算法知识,通过简单的api调用就可以实现 常用的图像内物体的识别,定位等图像ai服务,及自然语言分类处理服务。面向java开发程序员,不依赖任何第三方库,第三方接口,独立包。视频教程地址如下
2024-03-21 09:47:09
600
原创 今天同事开发遇到一个引用传递的问题?非常奇怪?为什么呢?
引用传递,如果是通过方法传入之后,想要对此对象进行重新赋值,也就是改变此对象的地址,那么我们可以通过这个方法的返回值的形式进行返回。今天同事正常开发中,发现一个很奇怪的问题,把一个对象传入到一个方法中,在方法中此对象被重新赋值(用=赋值),发现调用完之后,此对象依然是传入之前的状态,他很奇怪,就问我,我看了之后发现了问题所在。第二,引用传递,如果是通过方法传入之后,对此对象的属性进行重新赋值,此对象在调用完方法之后,此对象的属性会发生和方法中同样的变化,也就是引用传递起作用了。
2024-03-21 09:44:08
223
原创 mysqldump命令报错:Can‘t connect to local MySQL server through socket ‘/tmp/mysq解决办法
使用ln命令,把MySQL的安装路径的tmp下的mysql.sock文件做一个软连接,即可在执行mysqldump命令时不报上面的错误。ln -s /mysql的路径/tmp/mysql.sock /tmp/mysql.sock。
2024-03-11 11:25:34
778
原创 SpringBoot自带序列化工具Jackson如何做到序列化忽略某个字段,反序列化忽略某个字段???
今天开发项目时,遇到一个课题,基础类中存在两个分页字段page和rows,其他的类都继承了此基础类,这个分页数据是为了前端给后端传分页信息时使用,我们后端发送给前端的时候是属于无用字段,也是就是想序列化时忽略掉。# JsonProperty.Access.READ_ONLY 是反序列化忽略,字符串->Java对象的忽略。# JsonProperty.Access.WRITE_ONLY是序列化忽略,Java对象->字符串的忽略。这样就实现了,什么情况忽略什么字段。# 使用字段的注解进行处理。
2024-03-08 17:51:19
1843
原创 大量的数据,页面表格实现排序,后台怎么处理,才能保证效率
2、新增的时候,分三种,第一种是此表格没有数据,新增第一条数据时,2个字段的值都赋值1,第二种是此表格已经存在数据,选中其中一条数据,在此条之后增加数据,新增的数据的orderNo字段和选中的数据的orderNo相同,并且orderNoBk比选中的数据+1,其他的和选中数据的orderNo相同的数据的,并且orderNoBk比选中数据的大的数据,如果这种数据存在的话,orderNoBk字段+1进行更新,新增的数据做新增操作。我感觉最合理的方式就是用2个字段进行排序,能够效率的进行数据移动排序。
2024-01-26 17:43:22
663
1
原创 SpringBoot2整合了Rabbitmq以后,有些情景不需要初始化和连接Rabbitmq,所以需要怎么处理呢?
问题提出,最近有个需求,有的场合项目需要连接Rabbitmq,有些场合项目就不需要连接,再不需要连接的时候,还必须的安装Rabbimq服务,徒增时间消耗,所以需要处理一下。这样通过配置yml中的spring.rabbitmq.enable属性即可,如果设置成true是启用,如果设置成false是禁用。# 配置rabbitMq启用开关。
2024-01-26 16:33:52
1660
原创 Maven 的 spring-boot-maven-plugin 红色报错
2、给自己的maven的setting文件加工一下。1、想要处理此情况,在工具下面加上指定的版本号。然后重新打开idea或者maven更新一下。
2023-11-14 15:05:40
598
原创 设计模式-责任链模式
在Main类中,我们创建了处理器链,并将请求发送给链的第一个处理器。责任链模式可以帮助我们实现请求的处理流程的灵活性和可扩展性,每个处理器都可以选择处理请求或将请求传递给下一个处理器。2. 创建具体的处理器类,继承抽象处理器类,并实现处理请求的方法。在处理请求的方法中,可以选择将请求传递给下一个处理器或自行处理请求。1. 定义一个抽象处理器(Handler)类,其中包含一个指向下一个处理器的引用,并定义一个处理请求的方法。3. 在客户端代码中,创建处理器链,并将请求发送给链的第一个处理器。
2023-11-01 16:06:32
594
原创 设计模式-迭代子模式
在Main类中,我们创建了具体聚合对象的实例,并添加了一些元素。然后,我们通过调用聚合对象的createIterator()方法获取迭代子对象,并使用迭代子对象顺序访问聚合对象中的元素。迭代子模式是一种行为设计模式,它提供了一种访问和遍历聚合对象中各个元素的方法,而不需要暴露聚合对象的内部表示。迭代子模式将遍历聚合对象的责任交给了迭代子对象,从而实现了聚合对象和迭代子对象的解耦。迭代子模式是一种重要的设计模式,它可以帮助我们实现对聚合对象中元素的访问和遍历,同时保持聚合对象的封装性。
2023-11-01 15:49:36
418
原创 设计模式-访问者模式
在Main类中,我们创建了具体元素的实例,并创建了具体访问者的实例。然后,我们调用元素的accept()方法,并将访问者作为参数传递进去,从而实现了对元素的操作。它将操作封装在访问者对象中,使得可以在不同的对象上执行不同的操作,从而实现了操作和对象的解耦。访问者模式是一种行为设计模式,它允许你在不修改现有对象结构的情况下,定义新的操作。访问者模式通过将操作封装在一个访问者对象中,使得可以在不同的对象上执行不同的操作,从而实现了操作和对象的解耦。元素表示对象结构中的元素,访问者表示要对元素执行的操作。
2023-11-01 13:53:14
293
原创 设计模式-模板方法模式
在上面的示例中,AbstractClass是一个抽象类,定义了一个模板方法templateMethod(),以及一些抽象方法step1()和step3()。在Java中,模板方法模式通常由一个抽象类来实现,该抽象类定义了一个模板方法,该方法定义了算法的骨架,并调用了一系列的抽象方法或具体方法来完成算法的各个步骤。模板方法模式是一种行为设计模式,它定义了一个算法的骨架,将一些步骤的实现延迟到子类中。模板方法模式通过将算法的通用部分放在父类中,而将具体的实现细节留给子类来实现,从而实现代码的复用和扩展。
2023-11-01 13:51:38
387
原创 设计模式-状态模式
在上面的示例中,我们定义了一个状态接口State,并有两个具体状态类ConcreteStateA和ConcreteStateB,它们分别实现了状态接口的方法。然后,我们创建了一个环境类Context,它持有一个状态接口的引用,并提供了一个设置状态和执行请求的方法。该模式将对象的行为封装在不同的状态类中,使得对象可以根据当前状态来选择不同的行为。状态模式可以帮助我们实现对象的状态管理,使得对象的行为可以根据内部状态的改变而改变。3. 环境类(Context):持有一个状态接口的引用,用于调用具体的状态类。
2023-10-31 11:47:40
695
原创 设计模式-策略模式
在上面的示例中,我们定义了一个策略接口Strategy,并有两个具体策略类ConcreteStrategyA和ConcreteStrategyB,它们分别实现了策略接口的方法。然后,我们创建了一个环境类Context,它持有一个策略接口的引用,并提供了一个执行策略的方法executeStrategy()。在Main类中,我们创建了具体的策略对象,并将其传递给环境对象,然后调用executeStrategy()方法执行策略。3. 环境类(Context):持有一个策略接口的引用,用于调用具体的策略类。
2023-10-31 11:46:30
256
原创 设计模式-中介者模式
在这个示例中,我们定义了一个简单的中介者模式,其中Mediator接口表示中介者,ConcreteMediator类表示具体中介者,Colleague类表示同事类。在Main类中,我们创建了一个中介者对象、两个同事对象,并演示了它们之间的交互。中介者模式是一种行为设计模式,它通过将对象之间的交互委托给一个中介者对象来减少对象之间的直接耦合。同事类通过中介者对象来进行交互,而不是直接与其他同事类交互。2. 具体中介者类(Concrete Mediator):它是中介者接口的具体实现,负责协调对象之间的交互。
2023-10-24 11:38:48
328
原创 设计模式-命令模式
在这个示例中,我们定义了一个简单的命令模式,其中Receiver类表示接收者,ConcreteCommand类表示具体命令,Invoker类表示调用者。在Main类中,我们创建了一个接收者对象、一个具体命令对象和一个调用者对象,并演示了如何执行命令。命令模式是一种行为设计模式,它将请求封装成一个对象,从而允许您根据不同的请求将客户端参数化,并将请求排队或记录日志,以及支持可撤销的操作。2. 具体命令类(Concrete Command):它是命令接口的具体实现,封装了执行特定操作的代码。
2023-10-24 11:35:28
291
原创 设计模式-备忘录模式
这个示例中,Originator类表示需要保存状态的对象,Memento类表示备忘录对象,Caretaker类负责保存和恢复备忘录。在Main类中,我们创建了一个Originator对象和一个Caretaker对象,并演示了如何保存和恢复对象的状态。备忘录模式是一种行为设计模式,它允许在不破坏封装的情况下捕获和恢复对象的内部状态。该模式通常用于需要保存和恢复对象状态的情况,例如撤销操作或错误恢复。它可以创建一个备忘录对象来保存当前状态,并可以使用备忘录对象来恢复先前的状态。
2023-10-23 10:51:11
220
原创 设计模式-解释器模式
我们使用了终结符表达式(TerminalExpression)和非终结符表达式(Non-terminalExpression)来表示语法规则,并使用上下文(Context)来传递输入。3. 非终结符表达式(Non-terminal Expression):它是抽象表达式的子类,表示语法规则中的非终结符,即可以进一步解释的复合单元。通常会有多个具体表达式类继承或实现它。2. 终结符表达式(Terminal Expression):它是抽象表达式的子类,表示语法规则中的终结符,即不再可以进一步解释的最小单元。
2023-10-23 10:48:22
172
原创 抽象类和接口的区别
根据具体的需求和设计目的,选择合适的抽象类或接口来实现代码的抽象和封装。接口使用interface关键字定义,只能包含抽象方法和常量的声明,不能包含方法的实现。4. 默认实现:抽象类可以提供具体方法的实现,子类可以直接继承和使用这些方法。接口只能声明方法,不能提供默认实现,实现接口的类必须实现接口中声明的所有方法。6. 使用场景:抽象类适用于具有共同特征和行为的类之间的继承关系,它可以提供一些通用的方法和属性。抽象类的构造函数用于初始化抽象类的成员变量,而接口没有成员变量,因此不需要构造函数。
2023-10-20 15:45:21
116
原创 设计模式-组合模式
在这个示例中,Component是抽象类或接口,定义了组合对象和叶子对象的共同行为。Leaf类是叶子类,实现了Component接口,并表示组合中的叶子对象。3. 创建一个组合类(Composite),实现了Component接口,并表示组合中的组合对象。组合对象可以包含其他组合对象或叶子对象。1. 创建一个抽象类或接口(Component),定义了组合对象和叶子对象的共同行为。组合对象可以包含其他组合对象或叶子对象。2. 创建一个叶子类(Leaf),实现了Component接口,并表示组合中的叶子对象。
2023-10-20 15:34:37
371
Redis7.0.11版本安装包
2024-03-15
dbeaver-ce-21.1.0版本安装包
2024-03-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人