自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 低代码平台中脚本引擎Nashorn的应用

在这样的背景下,脚本引擎的作用变得尤为重要,因为它可以帮助实现定制化的业务逻辑。Java 8 的 Nashorn 脚本引擎就是一个很好的工具,可以用来在低代码平台上实现灵活的脚本处理。通过上述的安全策略,可以有效地减少潜在的风险,使 Nashorn 在低代码平台中的应用更加可靠和安全。Nashorn 是 Java 8 中引入的一个高性能的 JavaScript 引擎,它允许在 Java 应用程序中执行 JavaScript 代码,并且可以无缝调用 Java 类和方法。

2024-09-13 07:00:00 354

原创 AGPL-3.0 License:全面解析与商用指南

AGPL 3.0因其在网络服务方面的独特要求而受到关注。然而,在将其应用于商业场景时,仍然需要谨慎行事,确保遵守所有规定并维护良好的合作关系。通过理解和遵守AGPL 3.0的规定,我们可以更好地利用开源的力量,推动技术的发展。在使用AGPL 3.0授权的软件时,保持透明度、尊重知识产权,并在必要时寻求专业法律意见,都是确保合法合规的关键步骤。

2024-09-12 07:00:00 1195

原创 Apache License 2.0 和 MIT License 区别

适合那些需要更详细保护措施的项目,特别是涉及到专利技术和需要更严格的商标保护的情况。则因其简洁性而受到欢迎,适用于希望快速启动项目并吸引更多贡献者的开发者。选择哪种许可证取决于项目的具体需求、开发者的目标以及希望达到的效果。在选择之前,理解每种许可证的细节是非常重要的。

2024-09-11 07:00:00 571

原创 MIT License:全面解析与商用指南

MIT License因其简洁性和灵活性而在开源社区中广受欢迎。然而,在将其应用于商业场景时,仍然需要谨慎行事,确保遵守所有规定并维护良好的合作关系。通过理解和遵守MIT License的规定,我们可以更好地利用开源的力量,推动技术的发展。在使用MIT License授权的软件时,保持透明度、尊重知识产权,并在必要时寻求专业法律意见,都是确保合法合规的关键步骤。

2024-09-10 07:00:00 745

原创 flowable process .. still waiting for ShareLock on transaction .. after ..

同时还发新另外一个日志:Process holding the lock: 3378124. Wait queue: 3376671:这条信息提供了更具体的细节,说明当前持有锁的进程ID是3378124,而等待队列中有至少一个进程(3376671)正在等待获取锁。后面经过排查,发现是在任务监听中用了同步的 http请求超时导致的,应该是超时后导致事务被锁,进而出现慢的问题。

2024-09-09 08:46:34 183

原创 Apache License 2.0:全面解析与商用指南

Apache License 2.0因其灵活性和开放性而在开源社区中享有盛誉。然而,在将其应用于商业场景时,仍然需要谨慎行事,确保遵守所有规定并维护良好的合作关系。通过理解和遵守ALv2的规定,我们可以更好地利用开源的力量,推动技术的发展。

2024-09-06 10:09:30 625

原创 flowable 国产数据库并发性能优化

最近在生产环境有用户反馈系统流转速度较慢,这边用的是金仓数据库,这边查了数据库的慢sql日志,最后发现问题,以下是部分慢sql的执行时间截图。增加索引后,流转效率有明显提升。

2024-09-05 07:00:00 454

原创 Java设计模式—策略模式(Strategy)

策略(Strategy)模式是一种行为设计模式,它使你能在运行时改变对象的行为。它定义了一系列算法,并将每一个算法封装起来,使它们可以相互替换。策略模式让算法的变化独立于使用算法的客户。在策略模式中定义了一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,也称为政策模式。策略模式是一种对象行为型模式。策略模式包含三个角色:环境类在解决某个问题时可以采用多种策略,在环境类中维护一个对抽象策略类的引用实例;

2024-09-04 10:06:34 1933

原创 Java设计模式——工厂模式

假设我们需要开发一个图形编辑器应用程序,该程序需要支持多种不同类型的图形元素,比如圆形(Circle)、矩形(Rectangle)和三角形(Triangle)。为了简化图形元素的创建过程,我们决定使用工厂模式来创建这些图形对象。从上面的讨论中可以看出,三种工厂模式各有特点。简单工厂模式适合于产品种类较少且未来扩展可能性不大的情况;工厂方法模式更适合于产品种类较多且未来可能会增加更多产品的情况;抽象工厂模式则适用于需要创建一系列相关产品族的情况。推荐方式:对于大多数场景,工厂方法模式是较好的选择。

