千家信息网

JAVA中Beans与Utils哪个更好

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章主要讲解了"JAVA中Beans与Utils哪个更好",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"JAVA中Beans与Utils哪个更好"吧
千家信息网最后更新 2025年01月24日JAVA中Beans与Utils哪个更好

这篇文章主要讲解了"JAVA中Beans与Utils哪个更好",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"JAVA中Beans与Utils哪个更好"吧!

1.apache BeanUtils 性能太差 日志太多
2.Apache PropertyUtils 性能可以参考,但是数据量大了比起Cglib 还是慢很多
3.Spring BeanUtils 上了一定的数量级别比较慢
4.Cglib BeanCopier 目前看来比较稳定
5.com.rits.cloning ,数量级别大了 也慢

package com.helloxin.restful.api;import com.helloxin.restful.api.bo.CarBO;import com.rits.cloning.Cloner;import lombok.extern.slf4j.Slf4j;import net.sf.cglib.beans.BeanCopier;import org.apache.commons.beanutils.PropertyUtils;import org.junit.Test;import org.springframework.beans.BeanUtils;import java.lang.reflect.InvocationTargetException;import java.util.List;import java.util.stream.Collectors;import java.util.stream.IntStream;@Slf4jpublic class BeanCopyTest {    final static public Integer NUM = 10000;    @Test    public void beanSpringCopyTest() {        List list = createData(NUM);        long start = System.currentTimeMillis();        for(int i = 0;i< NUM;i++){            CarBO newCar = new CarBO();            BeanUtils.copyProperties(list.get(i), newCar);        }        log.info("duration={}", System.currentTimeMillis() - start);    }    @Test    public void beanCglibCopyTest() {        List list = createData(NUM);        long start = System.currentTimeMillis();        BeanCopier b = BeanCopier.create(CarBO.class, CarBO.class, false);        for(int i = 0;i< NUM;i++){            CarBO newCar = new CarBO();            b.copy(list.get(i), newCar, null);        }        log.info("duration={}", System.currentTimeMillis() - start);    }    @Test    public void beanApacheCopyTest() throws InvocationTargetException, IllegalAccessException {        List list = createData(NUM);        long start = System.currentTimeMillis();        BeanCopier b = BeanCopier.create(CarBO.class, CarBO.class, false);        for(int i = 0;i< NUM;i++){            CarBO newCar = new CarBO();            org.apache.commons.beanutils.BeanUtils.copyProperties(newCar,list.get(i));        }        log.info("duration={}", System.currentTimeMillis() - start);    }    @Test    public void beanApachePropertyUtilsCopyTest() throws InvocationTargetException, IllegalAccessException, NoSuchMethodException {        List list = createData(NUM);        long start = System.currentTimeMillis();        BeanCopier b = BeanCopier.create(CarBO.class, CarBO.class, false);        for(int i = 0;i< NUM;i++){            CarBO newCar = new CarBO();            PropertyUtils.copyProperties(newCar,list.get(i));        }        log.info("duration={}", System.currentTimeMillis() - start);    }    @Test    public void beanRitsCloningTest() throws InvocationTargetException, IllegalAccessException, NoSuchMethodException {        List list = createData(NUM);        long start = System.currentTimeMillis();        Cloner cloner = new Cloner();        for(int i = 0;i< NUM;i++){            cloner.deepClone(list.get(i));        }        log.info("duration={}", System.currentTimeMillis() - start);    }    private CarBO createData() {        return CarBO.builder().make("st").numberOfSeats(12).build();    }    private List createData(int num) {        return IntStream.range(0, num).mapToObj(i -> CarBO.builder().make("st").numberOfSeats(i).build()).collect(Collectors.toList());    }}

感谢各位的阅读,以上就是"JAVA中Beans与Utils哪个更好"的内容了,经过本文的学习后,相信大家对JAVA中Beans与Utils哪个更好这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

学习 内容 性能 数量 级别 就是 思路 情况 数据 文章 日志 更多 知识 知识点 篇文章 跟着 还是 问题 参考 实践 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 dhcp服务器能管理 数据库的删表语录 税务局网络安全应急预案 php可以搭配几种数据库 广西华为数字服务器 每年9月第几周是网络安全周 怎么从命令行退出数据库 软件开发需要的硬件环境 炸我的世界服务器的那个人叫啥 CIM软件开发做什么 上海夺汇网络技术是外包吗 软件开发项目面试讲不清楚 网络技术有限公司业务性质 大型数据库技术PPT 多媒体数据库实际应用 仟成保互联网科技有限公司 传说对决出现无法接服务器 安全狗 服云 服务器 部落冲突实验室级数据库 抖音数据库公司 中控考勤 数据库 sql 计算机网络安全的基础是什么 传统软件开发方法有哪些 怎样录入个人证书入后台数据库 护苗行动网络安全班会教案 网络安全宣传语小学生 连云港思文网络技术有限公司 sqlyog数据库改密码 access数据库不等于怎么写 安徽数据软件开发服务厂家现货
0