package com.xinyartech.erp.core.util; import java.lang.management.ManagementFactory; import java.net.InetAddress; import java.net.NetworkInterface; import java.util.HashSet; import java.util.Set; /** * <p>名称:IdWorker.java</p> * <p>描述:分布式…
package com.ad.ssp.engine.common; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Map.Entry; import org.apache.http.Header; import org.apache.http.entity.ByteArrayEntity; import or…
Java,面试题,简历,Linux,大数据,常用开发工具类,API文档,电子书,各种思维导图资源,百度网盘资源BBS论坛系统 ERP管理系统 OA办公自动化管理系统 车辆管理系统 家庭理财系统 各种后台系统 一.面试题.简历资源 二.各类思维导图 三.大数据学习 四.Linux 五.各类常用开发工具类 六.百度网盘各类资源,包含java开发,项目实战,MYSQL,框架学习,大数据,Linux等等,应有尽有 百度网盘面试题资源 MySQL数据库 七.管理系统 程序员的道路,是一个不断不断不断学习的…
package com.minxinloan.utils; import java.math.BigDecimal; public class Arith { // 源文件Arith.java: /** * 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精 确的浮点数运算,包括加减乘除和四舍五入. */ // 默认除法运算精度 private static final int DEF_DIV_SCALE = 10; // 这个类不能实例化 private Arith() {…
需求:取stock表中id最大值+1,作为下一个id值. 特殊情况:考虑到表中会没有值,max(id)会返回空,因此需要用case when进行判断. 实现一:select (case max(id) is null when true then 0 else max(id)+1 end) from stock 实现二:select (case (select count(*) from stock) when 0 then 0 else max(id)+1 end) from stock 效率…
业务需要求不同类型的交集.并集.差集为避免代码冗余编写工具类. 注:list 转数组需传入数组,如果将原数组传入将会改变原数组的值,同时泛型数组又不可以实例化,解决方案:Arrays.copyOf(n,list.size())  ,使用copyOf功能,开辟返回集合的等长新数组,避免修改原数组. public static <T>T[] getIntersection(T[] n,T[] m){ List<T> list= MathUtils.getIntersection(Arr…
目录 LockSupport概述 park与unpark相关方法 中断演示 blocker的作用 测试无blocker 测试带blocker JDK提供的demo 总结 参考阅读 系列传送门: Java并发包源码学习系列:AbstractQueuedSynchronizer Java并发包源码学习系列:CLH同步队列及同步资源获取与释放 Java并发包源码学习系列:AQS共享式与独占式获取与释放资源的区别 Java并发包源码学习系列:ReentrantLock可重入独占锁详解 Java并发包源码…
在我们的APP开发中,通常需要获取到设备的唯一标识.在Android6.0之前,有很多方法我们可以方便获取到硬件的唯一标识,但是在Android6.0之后,Android系统大幅限制了我们获取设备的硬件信息. Android6.0之前的方法(已过时) DEVICE_ID 通getSystemService(Context.TELEPHONY_SERVICE).getDeviceId()获取,但是6.0之后必须申请READ_PHONE_STATE,并且获取到的这个值在不同的厂商和设备中并不可靠.…
#(1)redis分布式锁 官方叫做RedLock算法,是redis官方支持的分布式锁算法. 这个分布式锁有3个重要的考量点,互斥(只能有一个客户端获取锁),不能死锁,容错(大部分redis节点创建了这个锁就可以) redis最普通的分布式锁的实现原理 RedLock算法 (2)zk分布式锁 zk分布式锁,其实可以做的比较简单,就是某个节点尝试创建临时znode,此时创建成功了就获取了这个锁:这个时候别的客户端来创建锁会失败,只能注册个监听器监听这个锁.释放锁就是删除这个znode,一旦释放掉就…
前言 在互联网的业务系统中,涉及到各种各样的ID,如在支付系统中就会有支付ID.退款ID等.那一般生成ID都有哪些解决方案呢?特别是在复杂的分布式系统业务场景中,我们应该采用哪种适合自己的解决方案是十分重要的.下面我们一一来列举一下,不一定全部适合,这些解决方案仅供你参考,或许对你有用. 正文 分布式ID的特性 唯一性:确保生成的ID是全网唯一的. 有序递增性:确保生成的ID是对于某个用户或者业务是按一定的数字有序递增的. 高可用性:确保任何时候都能正确的生成ID. 带时间:ID里面包含时间,一…