2024-09-03 12:06:04 1153

原创 数据结构与算法——二叉树(java)

简单直观二叉树的结构简单,易于理解和实现。二叉树的节点关系清晰,每个节点最多有两个子节点,便于追踪和管理。灵活多变二叉树可以演化成多种变体,如二叉搜索树、AVL树、红黑树等,满足不同的需求。可以方便地通过调整节点位置实现平衡或非平衡结构。高效的搜索性能在平衡二叉树(如AVL树或红黑树)中,搜索、插入和删除操作的平均时间复杂度为O(log n),其中n是节点数量。二叉搜索树能够快速定位特定值或范围内的值。易于实现二叉树的遍历算法(前序、中序、后序)易于实现,且递归性质使得代码简洁明了。

2024-09-02 07:00:00 833

原创 Java设计模式——单例模式

静态内部类利用了Java类加载机制的特性,保证了实例化的线程安全性。由于静态内部类只会被加载一次,因此可以确保实例化过程只发生一次,不会出现多线程环境下的并发问题。:如果将来需要扩展单例类的功能,静态内部类的实现方式也相对容易扩展,例如添加更多的静态成员变量或方法。方法时才被创建的,实现了延迟加载,这样可以在需要的时候才创建实例,节省了不必要的内存占用。:相比于双重检查锁定等实现方式,静态内部类的实现更为简洁明了,易于理解。枚举类型的实例天然就是单例的,并且可以防止反射和序列化带来的问题。

2024-08-31 07:00:00 1043

原创 flowable源码解读——内存缓存设计

通过以上对比可以看到 Collections.synchronizedMap()的方式并不是原子级别的锁定,在高并发下有性能瓶颈,不太理解为什么flowable不用ConcurrentHashMap 这种方式做内存缓存,也许是考虑对流程定义的读写不会太频繁才这么设计。在高并发环境下,当多个线程同时访问不同的键值对时,可能会导致性能瓶颈。最近检查flowable缓存问题,顺便看了下源码,flowable默认是将缓存存储在内存中,以减少对数据库的压力,以下是flowable缓存类的设计。

2024-08-30 07:00:00 709

原创 jdk17 --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add

在使用Java 17(JDK 17)时,您可能需要使用选项来打开某些模块的包,以便让非模块化代码或其他模块能够访问这些包中的受保护成员(如protected修饰符的方法或字段)。这是因为Java 9引入了模块系统(),它默认情况下限制了对模块包的访问。

2024-08-29 07:00:00 428

原创 Java9模块化系统JPMS(Java Platform Module System)

模块是JPMS的基本单位。每个模块都有自己的命名空间,并且可以通过模块描述文件()来声明模块的依赖关系和其他元数据。

2024-08-28 07:00:00 997

原创 基数排序算法及优化(java)

基数排序是一种非比较排序算法,适用于整数或字符串等类型的排序。通过合理选择按位排序和稳定排序的方法,可以大大提高基数排序的效率。无论是在理论研究还是实际工程中,基数排序都是一个值得深入了解的重要算法。

2024-08-27 13:40:18 675

原创 堆排序算法及优化(java)

堆排序是一种基于比较的排序算法,它利用堆数据结构的性质来高效地排序元素。通过合理选择建堆和调整堆的方法,可以大大提高堆排序的效率。无论是在理论研究还是实际工程中,堆排序都是一个值得深入了解的重要算法。

2024-08-26 07:00:00 915

原创 计数排序算法及优化(java)

计数排序是一种非比较排序算法,它适用于一定范围内的整数排序。通过合理选择计数和累计计数的方法,可以大大提高计数排序的效率。无论是在理论研究还是实际工程中,计数排序都是一个值得深入了解的重要算法。

2024-08-24 11:05:32 996

原创 flowable源码解读——并行多实例节点任务是否是顺序生成

