目录 1 代码 1 代码 public class IdGenerator { public static final long WORKER_ID...
在集群中使用应传入机器码或唯一标识作为唯一ID的根据。 * * * 更新 添加了多个可选的构造方法,来适应不同的生成规则。...* @param machine 机器码 * @param digits 累加值的位数 * @return java.lang.String * @author...* @param machine 机器码 * @param randomDigits 随机数的位数 * @return java.lang.String * @...this.dateFlag.equals(l)){ this.dateFlag = l; randomSet.clear(); } //判断生成的随机数是不是已经呗用过...,如果是则重新生成 int randomNum = 0; do { randomNum = random.nextInt(Integer.parseInt
二维码工具篇 利用google的开源库 zxing 来实现二维码的生成,并实际修复一些常见的问题 项目地址: http://git.oschina.net/liuyueyi/quicksilver 1...- 官方的接入比较麻烦,特别是你想定制生成个性化的二维码时,需要了解到zxing内部的一些设置参数,这个工具则降低了这些成本,与zxing打交道的配置都有它来做,对外暴露一些友好的,易懂的参数配置 -...实现对实际二维码生成工具的解耦,假设zxing被爆出了什么安全漏洞,这里进行切换别的框架相对成本更低 - 个性化的定制 (如加logo) 目标 - 最开始是希望设计个通用的,与具体的二维码生成工具解耦(...());` 生成的code中, 就包含了二维码矩阵, 剩下的就是将矩阵渲染输出的问题, 输出没什么好说的,这里指出一点原生的zxing生成二维码的白边可能特别大,本工具类内部做了兼容,[点我查看大白边修复指南...使用说明 写完了就要开始实际用,写了个测试类,贴出如下 ```java /** * 测试二维码 */ @Test public void testGenQrCode
cors /* 工具类代码...: package com.wazn.learn.util; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain...==========="); } } 这种方法还适用于Servlet中,特别注意的是一定要在Filter动作之前加上这句话,也就是在代码的最前面加上这个话。...这里有个坑,Spring Boot以前的版本这样设置可以用Filter,但是在1.3.7.RELEASE不能用,所以用第二种方式是万能的。...这里在spring boot项目中应用的,所以没有其他配置文件,复制该代码就好了
jutils,通用的Java工具类,主要包括基础工具类(时间、正则表达式、字符串、随机数等等),excel解析生成、word解析生成、文件操作、图片操作、敏感字、加解密等等。 ?
import java.io.; import java.util.logging.Logger; import java.util.zip.; /** Created by sunyameng on...Logger.getLogger(ZipUtil.class.getName()); private static final int BUFFER = 1024 10; /** 将指定目录压缩到和该目录同名的zip...{ for (File f : fs) { compress(f, out, mainFileName); } } } } /** 将zip文件解压到指定的目录...,该zip文件必须是使用该类的zip方法压缩的文件 * @param zipFile 要解压的zip文件 @param destPath 指定解压到的目录 @return */ public static
此文仅对自己工作中用到的类进行总结,方便以后的使用。...package com.cn.hnust.util; import java.security.SecureRandom; import java.util.UUID; import org.springframework.context.annotation.Lazy...; import org.springframework.stereotype.Service; /** * 封装各种生成唯一性ID算法的工具类..., 通过Random数字生成, 中间无-分割. */ public static String uuid() { return UUID.randomUUID().toString().replaceAll...(random.nextLong()); } /** * 基于Base62编码的SecureRandom随机生成bytes. */ public static String randomBase62
大家好,又见面了,我是你们的朋友全栈君。...; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; import java.util.Map...; import java.util.function.BiConsumer; import java.util.function.Function; import java.util.stream.Collectors...; /** * 树形工具类-函数版 * * @author sunziwen */ public class TreeUtil { /** * Map版本(速度比递归要快很多...* @param getIdFn 获取主键的函数 * @param getParentIdFn 获取父节点的函数 * @param getChildrenFn
雪花算法生成id package com.xiepanpan.utils; import java.lang.management.ManagementFactory; import java.net.InetAddress...; import java.net.NetworkInterface; /** * 名称:IdWorker.java * 描述:分布式自增长ID * *...Twitter的 Snowflake JAVA实现方案 * * 核心代码为其IdWorker这个类实现,其原理结构如下,我分别用一个0表示一位,用—分割开部分的作用: *...),接下来的41位为毫秒级时间, * 然后5位datacenter标识位,5位机器ID(并不算标识符,实际是为线程标识), * 然后12位该毫秒内的当前毫秒内的计数,加起来刚好64位,为一个Long...} else { sequence = 0L; } lastTimestamp = timestamp; // ID偏移组合生成最终的
对于常用的算法生成的根据当前日期等生成的IP,在分布式环境下都有可能出现重复的状况。...雪花算法生成唯一ID SnowFlake的结构如下(每部分用-分开): 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000...- 000000000000 1位标识,由于long基本类型在Java中是带符号的,最高位是符号位,正数是0,负数是1,所以id一般是正数,最高位是0 41位时间截(毫秒级),注意,41位时间截不是存储当前时间的时间截...,而是存储时间截的差值(当前时间截 - 开始时间截) 得到的值),这里的的开始时间截,一般是我们的id生成器开始使用的时间,由我们程序来指定的(如下下面程序IdWorker类的startTime属性)...工具类代码 public class IDGenerateUtil { /** * 开始时间截 */ private final long twepoch = 1420041600000L
加密工具类 import org.apache.commons.codec.digest.DigestUtils; import java.util.Random; /** * @author MashiroT
ackage org.fh.util; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader...; import java.net.HttpURLConnection; import java.net.URL; import java.util.List; import java.util.Map...; /** * 说明:http 工具类 * 作者:FH Admin * from:fhadmin.cn */ public class HttpUtil { public static...encoding) throws Exception { URL url = new URL(generalUrl); // 打开和URL之间的连接...System.err.println(key + "--->" + headers.get(key)); } // 定义 BufferedReader输入流来读取URL的响应
mail 1.4.4 工具类代码...只需要将“需要修改”的注释的代码处,修改成自己的即可使用 我用的是 163 邮箱,用别邮箱,就更改即可 import javax.mail.Address; import javax.mail.Session...javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.util.Properties...发送的主机地址 使用谁发送 授权码 transport.connect("smtp.163.com", "你自己的邮箱", "你自己的授权码"); //需要修改密码 授权密码..." , "Java代码调用测试", "看到即成功~"); System.out.println("发送成功!
Arrays 类 java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能: 给数组赋值:通过fill方法。 对数组排序:通过sort方法,按升序。...数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。...如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。...3 public static void fill(int[] a, int val)将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。...同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。 4 public static void sort(Object[] a)对指定对象数组根据其元素的自然顺序进行升序排列。
大家好,我是大彬~ 在平时开发过程中,经常会重复“造轮子”,在同一个项目里面,可能会出现各种各样每个人自己实现的工具类,这样不仅降低了开发效率,而且代码也不好维护。...今天趁着国庆假期,整理了一些常用的工具类,在这里给大家分享一下,希望对大家有所帮助~ 字符串工具类 首先介绍一下commons-lang3的一个字符串工具类StringUtils,常用方法如下: 1、isEmpty...这里大彬推荐另一个时间工具类DateFormatUtils,用于解决日期类型和字符串的转化问题,DateFormatUtils不会有线程安全问题。...推荐使用commons-collections提供的工具类,使用简单,并且不会出错。...工具类。
java8Api中文网址:https://www.matools.com/api/java8 Guava 目前Google Guava在实际应用中非常广泛,让使用Java开发变得更加愉快,,它简单易用,...对Java语言是一个非常好的补充,可以说只要你在使用Java语言开发任何项目都应该使用Guava,它简单易用,对Java语言是一个非常好的补充。...有必要对该工具类库做一个使用的小结,以提升实际工作的效率 Guava是一个非常有用的现代程序库,在Java项目中强烈推荐使用它来取代Apache Commons的一些子项目(例如Lang, Collection..., IO等等),除了这里介绍的一些最常用的特性,它还包括缓存、网络、IO、函数式编程等等内容(其中函数式编程在Java 8中可以使用Stream和Lambda表达式等特性来实现)。...它的参考文档应该是Java程序员手头必备之物 Api文档链接:https://tool.oschina.net/apidocs/apidoc?
GetPropertiesValue.java import java.util.Properties; public class GetPropertiesValue { /** * ... * @Title: getValue * @Description: 根据配置文件路径,文件中的KEY获取对应的value * @author sizk * @param fileNmae... 配置文件名称 * @param key 需要的key * @return * @return String 返回对应的value * @see...import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.util.Properties...; public class UtilsProperties { /** * 根据clazz的物理路径,获取propertyFileName名称的属性文件的Properties对象
常用Arrays工具类介绍 java.util.Arrays类即为操作数组的工具类,包含了用来操作数组(比如排序和搜索)的各种方法。...元素将自动调用自己从Object继承的toString方法将对象转为字符串进行拼接,如果没有重写,则返回类型@hash值,如果重写则按重写返回的字符串进行拼接。...super T> c) 根据指定比较器产生的顺序对指定对象数组进行排序。...key) 要求数组有序,在数组中查找key是否存在,如果存在返回第一次找到的下标,不存在返回负数。...● 数组的复制 方法 描述 static int[] copyOf(int[] original, int newLength) 根据original原数组复制一个长度为newLength的新数组,并返回新数组
1:GetPropertiesValue.java import java.util.Properties; public class GetPropertiesValue { /** ...* * @Title: getValue * @Description: 根据配置文件路径,文件中的KEY获取对应的value * @author sizk * @param... fileNmae 配置文件名称 * @param key 需要的key * @return * @return String 返回对应的value...import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.util.Properties...; public class UtilsProperties { /** * 根据clazz的物理路径,获取propertyFileName名称的属性文件的Properties
领取专属 10元无门槛券
手把手带您无忧上云