
工具使用
酷鱼影子
我不是代码的生产者,我只是代码的搬运工
展开
-
Excel转PDF工具(支持多sheet)
Excel转PDF工具(支持多sheet),源文件是一个有两个sheet的Excel。使用组件itextpdf和poi。源码比较多,需要的直接下载源代码。原创 2022-12-25 21:00:29 · 483 阅读 · 1 评论 -
itextpdf获取PDF签名证书信息
pom.xml<dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.13</version> </dependency>SignatureUtilTestimport com.i原创 2022-02-24 13:52:50 · 2618 阅读 · 0 评论 -
PDFBox加密和解密PDF文件
PDF常用的三种加密方式:口令加密 证书加密 Adobe LiveCycle Rights Management口令加密:作为第一代PDF安全加密方式,到现在也一直广泛应用。口令加密分为:用户密码(user password)、所有者密码(owner password)。用户密码:要求用户在打开文件时,需要输入密码 所有者密码:打开PDF文件并进行阅读,并不需要所有者密码,只有更改权限设置或进行受限制操作时(打印,编辑和复制PDF中的内容),才需要输入所有者密码。如果使用两种类型的密码保.转载 2021-06-21 11:55:30 · 3030 阅读 · 0 评论 -
根据文件名获取contentType
场景:实际项目中,经常需要获取文件的contentType。上传文件时,服务器需要知道文件类型,做文件格式校验和格式转换;下载文件时,需要返回浏览器content_type,告诉浏览器文件类型,以便浏览器能够解析文件内容。springframework提供的MediaTypeFactory工具类可以很方便的获取contentType值,代码如下import org.springframework.http.MediaType;import org.springframework.http原创 2021-02-10 11:21:21 · 3128 阅读 · 0 评论 -
Pdf常用工具类及签章异常常见问题
import lombok.extern.slf4j.Slf4j;import org.apache.pdfbox.io.MemoryUsageSetting;import org.apache.pdfbox.pdmodel.PDDocument;import org.apache.pdfbox.pdmodel.PDPage;import org.apache.pdfbox.pdmodel.PDPageContentStream;import org.apache.pdfbox.pdmodel..原创 2021-02-09 14:24:22 · 5674 阅读 · 1 评论 -
LRU算法集合简单实现
场景:本地缓存实现LRU算法,即最新使用的数据排在前面,不常使用的数据自动踢出LRULinkedHashMap.javaimport java.util.Iterator;import java.util.LinkedHashMap;import java.util.Map;/** * 固定长度map,实现LRU算法 * 如果map里面的元素个数大于了缓存最大容量,则删除链表的顶端元素...原创 2018-04-12 11:13:21 · 844 阅读 · 0 评论 -
固定长度List,超长自动删除队尾数据
FixSizeLinkedList.javaimport java.util.LinkedList;import com.alibaba.fastjson.JSON;/** * 固定长度List * 如果List里面的元素个数大于了缓存最大容量,则删除链表的顶端元素 * @author lixiangjing * @param <K> * @param <V&g...原创 2018-04-12 11:04:45 · 12593 阅读 · 3 评论 -
Java自动过期本地缓存简单实现
实际项目中常常需要用到本地缓存,特别是一些固定不变的数据,不想频繁调接口,因为http请求本身需要耗时,下面几个类对本地缓存作了简单实现,支持自动过期功能LocalCache.javainterface LocalCache { public void refresh();}LocalCacheItem.java/** * 缓存项 * @author: * @date: 2018年...原创 2018-04-12 10:59:20 · 12002 阅读 · 0 评论 -
临时邮箱
http://24mail.chacuo.net/该网站可以提供有效期为24小时的临时邮箱,在开发测试中,非常实用,可以用临时邮箱进行网站注册,接收邮件拓展:其他临时邮箱地址:三十三个免费匿名临时邮箱服务申请临时手机号接收短信:www.pinger.com、textnow.com...原创 2018-04-12 10:25:31 · 35744 阅读 · 0 评论 -
谷歌网页性能分析
https://developers.google.com/speed/pagespeed/insights/输入网址,谷歌可以对网站性能进行分析,得出综合评分,还会给出优化建议,可以参考建议对网站进行优化原创 2018-04-12 10:18:01 · 3134 阅读 · 0 评论 -
最常用快捷键
内容提示:Alt + / 快速修复:Ctrl + 1导包:Ctrl + shift + O进入方法内部Ctrl+左键向前向后:Alt + 左右方向键添加块注释 Ctrl+Shift+/除去块注释 Ctrl+Shift+\添加/除去行注释 Ctrl+/复制当前行Ctrl+Alt+上/下(在某些机器上与显卡快捷键冲突)Ctrl+Alt+左/右格式化原创 2013-11-21 22:16:33 · 766 阅读 · 0 评论 -
excel导入导出通用工具类
前言所做的事,统一了一下导入报表开发模板和导出报表开发模板特性导入模板具有以下特性:1、列格式化和列值校验,是否允许空判断2、可指定列提取3、提供回调函数,进行额外字段填充和业务逻辑4、报错机制,报错提示批量、准确此套导入和导出开发模板简单易用,可读性强,维护方便,让程序员避开复杂的代码操作,专注业务。基础类涉及到的类如下,包路径com.rxdai.原创 2016-10-21 14:51:16 · 5424 阅读 · 0 评论 -
Java常用工具包 Jodd
下文摘抄自:开源中国Jodd 是一个 Java 的工具包和一个微型框架。Jodd 工具增强了 JDK 提供很多强大的功能,帮助你实现日常的一些开发任务,让代码更加可靠和健壮。而 Jodd 框架是一个轻量级的应用框架,紧缩但强大。设计遵循 CoC、DRY 和 SCS 原则,让开发更加简单。 Jodd = tools + ioc + mvc + db + aop + tx + html转载 2014-02-07 11:10:14 · 3445 阅读 · 0 评论 -
java生成随机校验码图片
RandomValidateCode.javaimport java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.FileOutputStream;import j...转载 2018-04-12 11:25:28 · 276 阅读 · 0 评论 -
导出CSV文件工具类
CSVUtils.javaimport java.io.BufferedWriter;import java.io.IOException;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.util.List;import org.apache.commons.beanutils...原创 2018-04-12 11:31:51 · 1366 阅读 · 0 评论 -
IDEA使用笔记
常用命令自动补全返回值Eclipse对应Ctrl+2 + L,Idea对应Ctrl+Alt + V,为了方便我改成Ctrl+LCtrl+F9 手动编译只是修改方法内的代码,不需要重启应用,只需要ctrl+f9手动编译一下即可生效Ctrl+Alt+L 一键格式化代码 Ctrl + F12 显示当前类所有方法 Ctrl+Shift+U 大小写切换,为了方便我改成Ctrl+Shift...原创 2019-03-25 20:08:22 · 287 阅读 · 0 评论 -
LiquiBase数据库版本管理组件使用(带示例)
简介LiquiBase是一个用于数据库重构和迁移的开源工具,通过日志文件的形式记录数据库的变更,然后执行日志文件中的修改,将数据库更新或回滚到一致的状态。LiquiBase的主要特点有:支持几乎所有主流的数据库,如MySQL, PostgreSQL, Oracle, Sql Server, DB2等;支持多开发者的协作维护;日志文件支持多种格式,如XML, YAML, JSON...原创 2019-01-31 15:48:08 · 1563 阅读 · 1 评论 -
mybatis-generator生成代码(可生成注释)完整示例
说明:在java项目开发中一般都用到mybatis框架,就会涉及到实体和表的映射,mapper的生成,mybatis-generator插件可以根据表结构自动生成实体和mapper,大大简化了开发的工作量目前这个插件生成的原始实体没有字段注释,查找了一些资料找到了解决方法,通过实现mybatis-generator提供的PluginAdapter接口,从而自定义实体生成的规则,可以在实体类字段中...原创 2019-01-31 15:29:36 · 7743 阅读 · 1 评论 -
根据IP获取国家代码
pom.xml<dependency> <groupId>com.maxmind.geoip2</groupId> <artifactId>geoip2</artifactId> <version>2.9.0</version></dependency>示例Sys原创 2018-10-25 21:35:52 · 5579 阅读 · 2 评论 -
BeanUtils对象复制(深度拷贝)终极工具类
对象复制工具类,实现方法如下:复制对象(深度拷贝)复制集合(深度拷贝)复制对象到指定类(深度拷贝)复制集合到指定类(深度拷贝)POM<!-- 对象拷贝 --><dependency> <groupId>uk.com.robust-it</groupId> <artifactId>cloning<...原创 2018-10-03 21:45:48 · 13384 阅读 · 0 评论 -
Gzip压缩工具类
import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.zip.GZIPInputStream;import java.util.zip.GZIPOutp...原创 2018-10-03 21:28:25 · 1265 阅读 · 0 评论 -
大文件导出优化
在项目开发中,我们经常会遇到需要从数据库导出大量数据的情况,经常会因为数据量太大而难以导出。下面介绍下我是怎么处理的:1、用CSV代替POI导出,因为CSV格式比Eexcel同样数据量的情况下节省很多存储空间2、分配导出,每次查询5万或者10万条,生成一个CSV文件3、多文件打包,用ZipOutputStream将多个文件打包zip压缩包4、打包完后,再用GZIP压缩输出,减...原创 2018-10-03 21:25:39 · 2641 阅读 · 0 评论 -
ExcelUtils简单上手
其实ExcelUtils的User's Guide已经相当清楚了,我就权当体验中文记录一下了。1. 首先在项目classpath加入以下五个jar包:excelutils.jarpoi-2.5.1.jarcommons-logging.jarcommons-digester.jarcommons-beanutils.jar2. 建立一个Excel模板(demo.xls),如下图转载 2014-03-18 17:56:18 · 11439 阅读 · 0 评论 -
Java数学表示式解析工具- jeval
这个包可以为我们提高高效的数学表达式计算。举个例子:这个是我们策划给出的游戏命中率的一部份计算公式是否命中=a命中率 – (b等级 – a等级) * (命中系数(6)* b闪避率 / 100)+32为了好看点,我们把他变成:ahit-(blv-alv)*(6*beva/100)+32Jeval就是用在这种情况下的!!!!Jeval下载地址:http://www.oschina.原创 2014-12-23 12:01:44 · 8018 阅读 · 0 评论 -
maven常用命令
Maven常用命令: 1. 创建Maven的普通java项目: mvn archetype:create -DgroupId=packageName -DartifactId=projectName 2. 创建Maven的Web项目: mvn archetype:create -DgroupId=packageName转载 2014-08-02 21:45:29 · 536 阅读 · 0 评论 -
极大提高Web开发效率的8个工具和建议(含教程)
面对复杂的 Web 应用的开发,良好的流程和工具支持是必不可少的,它们可以让日常的开发工作更加顺畅、更加高效。本文介绍了6个Web开发利器以及相关的教程,帮助你在开发、调试、集成和发布过程极大地提高效率。Sublime TextSublimeText 是一款非常精巧的文本编辑器,适合编写代码、做笔记、写文章。它用户界面十分整洁,功能非同凡响,性能快得出奇。这些非常棒的特性包括任意跳转载 2014-06-30 22:07:44 · 1292 阅读 · 0 评论 -
Apache Commons 工具类介绍及简单使用
Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。下面是我这几年做开发过程中自己用过的工具类做简单介绍。组件功能介绍BeanUtils提供了对于JavaBean进行各种操作,克隆对象,属性等等.BetwixtXML与Java对象之间相互转换.Codec转载 2014-03-26 09:37:50 · 5707 阅读 · 0 评论 -
firefox快捷键
firefox快捷键搜索类:本页查找: Ctrl+F再次查找: F3输入查找链接: '输入查找文本: /查找: Shift+F3网页搜索: Ctrl+K 或 Ctrl+E#firefox快捷键导航类:后退: Alt+左方向键 或 Backspace前进: Shift+Backspace 或 Alt+右方向键首页: Alt+Home打开文件: Ct转载 2013-10-31 16:44:25 · 779 阅读 · 0 评论 -
2013-JVisualVM远程监听服务器内存进程
JVisualVM:可以用来远程监听服务器内存进程,抓取实时的堆栈信息。 使用步骤:1、在服务器的tomcat bin/catalina.sh 文件中添加参数 CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9008 -Dcom.sun.management.jmxre原创 2014-01-22 09:29:58 · 1915 阅读 · 0 评论 -
StatSvn 统计SVN代码信息
StatSvn 背景(copy的):StatSVN是一个Java写的开源代码统计程序,从statCVS移植而来,能够从Subversion版本库中取得信息,然后生成描述项目开发的各种表格和图表。比如:代码行数的时间线;针对每个开发者的代码行数;开发者的活跃程度;开发者最近所提交的;文件数量;平均文件大小;最大文件;哪个文件是修改最多次数的;目录大小;带有文件数量和代码行数的Repository转载 2014-02-28 15:00:05 · 962 阅读 · 0 评论 -
maven常见命令
Maven库:http://repo2.maven.org/maven2/Maven依赖查询:http://mvnrepository.com/Maven常用命令: 1. 创建Maven的普通java项目: mvn archetype:create -DgroupId=packageName -DartifactId=project转载 2013-10-31 16:28:38 · 703 阅读 · 0 评论 -
Eclipse快捷键大全
Ctrl+shift+/ 注释一段代码Ctrl+shift+\ 取消注释ctrl+d是删除当前行。当光标在一行的两端时,按住shift+home/end可以选择当前行ctrl+左右是跳过一个单词,ctrl+shift+左右是选择一个单词,可以连点左右已选择多个。Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复转载 2013-11-21 22:15:24 · 629 阅读 · 0 评论 -
软件设计之UML—UML的构成[上]
UML是一种通用的建模语言,其表达能力相当的强,不仅可以用于软件系统的建模,而且可用于业务建模以及其它非软件系统建模。UML综合了各种面向对象方法与表示法的优点,至提出之日起就受到了广泛的重视并得到了工业界的支持。本章将按视图、模型元素、图以及公共机制依次介绍UML的构造和基本元素,以使得读者对UML有一个总体了解,其具体细节将在后续章节中详细描述。画图工具:eDraw、jude转载 2013-10-22 10:49:09 · 1336 阅读 · 0 评论 -
UML中的六大关系
一、UML中的六大关系在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。 1.1、 继承关系—泛化(Generalization)指的是一个类(称为子类、子接口)继承另外的一个类(转载 2013-10-22 14:11:33 · 632 阅读 · 0 评论 -
使用Eclipse中提供的Refactor(重构)工具
1. Rename Rename重构的功能就是重命名Java元素。虽然可以通过手动修改文件的文件名或其它Java元素的名称,但这种方式不会更新与此Java元素相关联的引用,用户必须手动查找和此Java元素相关的位置,然后进行手动修改。通过手动修改名称的方式,造成笔误的可能性会太太增加。通过Eclipse提供的Rename的功能,Eclipse会自动完成更新相关引用的操作。当Java元素原创 2014-07-09 23:03:21 · 7438 阅读 · 0 评论 -
Findbugs 缺陷详解与英文代号的对照表
最近的工作中涉及到了 findbugs 的使用,从官方网站上下载了二进制包之后,仔细阅读了下它们的文档,并且小小的尝试了下 findbugs 的几种使用方法。如果使用 eclipse 插件或者图形界面的形式,界面上会显示出每個 BUG 的详细说明以及修改建议。但是如果将 BUG 列表以文档的形式导出之后,发现里面只有 BUG 的错误类型代码,而没有具体的说明,使用起来颇为不便,所以我就在网上找了找转载 2014-08-02 22:58:03 · 8931 阅读 · 0 评论 -
git和github使用
1、下载安装2、注册登录3、在github官网上创建项目4、检出项目:copy项目地址 在Linux命令行输入:git clone 地址5、git提交项目 git status查询当前目录状态 git add添加状态 git Reset撤出 git commit提交:添加评论 git push提交到github:输入用户名和密码6、window下检出提交 clo原创 2014-10-29 00:04:50 · 1612 阅读 · 0 评论 -
压力测试工具
压力测试主要测试系统的并发查询性能,原创 2014-09-05 14:52:46 · 1046 阅读 · 0 评论 -
在线编辑JSON工具
http://www.jsoneditoronline.org/原创 2014-09-05 12:14:11 · 1553 阅读 · 1 评论 -
Pager-taglib分页使用
一简介Pager-taglib,支持多种风格的分页显示。实际上她是一个Jsp标签库,为在JSP上显示分页信息而设计的一套标签,通过这些标签的不同的组合,会形成多种不一样的分页页面,风格各异,她自带的DEMO就有七种左右的分页风格,包括Google的分页风格。而需要订制自已的风格的分页页面也非常简单。 分页方式有两种: 一种是从Action中得到一个List,在页面上通过进行自动分页。转载 2014-08-02 22:11:22 · 730 阅读 · 0 评论