
Java工具类
Java工具类
墩墩分墩
生活就像是一场精心策划的冒险:是一名不折不扣的“吃货探险家,深谙与喵主子斗智斗勇之道御用铲屎官
通过撸铁徒步旅游对抗烦恼,虐完自己后身心都舒畅,喜欢镜头捕捉那些让人心动的瞬间,~
偶尔写写博客是我与世界对话的窗口,通过思考与分享,穿插些生活小确幸~
展开
-
【Java工具类】使用这3种原生方式可以轻松构建Java树形结构数据
在Java中构建树形结构可以使用递归方式,通常会有一个节点类和一个构建树的类 在开发的过程中很多业务场景需要一个树形结构的结果集进行前端展示,比如菜单结构、部门列表、文件结构等,也可以理解为是一个无限父子结构。原创 2025-01-07 10:53:38 · 334 阅读 · 0 评论 -
【Java工具类】建议使用Rsa加密JTW,贼安全!
【代码】【Java工具类】建议使用Rsa加密JTW,贼安全!原创 2023-04-11 15:03:28 · 416 阅读 · 1 评论 -
【Java工具类】学会MVEL2.0,表达式解析再不怕
MVEL为 `MVFLEX Expression Language`(MVFLEX表达式语言)的缩写,是一种基于`Java语法`,但又有着显著不同的表达式语言。与Java不同的是,MVEL是一种`动态/静态可嵌入`的表达式语言,意味着源代码中不需要`类型限定`。- 简单说是一种`表达式解析器。`我们可以自己写一些表达式,交给mvel进行解析计算,得到这个表达式计算的值。原创 2023-01-29 15:50:43 · 6977 阅读 · 0 评论 -
【Java工具类 】子类反射调用父类非继承方法, 不懂慎用~
文章目录一.工具类二.父类三.子类四.测试方法一.工具类/** * 私有方法调用工具类 * Description:利用java反射调用类的的私有方法 * * 注意:参数类型名列表,必须和方法接口严格一致,如接口中使用的是基类类型,则类型列表中,也必须使用基类类型,而不能使用其具体类型;另外,对于double,也必须使用double.class,而不能使用Double.class. */public class PrivateUtil { /** * 利用递归找一个类的指原创 2021-12-26 20:18:53 · 592 阅读 · 0 评论 -
【Java工具类】自从会使用分批执行方法后,老板再也不用担心我写for循环
**分页执行方法,即分批执行,主要采用java8新增的stream来进行分批处理**本人总结的如下几种方法- List 分成多个子list- 使用函数接口Consumer,执行统一方法-无返回值,- 使用函数接口Function,执行统一方法-有返回值- 使用Executors+分页方法分批并行执行方法原创 2021-12-13 11:27:22 · 1635 阅读 · 0 评论 -
【Java工具类】数字转汉字工具
**数字转汉字的原理:**- **拆分**:由于整数部分要加权值,而小数部分直接转换即可,所以首先要`将数字拆分成整数+小数`;- **整数处理**:按照我们的中国人的习惯,把`数字格式化成4位一组,不足4位前面补0`。每次处理4位,按位匹配数组中的`汉字+单位`。 - 即按照数值找`数字数组(num_lower 、num_upper )中对应位置的汉字`,按照在`4位中的偏移量在单位数组(unit_lower 、unit_upper )中的汉字`。比如21,转化4位为0021,前面的0不用管,2对原创 2021-07-01 10:56:38 · 548 阅读 · 0 评论 -
【Java工具类】中文转换成汉语拼音工具-pinyin4j
在JAVA 编程中我们经常免不了需要对中文排序,而往往我们排序的依据就是中文的首字母,当然无论依据什么排序,我们都需要将中文转换成为String, 而pinyin4j是一个开源的java库,用来处理中文转换成拼音(汉语拼音,罗马拼音等),功能强大,用框架可以实现中文转汉语拼音原创 2021-07-01 10:35:36 · 2637 阅读 · 0 评论 -
【Java工具类】线程池工厂工具
import java.util.concurrent.*;import java.util.concurrent.atomic.AtomicInteger;/** * 线程池工厂工具 * */public class ThreadPoolFactory { /** * 生成固定大小的线程池 * * @param threadName 线程名称 * @return 线程池 */ public static ExecutorSe.原创 2021-05-11 17:37:56 · 401 阅读 · 0 评论 -
【Java工具类】request.getParameterMap()转Map工具类
request.getParameterMap()转Map工具类原创 2021-04-08 15:36:57 · 1391 阅读 · 1 评论 -
【Java工具类】反射工具类(支持操作父类的方法、属性值)
反射工具类(支持操作父类的方法、属性值)原创 2021-04-08 15:35:37 · 349 阅读 · 0 评论 -
【Java工具类】对象与Map相互转换工具类
对象与Map相互转换工具类,支持对象转Map、Map转对象原创 2021-04-08 15:32:52 · 1183 阅读 · 0 评论 -
【Java工具类】对称加密之整合AES、DES算法加解密工具类
对称加密算法只是为了区分非对称加密算法。特点就是加密是加密解密使用相同的密钥,而非对称加密加密和解密时使用的密钥不一样。对称加密的密钥交换时可以使用非对称加密,这有效保护密钥的安全。非对称加密加密和解密密钥不同,安全性高,但加解密的速度很慢,不适合对大数据加密。而对称加密加密速度快,因此混合使用最好。常用的对称加密算法有:AES和DES.DES:比较老的算法,一共有三个参数入口(原文,密钥,加密模式)。而3DES只是DES的一种模式,是以DES为基础更安全的变形,对数据进行了三次加密,也.原创 2021-03-25 17:50:56 · 551 阅读 · 0 评论 -
【Java工具类】对称加密之封装AES算法加解密工具类
import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;import javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec;import java.security.Key;import java.util.UUID;public class AESSecurityUtil { // 加密算法 /** 指定加密算法为RSA */ privat原创 2021-03-25 17:13:36 · 238 阅读 · 0 评论 -
【Java工具类】用于专门匹配手机号与座机号工具类
import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 用于专门匹配手机号与座机号工具类 */public class NumberUtil { //用于匹配手机号码 private final static String REGEX_MOBILEPHONE = "^0?1[3456789]\\d{9}$";//11-12 //用于匹配固定电话号码 private final stat原创 2021-03-25 17:06:05 · 647 阅读 · 0 评论 -
【Java工具类】替换字符串占位符{xxx}、${xxx}工具类
import java.util.Map;import java.util.regex.Matcher;import java.util.regex.Pattern;public class StringTemplateUtil { public static final String DEF_REGEX_1 = "\\{(.+?)\\}"; public static final String DEF_REGEX_2 = "\\$\\{(.+?)\\}"; public原创 2021-03-25 17:03:57 · 2230 阅读 · 0 评论 -
【Java工具类】摘要算法之MD5、SHA1工具类
import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.nio.MappedByteBuffer;import java.nio.channels.FileChannel;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class Digest原创 2021-03-25 16:59:32 · 446 阅读 · 0 评论 -
【Java工具类】非对称加密之使用RSA算法序列化保存处理公钥私钥加解密工具类
import javax.crypto.Cipher;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.math.BigInteger;import java.security.*;import java.security.interfaces.RSAPrivat原创 2021-03-25 16:56:33 · 589 阅读 · 0 评论 -
【Java工具类】非对称加密之RSA算法工具类(分段处理)
文章目录RAS工具类AES工具类RSA加密内容过长导致抛异常javax.crypto.IllegalBlockSizeException: Data must not be longer than 117 bytes......解决方案是分段进行加密数据,是使用RSA加密AES的密码,然后使用AES来加密数据。两者比较推荐使用后者,前者的加密方式确实安全,每次加密解密太慢了,如果使用AES加密速度就快了很多,但是不足够安全,这时候使用RSA来加密一下AES的秘钥,这样就更加的安全了。RAS工原创 2021-03-25 16:53:22 · 1127 阅读 · 0 评论 -
【Java工具类】非对称加密之RSA算法工具类
import javax.crypto.Cipher;import java.security.*;import java.security.interfaces.RSAPrivateKey;import java.security.interfaces.RSAPublicKey;import java.security.spec.PKCS8EncodedKeySpec;import java.security.spec.X509EncodedKeySpec;import java.util.B原创 2021-03-25 16:44:35 · 342 阅读 · 0 评论 -
【Java相关】Java经典逻辑编程50题
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?程序分析:兔子的规律为数列1,1,2,3,5,8,13,21…判断101-200之间有多少个素数,并输出所有素数。程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数打印出...原创 2019-07-23 17:22:56 · 1033 阅读 · 0 评论