
Java
gqltt
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 实现通用高效树结构转换算法
我们先定义一个TreeNodeT getId();这个接口包含三个重要方法:•:用于获取节点的父节点 ID。•getId():获取节点自身的 ID。•:将一个子节点添加到当前节点的子节点列表中。通过TreeNode接口和buildTree方法,我们实现了一个高效且通用的树结构转换算法。时间复杂度低:整个算法的时间复杂度为 O(n),因为只需要对节点列表进行一次遍历。同时,利用Map存储节点,查找父节点的时间复杂度为 O(1),提高了整体性能。•通用性强。转载 2025-06-15 22:28:09 · 114 阅读 · 0 评论 -
SpringBoot如何用ServiceLocatorFactoryBean优雅切换支付渠道?
服务定位模式(Service Locator Pattern)是一种创建型设计模式,它提供了一个中央组件(服务定位器)来管理和获取各种服务。客户端不直接实例化服务,而是通过服务定位器来获取所需的服务实例。这种模式的核心优势在于将服务的使用者与服务的提供者解耦,使系统更加灵活和可维护。// 支付处理器接口// 支付宝实现@OverrideSystem.out.println("处理支付宝支付: " + amount);// 微信支付实现@Override。转载 2025-04-20 21:52:43 · 932 阅读 · 0 评论 -
GMT_0031-2014_安全电子签章密码技术规范
GMT_0031-2014_安全电子签章密码技术规范原创 2025-03-16 20:58:16 · 224 阅读 · 0 评论 -
ofdrw-OFD Reader
签名/章过程中不需要完全解析文档,因此不需要构建文档虚拟容器, 只需要对文件的操作和相关的签名描述文件的操作。在OFD中含有ST_Loc类型的对象,这种对象是一个路径地址,用于次用OFD虚拟容器中找到 需要的资源。签名: 获取容器中相关文件然后计算Hash,计算签名/章,加入签章内容,重新打包。编辑: 解析文档结构构建虚拟容器,编辑内容,重新打包。资源定位器则是解析地址,从虚拟容器中获取资源同时缓存。对该类路径的解析就需要使用到资源定位器。什么地方会使用到Reader。解析器由两大组件构成。转载 2025-03-16 20:32:45 · 152 阅读 · 0 评论 -
ofdrw-文档转换
OFDR&W文档转换支持=>=>PDF转换概述: 通过对OFD的文档进行解析,使用 Apache Pdfbox生成并转换OFD中的元素为PDF内的元素实现PDF的转换。图片转换概述: 通过对OFD的文档进行解析,采用java.awt绘制图片,支持转换为PNGJPEG图片格式。转载 2025-03-16 20:22:53 · 144 阅读 · 0 评论 -
ofdrw-推荐解决方案
DLTech21/ofd.js推荐开源的OFD在线预览解决方案: DLTech21/ofd.js . https://github.com/DLTech21/ofd.js推荐开源客户端预览解决方案: roy19831015/OfdiumEx . https://github.com/roy19831015/OfdiumEx推荐开源OFD图片转换解决方案: QAQtutu/ofdbox . https://github.com/QAQtutu/ofdbox转载 2025-03-16 18:38:49 · 91 阅读 · 0 评论 -
《Java 加密工具与技术》ASN.1
【代码】《Java 加密工具与技术》ASN.1。原创 2025-03-11 22:55:52 · 248 阅读 · 0 评论 -
使用Bouncy Castle解析ASN.1结构
完整解析代码 数据结构映射: → → (包含tag信息) → → → 其他类型保留原始值和类型信息扩展建议: 自定义类型映射: 深度限制:原创 2025-03-08 15:53:06 · 379 阅读 · 0 评论 -
《Java 加密工具与技术》8: X.509证书和属性证书
X.500 可辨别名称(Distinguished Name,简称DN),是用于在X.500目录服务中唯一标识一个条目(Entry)的名称。它由一系列相对可辨别名称(Relative Distinguished Names,简称RDNs)组成,每个RDN由一个或多个属性值对构成,这些属性值对在不同的目录级别上提供了条目的唯一标识。在X.500目录服务中,DN用于确保每个条目都可以被唯一地识别和访问。是一个RDN,表示通用名称(Common Name)为“John Doe”。OU=Users。原创 2025-03-03 20:59:54 · 602 阅读 · 0 评论 -
《Java加密与解密的艺术》第3章java加密利器
它通常与加密算法(如 AES、DES 等)一起使用,用于存储和传递算法的初始化参数(如 IV(初始化向量)、盐值等)。是 Java 中用于管理和传递加密算法参数的类。它提供加密算法参数的。透明表示:可以通过某个“get”来分别访问每个值。不透明表示:不可以直接访问参数域。原创 2025-03-02 12:07:40 · 274 阅读 · 0 评论 -
ASN.1 格式与Java类转换
通过上述步骤,你可以将ASN.1格式的数据与Java类进行转换。虽然手动编写Java类适用于简单的ASN.1结构,但对于复杂的ASN.1定义,建议使用ASN.1编译器来自动生成Java类。BouncyCastle库提供了丰富的API来处理ASN.1编码和解码,适合在Java项目中使用。原创 2025-02-09 22:40:47 · 595 阅读 · 0 评论 -
Java Cryptography Tools and Techniques 笔记
PKIX 是一组标准,用于管理和使用基于 X.509 证书的公钥基础设施(PKI)。原创 2025-02-09 15:43:53 · 947 阅读 · 0 评论 -
Maven实战之继承
groupld:项目组ID,项目坐标的核心元素。version:项目版本,项目坐标的核心元素。description:项目的描述信息。organization:项目的组织信息。inceptionYear:项目的创始年份。url:项目的 URL 地址。developers:项目的开发者信息。contributors:项目的贡献者信息。distributionManagement:项目的部署配置。issueManagement:项目的缺陷跟踪系统信息。原创 2024-03-04 17:00:43 · 424 阅读 · 0 评论 -
Maven实战之聚合
父子关系,account-aggregator与account-email、account-persist为父子关系。聚合:一条命令构建多个模块。原创 2024-03-04 16:26:06 · 258 阅读 · 0 评论 -
远程仓库的配置
配置POM使用JBOSS仓库对于releases和snapshots,除了enabled,还有另外两个元素daily--每天检查一次(默认never--从不检查always--每次构建都检查interval:X--每隔X分钟检查一次更新warn--执行构建时输出警告(默认fail--遇到校验和错误就构建失败ignore--忽略校验和错误。原创 2024-02-21 17:13:27 · 735 阅读 · 0 评论 -
Maven仓库分类
settings.xml设置localRepository的值为仓库地址Install 插件的install 将项目的构建输出文件安装到本地仓库。原创 2024-02-20 17:39:43 · 393 阅读 · 0 评论 -
Maven依赖最佳实践
剔除传递依赖,改直接依赖。原创 2024-02-20 14:48:19 · 534 阅读 · 0 评论 -
21大软件架构特点的全面解析
众所周知,架构特点多以"ility"结尾(例如 scalability、deployability),也被称为 NFR(非功能需求)、质量属性。架构的特点没有固定清单,但标准是有的,就是 ISO25010:我们从业务需求(业务特征)、我们期望的系统运营方式(运营特征)中总结出这些特点,它们是隐式的、贯穿各领域,是架构师在字里行间能看出来的特点。《软件架构基础》书中的这张表是隐藏特点的一个例子。《实践中的软件架构》一书中对架构特点解释得很清楚。转载 2024-01-13 18:09:33 · 281 阅读 · 0 评论 -
Java面向容错编程之重试机制
容错编程是一种旨在确保应用程序的可靠性和稳定性的编程思想,它采取以下措施:1.异常处理:通过捕获和处理异常来避免应用程序崩溃。2.错误处理:通过检查错误代码并采取适当的措施,如重试或回滚,来处理错误。3.重试机制:在出现错误时,尝试重新执行代码块,直到成功或达到最大尝试次数。4.备份机制:在主要系统出现故障时,切换到备用系统以保持应用程序的正常运行。5.日志记录:记录错误和异常信息以便后续排查问题。容错编程是一种重要的编程思想,它能够提高应用程序的可靠性和稳定性,同时提高代码的健壮性。转载 2024-01-13 17:56:31 · 531 阅读 · 0 评论 -
OFD添加图片水印
这篇文章的引导,写出了一个ofd文件加图片水印的工具类,分享给大家参考。转载 2023-11-09 20:57:42 · 843 阅读 · 0 评论 -
OFD开发系列(三)-文本提取
下一篇我们将对关键字提取做简单介绍,关键字提取和文本提取不同,关键字提取会返回关键字对应的坐标页码,以方便我们对合同内容进行定位,签章等。转载 2023-11-07 19:55:56 · 1144 阅读 · 0 评论 -
OFD开发系列(二)-模板填充
第二、是否支持表单填充;我们需要对事项依据下面的单元格A3 和 A3右边的单元格B3进行坐标填充,同样的,我们需要制作填充模板,确提前确定坐标位置,A3使用毫米单位,B3使用百分比单位。我们前面对水印填充方法进行了简单介绍,本章描述的模板填充,可以是正文的填充,也可以是水印填充,水印填充可参考上一篇《OFD开发系列(一)-添加水印》。基于坐标填充:此处可以指定坐标x/y值(单位mm)或百分比进行填充,这种填充方法需要模板编辑系统的支持,例如:在页面上标注好填充坐标或填充百分比位置。3.1、模板填充准备。转载 2023-11-07 19:50:45 · 651 阅读 · 0 评论 -
OFD开发系列(一)-添加水印
下一篇文章我们将对模板填充进行介绍,包括:日期填充,文本填充,图片填充图形填充等内容;期待OFD版式文档发展得更好。版权声明:本文为优快云博主「阿徐汇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.youkuaiyun.com/oAXuHui/article/details/109290539。转载 2023-11-07 19:46:18 · 1333 阅读 · 1 评论 -
iText实战--使用iText基本构建块
Phrase:一系列的ChunkParagraph:一个Phrase带额外属性和新行将文本分布在不同行上列表:一系列的ListItemDrawInterface:垂直位置标记、分隔符和选项卡。原创 2023-09-19 10:19:37 · 752 阅读 · 0 评论 -
iText实战--PDF和iText 简介
iText 5步创建PDF。PDF可以做如下事务。原创 2023-09-19 10:02:58 · 930 阅读 · 0 评论 -
iText实战--Table、cell 和 page event
章节(Chapter)和 区域(Section)事件。5.4 添加页码事件到 PdfWriter。实现PdfPTableEvent 接口。实现PdfPCellEvent 接口。解决 page X of Y 问题。5.1 使用表和单元格事件装饰表。段落(Paragraph)事件。5.2 基本构建块的事件。通用块(Chunk)功能。合并表格和单元格事件。5.3 页面边界概述。原创 2023-09-18 19:30:10 · 778 阅读 · 0 评论 -
iText实战--在现有PDF上工作
Is rebuilt?falsefalsePage Size 页面大小损坏的PDF加密的PDF。原创 2023-09-16 17:20:40 · 556 阅读 · 0 评论 -
iText实战--根据绝对位置添加内容
层级1:在text和graphics底下,PdfWriter.getDirectContentUnder()层级4:在text和graphics顶上,PdfWriter.getDirectContent()层级2:graphics层,Chunk, Images背景,PdfPCell的边界等。层级3:text层,Chunks, Phrases, Paragraphs 内容等。pdf内容的4个层级。原创 2023-09-16 09:59:17 · 1814 阅读 · 0 评论 -
iText中文教程~ 图像和文本的绝对位置
图像和文本的绝对位置。原创 2023-09-05 14:07:17 · 514 阅读 · 0 评论 -
iText中文教程~ 图片
iText中文教程~ 图片。原创 2023-09-05 13:57:56 · 323 阅读 · 0 评论 -
iText中文教程~ 锚点、列表和注释
【代码】iText中文教程~ 锚点、列表和注释。原创 2023-09-05 13:55:09 · 369 阅读 · 0 评论 -
iText中文教程~ 字体
simsun.ttc(宋体和新宋体)simfang.ttf(仿宋体)simkai.ttf(楷体)simhei.ttf(黑体)TrueType字体集合的应用。TrueType 字体应用。原创 2023-09-05 11:47:50 · 2224 阅读 · 0 评论 -
iText中文教程~ 思维导图
iText中文教程~ 思维导图原创 2023-09-05 11:41:30 · 116 阅读 · 0 评论 -
iText中文教程~ 创建一个Document
第一步 创建一个Document实例。第二步 创建Writer实例。第三步 打开Document。第五步 关闭document。原创 2023-09-05 11:36:42 · 549 阅读 · 0 评论 -
html转pdf(总结五种方法Java)
Java 实现html转pdf,总结五种方法。推荐使用wkhtmltopdf,Itext。转载 2023-08-17 16:06:20 · 35362 阅读 · 1 评论 -
FreeMarker 模板引擎快速入门
1、Apache FreeMarker 是一个模板引擎:一个基于模板和不断变化的数据生成文本输出(HTML网页、电子邮件、配置文件、源代码等)的 Java 库。2、市面上主流的 Java 模板引擎有:JSP、Velocity、Freemarker、Thymeleaf,Spring Boot 官方支持:Thymeleaf Templates、FreeMarker Templates、Groovy Templates 等模板引擎。转载 2023-08-17 14:35:27 · 454 阅读 · 0 评论 -
Redis集群模式使用Lua脚本的限制
由于前段时间自己写的redis定长队列使用了lua脚本,测试好好的,线上就报错了,还好不是什么大问题。因为目前测试环境单个实例,线上环境使用的是redis集群模式,所以已经踩了不少坑。其中key和arg都用lua变量,因为好几处使用了,正常来讲申明变量没什么问题,可是阿里集群对Lua脚本进行了限制,再通过错误信息,意思为,key的位置必须为数组,不能使用脚本变量。修改lua脚本,去掉key的local变量,改为KEYS[i]数组的形式,将数组直接传入进去。集群中Lua脚本的限制。转载 2023-08-07 16:27:28 · 1816 阅读 · 0 评论 -
Redis并发数限流
不管多忙都要有产出吧....转载 2023-08-07 16:24:06 · 450 阅读 · 0 评论 -
Java8特性之Optional:如何干掉空指针?
Optional的作用是什么?他都有哪些方法?阿里规范点名说尽量用Optional来避免空指针,那么什么场景用Optional?本篇文章围绕这三点来进行讲解。转载 2023-08-03 16:57:08 · 143 阅读 · 0 评论 -
阿里Java开发手册~其它
【推荐】任何数据结构的构造或初始化,都应指定大小,避免数据结构无限增长吃光内存。【强制】在使用正则表达式时,利用好其预编译功能,可以有效加快正则匹配速度。类的属性时,建议直接使用属性名取值即可,模板引擎会自动按。理论,视图的职责是展示,不要抢模型和控制器的活。【推荐】不要在视图模板中加入任何复杂的逻辑。,如方法、变量、类、配置文件、动态配置属性。如果想获取更加精确的纳秒级时间值,使用。,如果想获取整数类型的随机数,不要将。【强制】后台输送给页面的变量必须加。包装类对象,优先调用。类型,注意取值的范围。原创 2023-07-28 10:23:54 · 154 阅读 · 0 评论