最近在项目开发中需要在多实例开始监听里修改一个全局的计数变量,不太确定并行多实例任务在底层引擎是顺序生成还是并行生成的,如果是顺序生成的则不影响,如果是并行生成 则修改一个全局的计数变量就会出现数据错误问题,查阅了flowable源码,做个记录。查看并行多实例节点任务类 ParallelMultiInstanceBehavior,代码如下:通过源码可以看出,并行多实例任务底层还是按顺序生成的,并不是并行生成。以下是 该类的结构图: 可以看出该类是继承 FlowNodeActivityBehavi

2024-08-23 07:00:00 692

原创 Flowable 7.0.0 发布说明

Flowable 7.0.0是Flowable引擎的第一个稳定版本,专注于Spring Boot 3、Spring 6和Java 17的升级。REST应用程序要求使用支持Jakarta 9的servlet容器/应用服务器。此版本重点关注BPMN、CMMN、DMN和事件注册引擎的主Flowable引擎和REST API。这意味着没有UI应用程序、内容和表单引擎,以及Mule和其他一些模块被移除。

2024-08-22 07:00:00 1359

原创 桶排序算法及优化(java)

桶排序是一种非比较型整数排序算法,特别适用于处理大规模数据集,特别是在数据分布较为均匀的情况下。通过合理选择桶的数量和优化桶内排序算法,可以大大提高桶排序的效率。无论是在理论研究还是实际工程中,桶排序都是一个值得深入了解的重要算法。

2024-08-21 07:00:00 1532

原创 归并排序算法及优化(java)

归并排序是一种高效且稳定的排序算法,它通过分治策略来实现。本文详细介绍了归并排序的历史背景、工作原理以及其实现细节,并通过一个具体案例展示了归并排序在实际应用中的优势。无论是在理论研究还是实际工程中,归并排序都是一个值得深入了解的重要算法。

2024-08-20 07:00:00 1195

原创 Flowable源代码解读系列专题文章目录大纲(AI出品)

在学习flowable过程中发现有很多设计值得学习和借鉴,想写个关于Flowable源代码解读系列专题,于是找AI 给列了一个专题目录,各位大佬帮忙看看有没有可以补充的,感谢提意见!Flowable概述与设计理念架构概览与设计模式轻量级设计与性能优化扩展性设计灵活的部署选项流程定义解析与设计模式执行引擎机制与设计模式任务管理与设计模式历史记录与审计设计安全性与认证设计性能与并发控制设计高级特性设计社区资源与未来发展

2024-08-17 15:01:34 593

原创 递归与分治策略算法(java)

递归与分治策略是解决复杂问题的强大工具。通过将问题分解为更小的子问题,我们不仅可以简化问题的解决过程,还可以利用计算机的并行处理能力来提高算法的执行效率。无论是排序还是解决几何问题,分治策略都能提供一种优雅且高效的解决方案。

2024-08-16 07:00:00 945

原创 AI提供的算法学习目录,准备就按这个学习了

第一部分:基础算法与数据结构基本概念介绍 算法定义 大O表示法 时间复杂度与空间复杂度 数组与字符串 数组操作 字符串处理 常见问题解析 链表 单向链表 双向链表 循环链表 栈与队列 栈的应用 队列的实现 特殊队列(如双端队列) 递归与分治 递归原理 分治策略 经典递归问题 第二部分:中级算法与数据结构排序算法 冒泡排序 插入排序 选择排序 快速排序 归并排序 堆排序 计数排序 基数排序

2024-08-15 09:28:01 382

原创 Sa-Token: 轻量级的权限认证框架

Sa-Token是一个Java语言编写的权限认证框架,其主要目标是为开发者提供一套简单易用的权限认证解决方案。轻量级:Sa-Token的核心代码十分精简,这使得它能够轻松集成到任何项目中而不增加过多的负担。高性能:通过优化设计和实现,Sa-Token能够在高并发场景下保持稳定的性能表现。灵活性:支持多种登录方式,如Cookie、Session、Token等,并且可以方便地扩展以适应不同的业务需求。易于使用:提供了一套简洁的API,即使是新手也能快速上手。

2024-08-15 07:00:00 527

原创 win7 32位操作系统的chrome浏览器无法显示arcgis地图

2,Chrom://flags 看下这一项的设置,需要设置为enabled。

2024-08-14 06:45:00 192

原创 arcgis通过指定范围加载图层

