docx4j(12) Jxls2(14) IDEA(10) JPA(16) Swing(8) Spring Boot 打包(3) 图片水印(3) 小技巧(7) Bootstrap(20) JSP自定义标签(7) Delphi(8) 俄罗斯方块(4) 第三方登录(8) 本站博客实现(9) Docker学习(8) Linux学习(8) 验证码(4) Apache Commons JCI(5) Apache Shiro(8) 分布式事务(3) Gateway(4) SpringBoot Admin(4) RocketMQ(2) SpringCloud OpenFeign(2) Nacos(2) Java压缩和解压缩(5) MySQL(5) 在线编辑器(6)

我开源的项目
作为一个已工作多年的专业程序员,在闲暇之余也颇爱写写代码,借助本站特将一部分程序代码作为个人重点推荐代码开放出来,算是一种整理汇总,也算是代码的总结性输出吧,干了这么多年,终归不能是白瞎吧,一些落地的汇总与实现。

Java Swing开发
Java Swing在大家眼里都一致的认为是冷门技术,秉承存在一定有其价值的理念,我并未丢弃这门技能,甚至对其应用也到了极致,并且使用它编写了一些辅助于工作中应用便利的软件(最终制作为exe软件安装包或可执行软件),对于大佬来说,怎么能让开发Windows桌面应用程序成为短板呢。

开源项目docx4j
docx4j 是一个开源 (ASLv2) Java 库,用于创建和操作 Microsoft Open XML(Word docx、Powerpoint pptx 和 Excel xlsx)文件,强烈推荐。

开源项目Jxls
Jxls是一个小型Java库,可以轻松生成各种Excel报表。Jxls使用Excel模板中的特殊标记来定义输出格式和数据布局,支持各种复杂应用业务场景的各种应用。


Bootstrap4
Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript 的,它简洁灵活,使得 Web 开发更加快捷。

Apche Commons JCI
JCI(Java Compiler Interface) 是一个 java 编译器接口。它可用于将 java(或任何其他可以编译为 java 类的语言,例如 groovy 或 javascript)编译为 java。
最新文章

