Java 实现 pdf 合同文件自动签章

herman 3周前 (06-23) 110浏览

自动签章的公告、合同文件等形式的文档在公司中有非常多的使用场景。随着电子签章的流行,越来越多的公司,才有这些功能。基于此,本文使用 Java 来实现 pdf 合同文件自动签章。 本文只是一个 demo,若需完成的细节功能,可以加我微信:xmt...

记一次 JDK 底层 TLS 锁竞争性能问题

herman 3个月前 (04-20) 391浏览

这个标题原本有些长,“Thread.State: BLOCKED (on object monitor) at java.security.Provider.getService(Provider.java:680)”。我嫌它不利于搜索,所以给它改...

Java反射机制:优化与性能的权衡

herman 5个月前 (02-24) 621浏览

在Java编程中,反射是一种强大的工具,它允许程序在运行时检查类、接口、字段和方法的信息,并动态地创建和调用对象。然而,反射机制也带来了性能上的开销,因为它涉及到额外的运行时解析和类型检查。为了平衡反射的灵活性和性能,Java在不同版本中进行了多方...

基于Spring Boot的chatGPT问答助手

herman 7个月前 (12-10) 6239浏览

最近想在自己的一个项目里接入 chatGPT 实现 AI 对话助手,但是调研了一下 Open AI 提供的服务在国内不好用,需要搭代理,而且还有 feng 号的风险。于是在寻找别的方案时发现了微软也提供了相应的服务,并且国内可用,而且响应速度还是挺...

mflac、mgg、qmc0、qmc等格式音频转mp3

herman 1年前 (2023-06-17) 5347浏览

最近有粉丝问我,如何将 mflac 格式的音频转换为 mp3 格式的。这个从代码上来说,其实并不难。 我们先看下 mflac、qmc 是什么格式? QQ 音乐的 mflac 和 qmc 格式两者在解码的速度方面不同。 由于两者编码...

从头到尾解析Hash表算法,百度Top K算法详解

herman 1年前 (2023-02-19) 2231浏览

从头到尾解析Hash 表算法 本文分为三部分内容,第一部分为一道百度面试题Top K算法的详解;第二部分为关于Hash表算法的详细阐述;第三部分为打造一个最快的Hash表算法。 第一部分:Top K 算法详解 问题描述 百度...

为什么从Java15开始要禁用偏向锁了?

herman 2年前 (2022-08-31) 3582浏览

背景 为什么从Java15开始要禁用偏向锁了? 在 JDK1.5 之前,面对 Java 并发问题, synchronized 是一招鲜的解决方案: 普通同步方法,锁上当前实例对象静态同步方法,锁上当前类 Class 对象同步块,锁...

SpringBoot在初始化前后的7种扩展点!

herman 2年前 (2022-08-21) 2368浏览

我们经常需要在容器启动的时候做一些钩子动作,比如注册消息消费者,监听配置等,今天就总结下SpringBoot留给开发者的 7 个启动扩展点。 容器刷新完成扩展点 通过监听容器刷新完成扩展点ApplicationListener<C...

5 种限流算法,7 种限流方式

herman 2年前 (2022-07-30) 2523浏览

前言 最近几年,随着微服务的流行,服务和服务之间的依赖越来越强,调用关系越来越复杂,服务和服务之间的「稳定性」越来越重要。在遇到突发的请求量激增,恶意的用户访问,亦或请求频率过高给下游服务带来较大压力时,我们常常需要通过缓存、限流、熔断降级、...

一文看懂Java程序员必会的内存模型!

herman 2年前 (2022-06-26) 2221浏览

并发编程模型的分类 在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。 在...

全网阅读超百万的单点登录原理与简单实现

herman 2年前 (2022-06-05) 1857浏览

全网阅读超百万的单点登录原理与简单实现 单系统登录机制 http无状态协议 web 应用采用 browser/server 架构,http 作为通信协议。http 是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后...

收藏!简单且优雅的8种干掉if else的方法(非设计模式方法)

herman 2年前 (2022-05-01) 1942浏览

2 年前,我在 b 站上录制了一个视频,如何优雅的干掉 if else。我当时提出了“断言”+“短路”的形式,最直接的干掉 if else。很多人非常受益,今天我再整理成文字分享给大家! if else 是我们写代码时,使用频率最高的关键词之...

MyBatis-Plus 通用 IService 使用介绍与简单使用教程

herman 2年前 (2022-04-05) 2183浏览

MyBatis-Plus 通用 IService 使用介绍与简单使用教程。 一、引言 MP 除了通用的 Mapper 还是通用的 Servcie 层,这也减少了相对应的代码工作量,把通用的接口提取到公共。其实按照 MP 的这种思想,可以...

Spring框架被爆RCE 0day高危漏洞!附修复教程!

herman 2年前 (2022-03-30) 2383浏览

上海最近疫情严重,建议大家减少外出,做好防护! 今天早上,一大早,微信群里就有人@我,说 Spring 出现新漏洞了。 Spring框架JNDI注入漏洞 于是我就上了 Spring 官网,以及 maven 仓库去查找相关信息。 ...

Mongodb 的海量数据分页查询优化实战!

herman 2年前 (2022-03-20) 2843浏览

基于我们的数据特性,在进行数据库选型时选择了 mongo 数据库。在文档数量很大的情况下,存在慢查询,影响服务端性能。合理地对数据库命令及索引进行优化,可以很大幅度提升接口性能。 mongo 分页查询 mongo 分页查询 在 J...