最简单的方案还是在客户端做遮盖层,例如在graphicslayer中添加遮盖周边区域的graphic;1.如果使用的ArcGIS Server版本是10.8或者更高版本,动态服务在出图时支持clipping参数,可以只显示指定区域的数据。在arcgis javascript api中,clipping参数通过MapImageLayer的customParameters参数指定。如果仅限制显示的extent, 可以在程序中设置图层的fullExtent。最近项目需要通过指定范围加载图层,做个总结。

2024-08-13 06:45:00 491

原创 arcgis之托管要素服务在web端对属性字段进行编辑

托管要素服务默认会发布至站点的Hosted目录下,因此URL中会包含Hosted字符,如果您的服务没有在Hosted目录下,强制在URL中加上Hosted,就是错误的服务地址。最近项目需要在web端 对要素服务的 属性字段进行动态的添加和删除,查询相关资料后发现普通要素服务不支持在web端对属性进行修改,但托管要素服务支持,做个记录。如果需要其他功能,例如查询,编辑要素,加载显示等等,仍使用原来的服务地址,就是把截图URL中的admin去掉之后的地址。其他参数的说明和配置,可以参考帮助文档。

2024-08-12 06:45:00 365

原创 ArcGIS 普通要素服务和托管要素服务

要素服务可用来通过 Internet 提供要素,并提供显示要素时所要使用的符号系统。之后,客户端可执行查询操作以获取要素,并执行相应的编辑操作。要素服务提供了可用于提高客户端编辑体验的模板。此外,要素服务也可以对关系类和非空间表中的数据进行查询和编辑。托管要素服务是部署在云端的一种要素服务,通常是在ArcGIS Online或ArcGIS Enterprise的云实例中。它由Esri或云服务提供商管理和维护。无论是普通要素服务还是托管要素服务,都是为了满足不同的业务需求而设计的。

2024-08-11 11:25:36 448

原创 Java设计模式——命令模式(Command Pattern)

命令模式将一个请求封装为一个对象,从而使你可用不同的请求把客户端参数化;对请求排队或记录请求日志,以及支持可撤销的操作。这种模式允许你将发出请求的责任和执行请求的责任分割开。

2024-08-09 06:45:00 742

原创 Java设计模式—责任链模式(Chin of Responsibility)

职责链模式允许多个处理者(handlers)处理同一个请求,每个处理者都有机会处理这个请求。如果处理者不处理该请求,则它将请求传递给下一个处理者,直到请求被处理或到达链的末尾。这种模式有助于避免请求的发送者和接收者之间的耦合。

2024-08-08 07:00:00 1560

原创 BPMN发展史及展望

从 BPMN 1.0 的诞生到 BPMN 2.0 的成熟,我们见证了业务流程管理领域的一次次变革。BPMN 2.0 不仅改变了业务流程的建模方式,也为业务流程的执行提供了坚实的基础。随着技术的进步和社会的发展,BPMN 2.0 必将继续演化,引领业务流程管理领域的未来。

2024-08-07 07:00:00 1239

原创 java算法之递归算法

在数学与计算机科学中,递归 (Recursion))是指在函数的定义中使用函数自身的方法,直观上来看,就是某个函数自己调用自己。递归问题必须可以分解为若干个规模较小、与原问题形式相同的子问题。并且这些子问题可以用完全相同的解题思路来解决;递归问题的演化过程是一个对原问题从大到小进行拆解的过程,并且会有一个明确的终点(临界点)。一旦原问题到达了这个临界点,就不用再往更小的问题上拆解了。最后,从这个临界点开始,把小问题的答案按照原路返回,原问题便得以解决。

2024-08-06 07:00:00 808

原创 flowable适配国产开源数据库TiDB

flowable适配国产开源数据库TiDB

2024-08-05 09:02:17 972

原创 算法的复杂性分析

了解算法的基本定义,以及时间和空间复杂度的基本定义

2024-08-03 10:56:21 743

原创 NewSQL分布式数据库

本栏目是我对TiDB,NewSQL学习的一个记录,后续会不断深入,如有错误,还望指正!

2024-08-02 12:34:50 675

原创 字符集和字符编码(Charset & Encoding)

字符编码的历史及不同语言的编码区别

2024-08-01 12:28:32 907

原创 FlowableWrongDbException: version mismatch: library version is ‘6.5.0.1‘, db version is 5.99.0.0

FlowableWrongDbException: version mismatch: library version is '6.5.0.1', db version is 5.99.0.0

2024-07-31 18:13:08 396

空空如也

空空如也

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

TA关注的人

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