MySQL数据库的定时备份实践
1.背景介绍 也许你会发现本站建站时间久远,但是本站的各类访问量总是很低,这大概是有两个方面的原因,其一是因为本站升级2.0后,所有的文章访问数据并未同步(不仅仅是文章,所有的数据均为同步,比如用户数据等,也许是这些数据并不重要吧);另一个原因则是大概在十天前执行了一个update语句(默认的MySQL客户端事务为自动提交的),把所有文章的访问量全给清零了,关于系统全站的访问量数据也是本站2.0近期(一个月内)才完善增加的,前者原因是主动放弃的,后者却是自己失误所致,所以本篇文章主要是来实现一个MySQL数据库的定时备份,也算是让数据更加安全点吧(也许站点被黑,资料被丢失了呢)。 2.备份脚本 本篇文章所实现的MySQL数据库定时备份,主要是实现与个人的契合度较高的实现,若对数据有非常高的要求,则需要使用实时备份或同步的方式实现(不是本次实践的目的),以shell脚本的方式编写备份脚本文件...
文章分类:经验分享 技术知识
MySQL
博客系统访问量统计
1.基本介绍 本站的访问数量分为两种,分别是博客文章的访问次数和本站所有页面的访问次数统计,这两个统计实现的功能沿用了历史上的本站v1.0的设计实现,所以当前的v2.0版本也有同样实现。文章的访问次数也是为了精确访问次数,在首次进入页面时发送Ajax请求获取当前文章的访问次数,并且将访问量+1,除了将获取的访问量结果显示在页面,也同样将数据存储在前端sessionStore范围内,达到一次访问只记录一个访问次数(防止手工刷新页面增加访问数量);所有页面的访问次数统计则是利用过滤器来拦截所有URL地址,从中筛选出需要记录的地址,作为访问量进而存储。 在本站v2.0版本上线之初只实现了文章数量的访问统计,而不甘于日常的无所事事,随逐渐增加了全站的访问量(仅限于前端项目,后端的具体访问量没有记录,主要记录的操作日志),所以本站的全站访问量统计主要是使用Filter过滤器实现,参考两种思路: (1...
文章分类:系统实现 本站 v2.0(当前)

去除zxing生成二维码的白色边距
1.背景介绍 最近在做一些期刊类的素材时使用到了生成二维码的功能,实际在8-9年以前就实践过二维码的生成,当时还做了一个在线生成的示例,可以自定义宽度、高度、内容、logo小图标(小图标有多种位置可选),本次拿来使用时发现以前的二维码确实还有一个白边问题存在,时隔多年发现这种问题搜索起来一大片,实际能起到作用的却是非常少,所以本次记录一下解决的方式,采用修改源码的方式,将源代码拷贝至项目中(保持包路径名称与jar中一致),利用IDE优先加载项目中的class的特点来覆盖jar中class文件的特性,起到更改源码生效的目的。(PS:若使用启动脚本来运行的程序,比如java -cp时指定的classpath同样是支持优先加载顺序的,详见本站提供的Spring Boot应用程序打包篇) 回归主题,本篇文章主要是解决使用zxing组件生成二维码时的白边问题,所谓白边则是指生成的二维码图片的大小并不...
文章分类:工作中积累
二维码Java压缩和解压缩(五)小总结
1.基本介绍 本文将是对前面4篇Java压缩和解压缩的实现总结,包括个人的经验总结。总的来说更多的还是建立在运用的层面,对于更多的理论知识和底层实现原理层面的还需要看个人自己的掌握程度,如果有兴趣还是建议自行去各个官网上查阅资料,或者使用其它自己熟练掌握的学习方式进行深度研究。 使用Java压缩和解压缩文件的实现,目前掌握的有JDK内置的java.util.zip包、开源项目zip4j、开源项目Apache Commons Compress、开源项目7-Zip-Jbinding,实际还有一种就是使用Java的Runtime类,来调用系统本地安装的压缩软件,通过cmd的命令行来执行文件的压缩和解压缩,但这种方式一半还是不特别建议使用,也算是不得已时的一种实现方案。本文将介绍前面4种实现方式,详细参考如下文所示。 2.JDK内置 Java内置的java.util.zip包,无需其它第三方依赖,...
文章分类:工作中积累
Java压缩和解压缩
Java压缩和解压缩(四)7-Zip-Jbinding实践
1.基本介绍 7-Zip-jbinding是一个免费的跨平台java绑定7-Zip免费压缩/解压缩库,7z archiver引擎的Java包装器,内置了多个动态链接库文件来适配不同的操作系统,支持Linux、Windows、Mac,以及32/64位系统的支持,可实现应用的跨平台,支持多种压缩格式的文件,如:7zip、zip、gzip、rar(rar4和rar5)、tar、iso 等多种常见格式;支持压缩包文件的提取、分割卷的提、支持密码的压缩和解压缩、多线程等,对于程序的自动适配和兼容支持的比较友好。 7-Zip-JBinding 是一个c++版7-Zip的封装,由两部分组成:java部分和本机部分。java部分介绍了7-Zip库的跨平台java接口,7-Zip-jbinding的本机部分通过java jni接口与java部分通信,并使用相应的本机7-Zip接口进行操作,所以它的性能要比j...
文章分类:工作中积累
Java压缩和解压缩Java压缩和解压缩(三)Apache Commons Compress实践
1.基本介绍 Apache Commons Compress库定义了一系列操作文件压缩和解压缩的API,用于处理多种格式的文件(zip、gzip、tar、7z、jar等等),最新版本为1.2.2,JDK最低版本限制为1.8版本,这个项目组件中的代码有许多不同的起源,根据解压文件格式的不同区分,有不同的几个实现来源。对于最基本的zip格式文件提供的功能超越了java.util.zip中的实现。 本次研究Apache Commons Compress项目组件的实现主要是针对7z格式的压缩和解压缩,但是在进行源码分析实现和官网资料的了解后发现该项目支持读取7z格式的加密文件,但不支持写入加密文件,也就是说它的API不支持创建7z格式的加密实现,参考官网地址:“https://commons.apache.org”,源码地址:“https://gitbox.apache.org/repos/asf...
文章分类:工作中积累
Java压缩和解压缩Java压缩和解压缩(二)Zip4j实践
1.基本介绍 Zip4j-用于zip文件/流的Java库,作用于zip文件或流的最全面的Java库,它还支持zip加密和解密,使得处理zip文件/流的代码实现更加容易,甚至可以是一行代码【项目作者非常谦虚的认为没有冒犯到Java的内置zip实现】,这个库的主要目标是为所有人提供一个简单的API zip文件或流,常见操作是在库中执行繁重的操作,而不需要开发人员担心除了可用性之外,这个库的另一个重要目标是为尽可能多的zip功能,有以下几个特征(翻译于Github上的项目主页https://github.com/srikanth-lingala/zip4j): (1)创建、添加、提取、更新、从zip文件中删除文件; (2)支持流(ZipInputStream和ZipOutputStreat); (3)读/写受密码保护的zip文件和流; (4)支持AES和zip标准加密方法; (5)支持Zip64...
文章分类:工作中积累
Java压缩和解压缩Java压缩和解压缩(一)JDK内置zip操作
1.基本介绍 操作压缩包文件也是经常会被使用到的技术点,比如在导出多个文件至浏览器下载时需要将多个文件添加至压缩文件,一方面可以一次性下载多个文件,另一方面也可以减小下载文件的大小。然而JDK内置的操作压缩文件只提供有zip格式(rar格式为受版权保护,7z格式应该是在JDK早期版本时还未出世),比较鸡肋,回首当年工作之初也算有体验到使用Java解压文件,后面的一些工作中多多少少的也都有涉及,但是不够全面,也不够深入,更不够专业,去年下半年有批量解压缩文件的需求,借着这个时机就专业了一把,把Java相关的压缩和解压缩的开源实现给实践了一下,围绕工作日常的应用展开,常见的压缩文件格式有:zip、7z、rar,所以响应的给出这些格式的多种实现,本文先以JDK内置的压缩和解压缩zip格式展开,详细如下。 2.压缩实现 2.1 压缩工具类 packagecn.chendd.compress; i...
文章分类:工作中积累
Java压缩和解压缩Spring Boot 项目打包完美实践
1.基本介绍 前文中有两篇《Spring Boot 项目assembly打包实践》和《Spring Boot 项目打包静态资源分离实践》的文章来实践项目打包,本篇文章主要是来集二者所长,汇总实践出来一版本更加易于打包部署的实现,如果对打包部署缺乏较多的了解不妨先关注一下前面的两篇文章,本文则是回顾一下两种方式的优缺点,在此基础之上再整合出一版较为科学的实践结果,如前面两篇文章的优缺点如下。 1.1 Spring Boot 项目assembly打包实践 优点 (1)使用了强大的assembly插件,使得打包后的文件夹比较独立统一,也可利用插件将打包后的文件夹压缩等; (2)打包按文件夹归类不同的文件夹(bin/conf/logs/runtime/lib),提供了简单的启停脚本; (3)打包后的jar文件夹按类型归类,区分哪些是第三方开源的jar,哪些是本地jar,哪些是项目内部不同模块的ja...
文章分类:后端一部分 Spring Boot 本站技术点
Spring Boot 打包Spring Boot 项目打包静态资源分离实践
1.基本介绍 前面一篇《Spring Boot 项目assembly打包实践》介绍了非常高端的企业级打包实战,自以为是非常完美的,然而最终还是被水平限制了,其中重要的一点是没有将静态资源给剥离出来,当时属实不知道剥离出来后可以起到热更新的作用,所以也就没有认识到有非常高的必要性,直到前天在友链站点看到了《spring boot项目使用maven插件将项目和jar包依赖以及静态资源分离打包》这篇文章(实际之前也看到过几次),专门留言问了一下是否能够支持资源文件的热更新,得到博主的肯定回复,不禁又来了兴趣,所以就有了关于项目打包的本篇文章和后续一篇。 实际在前三四年前最初体验到Spring Boot项目工程的部署运行时,当时的所有资源文件均在于一个jar(并不是仅一个jar包),当时提出了一个意见就是前台的项目打个war包要比这种jar包要合理啊,毕竟war包中的前端资源文件更改了可以立即生效...
文章分类:后端一部分 Spring Boot 本站技术点
Spring Boot 打包最新用户
QQ:紫霄馆
百度:181*****301
支付宝:M_c小杰
QQ:👉小短腿🙊👈
QQ:一位可疑的网友
最新评论
QQ:雪地里走)新
感谢来访,欢迎经常路过。QQ:👉小短腿🙊👈
路过~~~
系统注册:陈冬冬
文章写的比较早,搁现在来说,少了一些枚举在JPA或JSON中...支付宝:Ⅶ
读完之后受益匪浅,醍醐灌顶