- 博客(38)
- 收藏
- 关注
原创 Java 中 HashMap集合使用
HashMap是 Java 中的一个非常重要的类,它实现了Map接口,用于存储键值对(key-value pairs)。HashMap是基于哈希表的 Map 接口实现,它允许空键(null key)和空值(null value),并且不保证映射的顺序。
2024-11-02 21:31:21
545
原创 SpringBoot 集成 Activiti 7 工作流引擎
初始库表、定义、部署、操作任务代码创建测试类// 创建 ProcessEngine 对象// /**// * 初始化数据库表:第一种方式// */// @Test// }/*** 初始化数据库表* 通过读取 activiti.cfg.xml 配置文件*/@Test/*** 流程部署*/@Test// 创建 ProcessEngine 对象// 获取 repositoryService 对象// 进行部署。
2024-10-26 22:33:57
3424
1
原创 Activiti7 工作流引擎学习
Activiti 是一个开源的工作流引擎,用于业务流程管理(BPM它允许开发者以 BPMN 2.0 标准定义业务流程,通过 Activiti 的 API 将流程定义内容存储起来,并在 Activiti 执行过程中可以查询定义的内容。Activiti 执行把流程定义内容存储在数据库中,使得业务系统中的复杂业务流程可以被 Activiti 管理,从而提高系统的健壮性和减少系统开发维护成本。
2024-10-01 23:26:38
5507
原创 Java 中创建线程几种方式
在Java中,线程(Thread)是程序执行的最小单元,它允许程序在同一时间执行多个任务。Java中的线程可以由Thread类创建,也可以通过实现Runnable接口或Callable接口创建。: 线程对象已经被创建,但还没有调用start()方法。: 线程已经调用了start()方法,但还没有获得CPU时间片执行。可运行状态包括了操作系统线程的就绪(Ready)和运行(Running)状态。: 线程因为等待监视器锁而被阻塞,无法继续执行。: 线程通过调用wait()join()
2024-09-22 13:31:12
1335
原创 Java 中Lock接口锁的使用
在Java中, 接口是 包中的一部分,它提供了比 更丰富的锁操作。 接口的实现类包括 (可重入锁)、(读写锁) 等。 是 Java 中 包下的一个可重入锁实现。可重入锁意味着一个线程可以多次获得同一把锁,而不会产生死锁。
2024-09-21 23:07:01
2377
原创 Java 反射机制
Java 反射机制是Java语言的一个特性,它允许程序在运行时访问、检查和修改它自己的结构,例如类、接口、字段(成员变量)和方法。反射机制使得Java程序能够在运行时动态地创建对象、调用方法、改变字段值等,而不需要在编译时就知道具体的类信息。就是通过Class字节码文件获取对象信息、成员变量、构造、方法,还可以获取到父类中方法,私有方法等。
2024-09-10 19:17:59
1294
2
原创 Java 设计模式-状态模式
状态模式是一种,它允许一个对象在其内部状态改变时改变它的行为。对象看起来好像修改了它的类。状态模式把所有的与一个特定的状态相关的行为放到一个类中,并且将请求委托给当前状态对象来执行。在状态模式中,我们创建表示各种状态的对象和一个行为随状态对象改变而改变的Context对象。
2024-09-08 23:22:43
1838
原创 Java 设计模式-代理模式
代理模式(Proxy Pattern)是设计模式中的一种结构型模式,其核心思想是通过创建一个代理对象来间接访问实际对象(也称为主题对象),从而在不改变实际对象的前提下,为实际对象添加额外的功能或控制。代理模式根据实现方式可分:某个类必须有实现的接口,如果某个类没有实现接口,那么这个类就不能通过 JDK 产生动态代理了静态代理动态代理。
2024-09-05 23:35:50
2462
1
原创 Seata 分布式事务控制
Seata 是阿里巴巴和蚂蚁集团内部开发了分布式事务中间件,用于解决电商、支付、物流等业务场景中应用数据的一致性问题,2023 年 10 月,为了更好的通过社区驱动技术的演进,阿里和蚂蚁集团正式将 Seata 捐赠给 Apache 基金会。Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了和事务模式,为用户打造一站式的分布式解决方案。
2024-09-04 21:10:29
1206
原创 GIT 配置、下载、提交、更新、冲突解决
在更新代码时,为了避免没有提交的文件和服务器文件产生冲突,可以先把 本地修改暂存起来,在提交完后,再弹出本地修改,流程如下。修改下图中id为9490d07的提交, 通过git show查看到这个提交对文件README.md进行了修改。3.1.3 保存后弹出包含两次提交的提交信息如下:其中以#开始的内容时注释,不带#的是信息。然后弹出 rebase 的操作选项,如下图,把要修改的提交前的参数修改成e。Git会停止合并过程,并抛出冲突信息。保存后,弹出交互的提交信息界面,在这个界面里修改要提交的信息即可。
2024-08-31 05:30:00
1733
1
原创 数据库查询导致索引失效情况
查询age and classId and name时,(age,classId,name)索引比(age,classId)快。联合索引把频繁查询的列放左。索引(a,b,c),只能查(a,b,c),(a,b),(a)。如果主键不自增,需要查找目标位置再插入,并且如果目标位置所在数据页满了就必须得分页,造成性能损耗。计算例如where num+1=2,函数例如abs(num)取绝对值例如name=123,而不是name='123'。又例如使用了不同字符集。
2024-08-29 17:37:53
1824
原创 SpringBoot-读取配置文件方式
Spring Boot提供了多种灵活的方式来读取配置文件,以适应不同的开发和部署需求,SpringBoot启动的时候,读取配置文件的时候,首先获取的是file:/config/文件下的配置文件,也就是项目下config文件里面的配置文件,其次是file:./文件下,项目根目录下,然后是classpath:/config/,最后是classpath:/目录下,一般都使用的是最后一个。如图所示。
2024-08-28 16:24:46
2120
原创 Redis使用详解
HyperLoglog 是 Redis 重要的数据类型之一,它非常适用于海量数据的计算.统计,其特点是占用空间小,计算速度快。HyperLoglog 采用了一种基数估计算法,因此,最终得到的结果会存在一定范围的误差(标准误差为 0.81%)。每个 HyperLogLog key 只占用 12 KB 内存,所以理论上可以存储大约2^64个值,而 set(集合)则是元素越多占用的内存就越多,两者形成了鲜明的对比。
2024-08-24 05:00:00
1196
原创 数据库DML、DDL、DQL 、DCL语句详解
数据库DML、DDL、DQL 和 DCL 是数据库操作语言的四种主要类型,分别对应数据操纵、数据定义、数据查询和数据控制。
2024-08-22 11:12:30
2929
原创 数据库事务,全局锁、表锁、行锁详解
数据库事务(Database Transaction)是数据库管理系统执行过程中的一个逻辑单位,由一系列对数据的操作组成。事务是数据库维护数据一致性、完整性和原子性的重要机制。以下是数据库事务的几个关键特性,通常被称为ACID属性原子性(Atomicity): 事务中的所有操作要么全部完成,要么全部不完成,不会结束在中间某个点。如果事务中的某个操作失败,整个事务将被回滚到开始状态,就像这个事务从未发生过一样。一致性(Consistency): 事务必须保证数据库从一个一致的状态转移到另一个一致的状态。在事务
2024-08-21 16:30:56
1244
原创 AOP和IOC详解
在Java中,AOP(面向切面编程)和IoC(控制反转)是两种常见的设计模式,它们在现代Java应用程序中,尤其是在Spring框架中扮演着重要的角色,在软件工程中广泛应用的设计原则,特别是在企业级应用程序开发中。它们都旨在提高代码的模块化、可维护性和可扩展性。通过结合使用AOP和IoC,Spring框架提供了一种强大的方式来构建松耦合、易于测试和维护的应用程序。AOP允许开发者将业务逻辑与横切关注点分离,而IoC则简化了组件之间的依赖管理和配置。
2024-08-20 17:09:23
4546
原创 Java 中List列表转成子父集列表
在Java中,如果你有一个表示父子关系的列表,并且想要把这个列表转成一个子父集list列表树目录,一般来说想要把list列表转成一个子父集列表,这个对象需要在属性中必须要有几个字段,id(节点id)、parentId(指向父节点id)、children(子节点),通过三个字段可以组装成一个子父集列表目录。
2024-08-15 21:06:50
983
1
原创 nginx 详解
是由俄罗斯人发明的一款高性能的web服务器,它同早期的Apache,IIS,Lighttpd等都具有web服务器的功能,能够发布网站代码等资源,为用户提供信息资讯。但是nginx的功能不单单只是做为web服务器,它还可以用来做反向代理和负载均衡服务器,并且整体性能非常强大,在web前端服务器目前是企业的首选。Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
2024-08-14 10:53:30
800
原创 Java 设计模式-外观模式
外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用。
2024-08-02 08:30:13
406
原创 Java 设计模式-抽象工厂模式
抽象工厂模式为一个产品家族提供了统一的创建接口。当需要这个产品家族的某一系列的时候,可以从抽象工厂中选出相对应的系列来创建一个具体的工厂类别。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式
2024-07-31 12:38:20
1333
原创 Java 设计模式-工厂方法模式
工厂方法模式去掉了简单工厂模式中工厂方法的静态属性使得它可以被子类继承。这样在简单工厂模式里集中在工厂方法上的压力可以由工厂方法模式里不同的工厂子类来分担。工厂方法模式使用继承自抽象工厂角色的多个子类来代替简单工厂模式中的“顶级类”。这样便分担了对象创建的压力;避免工厂类中用逻辑判断来决定创建对象,而且这样使得结构变得相当灵活当有新的产品产生时,只要按照抽象产品角色、抽象工厂角色提供的规则来生成,那么就可以被客户使用,而不必去修改任何已有的代码,可以看出工厂方法模式符合开闭原则。
2024-07-30 12:49:15
1029
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人