当前位置: 首页 > news >正文

招远建网站首选公司做淘宝客网站需要什么要求吗

招远建网站首选公司,做淘宝客网站需要什么要求吗,免费在线制作网页,no.7主题wordpress常用列表构建方法: 1.ImmutableList.of() : 静态方法、不可变的列表 可以接受任意数量的参数,并将它们作为元素添加到新创建的列表中,但是一旦创建,集合的内容就不能被改变。在多线程环境中非常有用,因为…

常用列表构建方法:

1.ImmutableList.of() : 静态方法、不可变的列表

可以接受任意数量的参数,并将它们作为元素添加到新创建的列表中,但是一旦创建,集合的内容就不能被改变。在多线程环境中非常有用,因为它可以避免并发修改异常,并且可以安全地在多个线程之间共享。

使用 ImmutableList.of() 创建的列表是线程安全的,并且具有高效的性能,因为它们是预先计算和缓存的,这使得访问元素非常快速。

此外,由于列表是不可变的,所以它们是不可变的集合的一个很好的选择,可以作为函数的返回值,或者作为对象的属性,以确保集合的内容不会被外部代码修改。

2.Lists.newArrayList() : 用于快速创建一个空的 ArrayList, 或者从已有的集合或数组中创建一个新的 ArrayList。可变的,可以添加、删除或修改其中的元素。

流中map和flatMap的使用场景

在Java的Stream API中,map 和 flatMap 是两个常用的方法,它们都用于转换流中的元素,但使用场景和转换的方式有所不同。

使用 map 的情况

map 方法用于将流中的每个元素转换成另一种形式或类型,但是它不会改变流中元素的数量。map 通常用于一对一的转换。

例子: 假设你有一个 List 包含员工对象,每个员工对象都有一个 getName() 方法返回员工的名字。如果你想要得到一个包含所有员工名字的 List,你可以使用 map 方法:

List<Employee> employees = ...; // 员工列表
List<String> names = employees.stream().map(Employee::getName) // 将每个员工对象转换为名字.collect(Collectors.toList());

使用 flatMap 的情况

flatMap 方法用于将流中的每个元素转换成另一个流,然后将这些流合并成一个流。flatMap 通常用于一对多的转换。

例子: 假设你有一个 List 包含订单对象,每个订单对象都有一个 getItems() 方法返回该订单包含的商品列表。如果你想要得到一个包含所有订单中所有商品的 List,你可以使用 flatMap 方法:

List<Order> orders = ...; // 订单列表
List<Item> items = orders.stream().flatMap(order -> order.getItems().stream()) // 将每个订单转换为商品列表.collect(Collectors.toList());

在这个例子中,每个订单可能包含多个商品,flatMap 将每个订单的 getItems() 方法返回的 List<Item> 流化,并合并这些流,最终得到一个包含所有商品的 List<Item>。

总结

  • 使用 map 当你需要将流中的每个元素转换成另一个对象或值,且转换是一对一的。
  • 使用 flatMap 当你需要将流中的每个元素转换成一个流(或集合),并且想要将这些流合并成一个更大的流,且转换是一对多的。

flatMap 可以看作是 map 和 flatten 的组合,即先映射(map),然后将结果展平(flatten)成一个单一的流。

预编译正则表达式

正则表达式的预编译是指将正则表达式的字符串模式编译成一个 Pattern 对象。编译过程是比较耗时的操作,如果在方法体内定义,每次方法调用时都会重新编译正则表达式,增加了不必要的开销。因此,推荐在类的静态成员中预先编译正则表达式,并在需要时直接使用预编译的 Pattern 对象。

public class XxxClass {// Use precompileprivate static final Pattern NUMBER_PATTERN = Pattern.compile("[0-9]+");public Pattern getNumberPattern() {// Return the precompiled patternreturn NUMBER_PATTERN;}
}

这样修改后,每次调用 getNumberPattern() 方法时都会返回同一个预编译的 Pattern 对象,避免了重复编译的开销,提高了运行效率。

所有的包装类对象之间值的比较,全部使用equals方法比较。

  1. 对于Integer var=?在-128至127之间的赋值,Integer对象是在IntegerCache.cache产生,会复用已有对象,这个区间内的Integer值可以直接使用==进行判断,但是这个区间之外的所有数据,都会在堆上产生,并不会复用已有对象,这是一个大坑,推荐使用equals方法进行判断。
Integer a = 235;
Integer b = 235;
if (a.equals(b)) {// code
}

