Java对象之集合
最是那一低头的温柔
这个作者很懒,什么都没留下…
展开
-
多线程使用不当导致的OOM -ExecutorCompletionService
事故总结集锦-多线程使用不当导致的OOM -ExecutorCompletionService的 “套路” 02(一周一更) - 掘金原创 2022-04-15 15:14:02 · 251 阅读 · 0 评论 -
完美解决java读取大文件内存溢出的问题
1. 传统方式:在内存中读取文件内容读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: 1 2 Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 实际上是使用BufferedReader或者其子类LineNumberReader来读取的。传统方式的原创 2021-11-25 20:52:31 · 10118 阅读 · 1 评论 -
hibernate validation,spring validation自定义校验------只能为指定值
https://blog.csdn.net/qq_31417669/article/details/85046415原创 2020-11-19 14:34:54 · 1321 阅读 · 0 评论 -
优雅的校验参数-javax.validation
https://www.jianshu.com/p/67d3637493c7原创 2020-11-19 13:52:16 · 151 阅读 · 0 评论 -
高效率的集合交集(差集)处理方式
高效率的集合交集(差集)处理方式https://blog.csdn.net/Yunwei_Zheng/article/details/105955777我们在业务上难免会遇到集合交集的处理,这边总结了几种方式比较,然后寻求最优的方式。当然如果集合数据比较少的情况下,选取的方式基本都能满足需求,但是如果在数据量比较大的情况下呢?如果选取的方式不好,那么效率就会及其的低下。下面我们就集中方式展开分析。ArrayList原生接口retainAll(c)方式 public static ...转载 2020-05-19 09:30:13 · 995 阅读 · 2 评论 -
mybatis的mapper返回map结果集
Java 技术学习 https://www.itkc8.com通过MapKey指定map的key值 @MapKey("id") Map<Long, UserInfo> getUserInfoMap(); @MapKey("id") Map<Long, Map<String,Object>> getUserV...转载 2018-07-12 14:31:39 · 1019 阅读 · 2 评论 -
在ArrayList的循环中删除元素,会不会出现问题?
Java 技术学习 https://www.itkc8.com在 ArrayList 的循环中删除元素,会不会出现问题?我开始觉得应该会有什么问题吧,但是不知道问题会在哪里。在经历了一番测试和查阅之后,发现这个“小”问题并不简单!不在循环中的删除,是没有问题的,否则这个方法也没有存在的必要了嘛,我们这里讨论的是在循环中的删除,而对 ArrayList 的循环方法也是有多种的,这里定义一个类...转载 2018-09-14 11:21:33 · 3414 阅读 · 0 评论 -
Java 动态代理,看这篇就够了
Java 技术学习Redis技术学习 https://www.itkc8.com这篇文章需要用到 Java 的反射知识,如果对反射还不清楚的小伙伴,可以先移步到这里 《Java进阶-反射》。编程思想都是来自于生活的,“代理” 在生活中很常见。比如我们买一个东西时,一般都不会是直接从工厂里买的,而是去商店或者其他的商家买,这些商家做的事情就是代理。再比如,做微商的朋友经常在朋友圈里推广商品,...转载 2018-09-14 11:22:30 · 178 阅读 · 0 评论 -
BloomFilter(大数据去重)+Redis(持久化)策略
之前在重构一套文章爬虫系统时,其中有块逻辑是根据文章标题去重,原先去重的方式是,插入文章之前检查待插入文章的标题是否在ElasticSearch中存在,这无疑加重了ElasticSearch的负担也势必会影响程序的性能!BloomFilter算法简介:布隆过滤器实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远...转载 2018-09-21 14:54:39 · 725 阅读 · 1 评论 -
ArrayUtils,ListUtils,MapUtils,ObjectUtils,SystemUtils
Java技术学习 https://www.itkc8.comArrayUtils数组工具类,可用于数组常用操作,如: isEmpty(V[] sourceArray) 判断数组是否为空或长度为0 getLast(V[] sourceArray, V value, V defaultValue, boolean isCircle) 得到数组中某个元素前一个元素,isCircle表示是否循...转载 2018-11-07 12:52:13 · 642 阅读 · 0 评论 -
使用Mapstruct来进行PO与VO之间的映射
更多资源请访问 www.itkc8.comBeanUtils.copyProperties()方法和PropertyUtils.copyProperties()的区别首先两者来源于同一个包: 1 2 import org.apache.commons.beanutils.BeanUtils; import org.apache.commons...转载 2019-02-14 14:50:13 · 1057 阅读 · 0 评论 -
Java 中List集合使用多线程分段处理
更多多线程知识请访问 www.itkc8.com因业务需要,需从excel读取数据并插入数据库,由于数据量较大,耗时较长,考虑使用多线程来处理1.读取到的list按数据量分段2.动态创建线程public class ScmcommissionLineServiceImpl{//导入数据public void importData(List list){...转载 2019-03-24 19:32:03 · 1727 阅读 · 0 评论 -
Java Bean Validation 最佳实践
Java实体的验证参数 更多访问 www.itkc8.com参数校验是我们程序开发中必不可少的过程。用户在前端页面上填写表单时,前端js程序会校验参数的合法性,当数据到了后端,为了防止恶意操作,保持程序的健壮性,后端同样需要对数据进行校验。后端参数校验最简单的做法是直接在业务方法里面进行判断,当判断成功之后再继续往下执行。但这样带给我们的是代码的耦合,冗余。当我们多个地方需要校验时,我们就...转载 2019-08-23 20:08:45 · 200 阅读 · 0 评论 -
JAVA LIST分批处理
Java 技术学习 https://www.itkc8.com进行了分批处理,用LIST的SUBLIST方法进行了分批。此算法比较简单,但想起来,也得花个分把钟,在时间紧急的情况下,还是"拿来主义"比较方便点。现在把它贴出来,存在这,供以后用到时方便查询代码如下: import java.util.ArrayList;import java.util.List;public...转载 2018-06-28 15:41:38 · 881 阅读 · 0 评论 -
按指定大小,分隔集合,将集合按规定个数分为n个部分
Java技术学习 https://www.itkc8.compackage com.ybf.common;/** * Created by HUXU on 2017/12/9. */import java.util.ArrayList;import java.util.List;/** * 分割list * * @author huxu * @create 20...转载 2017-12-09 17:05:46 · 1215 阅读 · 0 评论 -
Java程序员必须掌握的8大排序算法
Java技术学习 https://www.itkc8.com本文主要详解了Java语言的8大排序的基本思想以及实例解读,详细请看下文8种排序之间的关系:1, 直接插入排序(1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。(2)...转载 2015-01-13 09:33:11 · 445 阅读 · 0 评论 -
Java Map遍历方式方式及性能测试
Java技术学习 https://www.itkc8.com1. 阐述对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率。那么实际情况如何呢?为了解遍历性能的真...转载 2015-01-13 09:31:52 · 555 阅读 · 0 评论 -
对Map按key和value分别排序
Java技术学习 https://www.itkc8.com一.理论准备 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。 TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 ...转载 2016-05-28 16:53:03 · 438 阅读 · 0 评论 -
java List 排序 Collections.sort()
Java技术学习 https://www.itkc8.com用Collections.sort方法对list排序有两种方法 第一种是list中的对象实现Comparable接口,如下: /** * 根据order对User排序*/public class User implements Comparable<User>{ private Stri...转载 2016-05-28 16:55:11 · 532 阅读 · 0 评论 -
java 实现 分组 函数
public class test { public static void main(String[] args) { List<Bill> list = new ArrayList<Bill>(); Bill b = new Bill(); b.setType("A"); b.setMoney(1); list.add(b); b = new...转载 2016-05-31 17:33:23 · 3139 阅读 · 0 评论 -
List集合按数量分组
import java.util.ArrayList;import java.util.List;public class CollectionGroupUtil { public static List groupListByQuantity(List list, int quantity) { if (list == null || list.size...转载 2016-05-31 17:46:41 · 5547 阅读 · 0 评论 -
java.util.List的remove()方法使用技巧
List list;//初始化就不写了for(int i=list.size()-1;i>=0;i--){ list.remove(i);}Java技术学习 https://www.itkc8.com 一.list.remove(i) public static void main(String[] args) { List<Integer&g...转载 2016-05-31 17:55:24 · 5773 阅读 · 0 评论 -
Java 的JSON、XML转换方法——目录索引
Java技术学习 https://www.itkc8.comJSON及XML的Java序列化、反序列化(转换)在WebService、Ajax数据传递中,用得比较多。如:在用ExtJS、jQuery、mootools以及一些WebService时,你可以需要用到JSON、XML,给前端传递JSON或XML数据。这个时候你就可以用下面的这些技术帮助你转换Java对象,这些技术都可以轻易完成...转载 2016-07-19 11:05:14 · 498 阅读 · 0 评论 -
Java常用的工具类一
package com.cucpay.tradeportal.util;import java.io.UnsupportedEncodingException;import java.lang.reflect.Field;import java.net.URLDecoder;import java.net.URLEncoder;import java.nio.charset.Chara转载 2016-07-19 11:17:11 · 667 阅读 · 0 评论 -
Java Map 按Key排序和按Value排序
Java技术学习 https://www.itkc8.comMap排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value)。1、按键排序jdk内置的java.util包下的TreeMap<K,V>既可满足此类需求,向其构造方法 TreeMap(Comparator<? super K>...转载 2017-11-11 09:32:02 · 509 阅读 · 0 评论 -
Java Map 按key排序和按Value排序
dubbo技术学习,更多知识请访问https://www.itkc8.com一.理论准备 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。 TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创...转载 2017-11-11 09:33:56 · 283 阅读 · 0 评论 -
Java Map集合利用比较器Comparator根据Key和Value的排序
Java技术学习 https://www.itkc8.com查看原文:http://www.ibloger.net/article/154.htmlTreeMap排序根据Key进行排序Map的根据key排序需要用到TreeMap对象,因为它是默认按照升序进行输出的,可以使用比较器compareTo对它进行降序排序,Comparator可以对集合对象或者数组进行排序的比较器接口,实现...转载 2017-11-11 09:37:05 · 1129 阅读 · 0 评论 -
一. 流式处理简介
https://www.cnblogs.com/shenlanzhizun/p/6027042.htmlJava技术学习 https://www.itkc8.com一. 流式处理简介 在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作变得简洁了许多,通常我们需要多行代码才能完成的操作,借助于流式处理可以在一行中实现。比如我们希望对一个包含整数的集合中筛选出所有的偶...转载 2017-12-09 17:15:44 · 8501 阅读 · 0 评论 -
java中数组与List相互转换的方法
Java技术学习 https://www.itkc8.com1.List转换成为数组。(这里的List是实体是ArrayList) 调用ArrayList的toArray方法。 toArray public <T> T[] toArray(T[] a)返回一个按照正确的顺序包含此列表中所有元素的数组;返回数组的运行时类型就是指定数组的运行时类型。如果列表能放入指定...转载 2013-07-09 15:27:25 · 562 阅读 · 0 评论