verysu 设计模式 设计模式 响应式编程 百度开发平台 codeforces leetcode usfca

导航

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;
            }
        });

  

posted on 2021-04-15 11:24  泳之  阅读(194)  评论(0)    收藏  举报

我是谁? 回答错误