SimpleDateFormat(线程不安全)

在Java 1.8之后,SimpleDateFormat存在线程安全问题,因为它是非线程安全的。多线程环境中使用SimpleDateFormat可能会导致不可预测的结果。

JDK1.8后用:

private static final DateTimeFormatter dateTimeFormatter = 
DateTimeFormatter.ofPattern("yyMMddHHmmss");

JSON对象转string性能

  1. List<String>数组,转String对象输出
List<String> list = new ArrayList<>();
for(int i=0; i<2000000; i++){list.add(RandomString.get().randomAlphaNumeric(5));
}
long startone = System.currentTimeMillis();
cn.hutool.json.JSONUtil.toJsonStr(list);
long endone = System.currentTimeMillis();
System.out.println("cn.hutool.json.JSONUtil time:"+(endone-startone));
com.alibaba.fastjson.JSON.toJSONString(list);
long endtwo = System.currentTimeMillis();
System.out.println("com.alibaba.fastjson.JSON time:"+(endtwo-endone));
com.alibaba.fastjson2.JSON.toJSONString(list);
long endthree = System.currentTimeMillis();
System.out.println("com.alibaba.fastjson2.JSON time:"+(endthree-endtwo));
  1. 100个
    1. cn.hutool.json.JSONUtil time:14
    2. com.alibaba.fastjson.JSON time:55
    3. com.alibaba.fastjson2.JSON time:80
  1. 1000个
    1. cn.hutool.json.JSONUtil time:16
    2. com.alibaba.fastjson.JSON time:55
    3. com.alibaba.fastjson2.JSON time:85
  1. 10000个
    1. cn.hutool.json.JSONUtil time:24
    2. com.alibaba.fastjson.JSON time:69
    3. com.alibaba.fastjson2.JSON time:101
  1. 100000个
    1. cn.hutool.json.JSONUtil time:75
    2. com.alibaba.fastjson.JSON time:96
    3. com.alibaba.fastjson2.JSON time:93
  1. 1000000个
    1. cn.hutool.json.JSONUtil time:319
    2. com.alibaba.fastjson.JSON time:159
    3. com.alibaba.fastjson2.JSON time:124
  1. 2000000个
    1. cn.hutool.json.JSONUtil time:576
    2. com.alibaba.fastjson.JSON time:255
    3. com.alibaba.fastjson2.JSON time:132

结论:

  • 对于小规模数据的 JSON 序列化任务,Hutool 是一个很好的选择。
  • 对于大规模数据的 JSON 序列化任务,建议使用 Fastjson2,以获得更高的性能。

http://www.yayakq.cn/news/299043/

相关文章:

  • 邢台网站招聘员工123广告设计素材免费的网站
  • 网站设计推广新平台推广文案
  • 做油漆稀料用哪个网站php房产网站开发教程
  • 网站备案负责人一定要法人企业建立一个网站如何租用域名
  • 设计制作一个网站如何做互联网创业
  • 黑龙江网站建设seo优化建立网站要钱吗
  • 阅读网站怎样做果洛州wap网站建设公司
  • 汕头网站制作公司价格分宜网站建设
  • 昆明制作网站福州企业网站建设专业服务
  • 上海迈诺网站建设三只松鼠网站开发模板
  • 中山seo推广优化济南网站优化建设
  • 同学会网站建设方案公司建设网站费用直接列支
  • 手机网站代码什么是企业网
  • 推进门户网站建设做网站费用多少钱
  • 我想自学建网站wordpress远程图片下载插件
  • 大型网络建站公司大连地区网站建设
  • 优惠网站代理怎么做旅游网站建设风险分析
  • 营销型网站与展示型网站无锡网站制作企业
  • 做美容网站wordpress 获取文章作者
  • 旅游网站开发毕业设计昆明网站外包
  • 怎样修改网站标题胶南网站建设价格
  • 无锡市城乡建设局网站精品下载站
  • 网站中文通用网址域名tplink虚拟服务器做网站
  • seo对于电子商务网站推广的作用网络工程师培训一般多少钱
  • 做网站大php 网站缩略图
  • 巴中微网站建设网站seo关键词排名查询
  • 江苏省教育网站官网工程建设服务平台
  • 西乡网站开发天眼查个人查询入口
  • 怎么看一个网站是由哪个网络公司做的免费软件app下载大全正能量网站
  • wordpress 黄蓝 现代企业广州seo搜索