在 Java 开发中,常常会引入第三方 Jar 包或采用开源框架。规模较大的项目或框架通常会进行模块化设计,开发者能够仅导入所需的功能模块。这种项目一般会提供一个清单 Jar 包,用于声明项目中的所有模块及其他依赖。清单 Jar 包不仅简化了模块的引用过程,还能管理所需依赖的版本号,从而减少冲突的发生。
(更多…)标签: java
-
源码分析 – MyBatis Plus 多数据源踩坑
公司准备把报表数据库从MySQL迁到TiDB,先用几个功能试点。于是在系统上需要配置多个数据源。之前在上家公司用MyBatis时配置过4个数据源,MyBatis Plus下应该是大同小异。不出意外的话就要出意外,结果还是踩了坑。
(更多…) -
JAVA模块化 – JDK生成JRE
手写一个JAVA小程序,因为使用了Java11相关的API,必需要Jre11才能运行。到Jdk安装目录中没找Jre,于是去官网下载Jre11,发现官方只提供Jre8。原来自Jdk11之后,Jdk中不带Jre,需要Jre可使用Jdk生成。
(更多…) -
Java 加密解密和数字签名
在做项目中,只要涉及敏感信息,或者对安全有一定要求的场景,都需要对数据进行加密。在Java中原生API即可实现对称加密与非对称加密,并支持常用的加密算法。
(更多…) -
安装Hyper-V/Docker后IDEA不能启动
打开Hyper-V功能,安装Docker for Windows后,打开IDEA一直停在启动界面无响应。找到日志文件,错误信息:java.net.BindException: Address already in use: bind
(更多…) -
音视频命令转换工具 – FFmpeg
随着自媒体兴起,许多人会自拍视频或者找视频素材裁剪,配上背景音乐或解说,加上各种特效边框,处理后再生成新的视频文件,发布到各大平台。生成的原始视频文件都很大,我们需要转换格式或者压缩大小,便于上传或者在其他如手机等设备上分享。
(更多…) -
解析HTTP协议实现文件上传
在J2EE开发中,使用浏览器上传文件很简单,服务器用Apache的Commons FileUpload实现就可以了。但是在开发C/S架构的程序时就需要自己处理。用代码实现文件上传需要对表单的multipart/form-data有所了解。
(更多…) -
Java 提取EXIF信息批量重命名
手机或照机拍摄的照片名称通常是”IMG_001.JPG”这种格式,这种文件名称是无意义的。使用照片拍摄时间命名可以让我们在多年以后查找照片时根据文件名就能快速筛选出某一时间段的照片。
(更多…) -
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及说明。
(更多…) -
阿里云自动动态地址解析
家里找电信开通了动态公网地址,每天IP会变一次。我的域名是在阿里云申请的,路由器只支持花生壳和公云的DDNS设置,每天手动变更一次域名指向麻烦,利用阿里云的API,写了一个动态更新的小工具。
首先在阿里云后台申请创建AccessKey:
(更多…) -
IntelliJ IDEA 启动报错
打开idea报错:Address already in use: bind
昨天还用的好好的,只是后来升级Android Studio插件失败过。Android Studio是Google基于Idea开发的,所以会不会是这个影响?
打开Android Studio,发现也报错。
(更多…)