在 Java 开发中,常常会引入第三方 Jar 包或采用开源框架。规模较大的项目或框架通常会进行模块化设计,开发者能够仅导入所需的功能模块。这种项目一般会提供一个清单 Jar 包,用于声明项目中的所有模块及其他依赖。清单 Jar 包不仅简化了模块的引用过程,还能管理所需依赖的版本号,从而减少冲突的发生。
(更多…)分类: 编程
-
源码分析 – MyBatis Plus 多数据源踩坑
公司准备把报表数据库从MySQL迁到TiDB,先用几个功能试点。于是在系统上需要配置多个数据源。之前在上家公司用MyBatis时配置过4个数据源,MyBatis Plus下应该是大同小异。不出意外的话就要出意外,结果还是踩了坑。
(更多…) -
用Postman测试需要授权的接口
Postman是一款免费的http模拟请求工具,常用来测试开发接口。实际场景中,很多接口是需要授权才能使用。这就需要Postman获取授权,把返回的token保存,在调用其他接口时连同token一起传递。
(更多…) -
JAVA模块化 – JDK生成JRE
手写一个JAVA小程序,因为使用了Java11相关的API,必需要Jre11才能运行。到Jdk安装目录中没找Jre,于是去官网下载Jre11,发现官方只提供Jre8。原来自Jdk11之后,Jdk中不带Jre,需要Jre可使用Jdk生成。
(更多…) -
Java 加密解密和数字签名
在做项目中,只要涉及敏感信息,或者对安全有一定要求的场景,都需要对数据进行加密。在Java中原生API即可实现对称加密与非对称加密,并支持常用的加密算法。
(更多…) -
音视频命令转换工具 – FFmpeg
随着自媒体兴起,许多人会自拍视频或者找视频素材裁剪,配上背景音乐或解说,加上各种特效边框,处理后再生成新的视频文件,发布到各大平台。生成的原始视频文件都很大,我们需要转换格式或者压缩大小,便于上传或者在其他如手机等设备上分享。
(更多…) -
解析HTTP协议实现文件上传
在J2EE开发中,使用浏览器上传文件很简单,服务器用Apache的Commons FileUpload实现就可以了。但是在开发C/S架构的程序时就需要自己处理。用代码实现文件上传需要对表单的multipart/form-data有所了解。
(更多…) -
Java 提取EXIF信息批量重命名
手机或照机拍摄的照片名称通常是”IMG_001.JPG”这种格式,这种文件名称是无意义的。使用照片拍摄时间命名可以让我们在多年以后查找照片时根据文件名就能快速筛选出某一时间段的照片。
(更多…) -
MySQL 启动多实例
MySQL是一款流行的开源数据库。我们在开发过程中常常会用到读写分离,分库分表,区分开发环境与预生产环境。如果只有一台机器能用,在做预演时就需要用到多实例。
(更多…) -
Windows/Linux 创建开机启动服务
系统服务是一种应用程序类型,它在后台运行。服务应用程序通常可以在本地和通过网络为用户提供一些功能。有些软件无需安装解压就能使用,或者在安装时未向系统注册服务。如果我们需要开机启动,需要手动创建服务。
(更多…) -
Java 图片压缩生成缩略图和水印
如今终端设备摄像头分辨率越来越高,拍照一张图片几兆甚至几十兆,我们需要对用户上传的图片适当压缩,在满足用户对图片质量的要求同时节约存储空间,减少网络传输,提高图片加载速度。本章将用Java原生API和第三方库Thumbnailator操作图片。
(更多…) -
Java 收发邮件 (Jakarta Mail)
Jakarta Mail API提供了一个独立于平台和协议的框架来构建邮件,完成邮件接收与发送功能。它也包含在Java EE平台中,也可以和Java SE平台一起使用。
Jakarta Mail的前生是JavaMail。JavaMail最后一个版本是于2018年8月发布,已经停止更新。新项目应该使用Jakarta Mail。
(更多…) -
Java 生成带Logo和文字描述的二维码
ZXing 是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。Zxing 可以实现使用手机的内置的摄像头完成条形码的扫描及解码。本章讲解用 ZXing 生成和扫码二维码。
(更多…) -
Java 多线程并发编程
在Java中开启新线程执行,一般做法是继承Runnable接口,实现run(),然后使用new Tread().start(run)。如果我们需要对执行结果处理或者线程限制,使用Java提供的并发工具会使多并发编程变得简单。
Java并发工具在 java.util.concurrent 包及其子包 java.util.concurrent.atomic 和 java.util.concurrent.locks 下。本章会介绍相关工具用法。
(更多…) -
Java 日期时间工具包 – java.time
从JDK8开始,Java 提供了新的日期时间处理方法用来代替旧的日期类(Date)。本章主要讲它们的用法以及和旧日期类互转。
日期和时间
Java 新的日期工具类在 java.time 包及子包中 ,日期类主要有 LocalDateTime、LocalDate、LocalTime ,这三个API类很相似,以下是常用API及说明。
(更多…)