java常用工具jar 序列化对象
(1)Hutool
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率。详细用法参考在线文档:https://hutool.cn/docs/#/
(2)Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。详细用法参考我的另一篇文章:fastjson的jsonObject-jsonArray处理
(3)commons-lang3
commons-lang3也是一个小而全的Java工具类库,类似于上面的Hutool,可以简化我们的代码,里面有很多对时间、数组、数字、字符串等的处理。详细用法参考官方文档:https://commons.apache.org/proper/commons-lang/javadocs/api-release/index.html(英文)
Apache POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。详细用法参考官方文档:http://poi.apache.org/apidocs/4.0/,我自己也写了一篇文章是关于poi处理Excel数据的:poi实现excel数据导入到mysql数据库(加上excel的验证)
序列化对象
public static <T extends TreeBase<T, I>, I extends Serializable> T generateTree(Collection<T> trees) {
if (CollectionUtils.isEmpty(trees)) {
return null;
} else {
T result = null;
Map<I, T> treesMap = new HashMap();
trees.forEach((treex) -> {
treesMap.put(treex.getId(), treex);
});
Iterator var3 = trees.iterator();
while(var3.hasNext()) {
T tree = (TreeBase)var3.next();
if (tree.getParentId() == null) {
result = tree;
} else if (treesMap.containsKey(tree.getParentId())) {
((TreeBase)treesMap.get(tree.getParentId())).addChildOrg(tree);
}
}
return result;
}
}
Multimap<String, String> multimap = ArrayListMultimap.create();
multimap.put("名称", "张三");
multimap.put("名称", "李四");
System.out.println(multimap.get("名称"));
BiMap<String ,String> biMap = HashBiMap.create();
biMap.put("key1", "value");
biMap.put("key2", "value");
System.out.println(biMap.get("key1"));
guava的缓存
Cache<String, String> cache =CacheBuilder.newBuilder()
.initialCapacity(100)// 设置初始容量为100
.maximumSize(2)//缓存所能够存储的最大记录数量。当Cache中的记录数量达到最大值后再调用put方法向其中添加对象,Guava会先从当前缓存的对象记录中选择一条删除掉,腾出空间后再将新的对象存储到Cache中
.expireAfterAccess(2, TimeUnit.SECONDS)//缓存的过期时间
.concurrencyLevel(Runtime.getRuntime().availableProcessors())//// 设置并发级别为cpu核心数,默认为4
.build();
//使用自定义ClassLoader加载数据,置入内存中
LoadingCache<Integer, Integer> numCache = CacheBuilder.newBuilder().
expireAfterWrite(5L, TimeUnit.MINUTES).
maximumSize(5000L).
build(new CacheLoader<Integer, Integer>() {
@Override
public Integer load(Integer key) throws Exception {
System.out.println("no cache");
return key * 5;
}
});
浙公网安备 33010602011771号