-
java中DelayQueue的使用
所属栏目:[大数据] 日期:2021-05-21 热度:83
目录 简介 DelayQueue DelayQueue的应用 总结 java中DelayQueue的使用 简介 今天给大家介绍一下DelayQueue,DelayQueue是BlockingQueue的一种,所以它是线程安全的,DelayQueue的特点就是插入Queue中的数据可以按照自定义的delay时间进行排序。只有delay时间[详细]
-
深入理解HashMap和TreeMap的区别
所属栏目:[大数据] 日期:2021-05-21 热度:97
目录 简介 HashMap和TreeMap本质区别 排序区别 Null值的区别 性能区别 共同点 深入理解HashMap和TreeMap的区别 简介 HashMap和TreeMap是Map家族中非常常用的两个类,两个类在使用上和本质上有什么区别呢?本文将从这两个方面进行深入的探讨,希望能揭露其本[详细]
-
Copy ArrayList的四种方式
所属栏目:[大数据] 日期:2021-05-21 热度:136
目录 简介 使用构造函数 使用addAll方法 使用Collections.copy 使用stream 总结 Copy ArrayList的四种方式 简介 ArrayList是我们经常会用到的集合类,有时候我们需要拷贝一个ArrayList,今天向大家介绍拷贝ArrayList常用的四种方式。 使用构造函数 ArrayList[详细]
-
SynchronousQueue详解
所属栏目:[大数据] 日期:2021-05-21 热度:103
目录 简介 举例说明 总结 SynchronousQueue详解 简介 SynchronousQueue是BlockingQueue的一种,所以SynchronousQueue是线程安全的。SynchronousQueue和其他的BlockingQueue不同的是SynchronousQueue的capacity是0。即SynchronousQueue不存储任何元素。 也就[详细]
-
JDK 14的新特性:switch表达式
所属栏目:[大数据] 日期:2021-05-21 热度:129
目录 简介 写在前面 连写case switch返回值 yield 总结 简介 switch的新特性可是源远流长,早在JDK 12就以预览功能被引入了,最终在JDK 14成为了正式版本的功能:JEP 361: Switch Expressions (Standard)。 其实Switch新增的功能有两个,一个就是可以连写cas[详细]
-
jcmd:JDK14中的调试神器
所属栏目:[大数据] 日期:2021-05-21 热度:154
目录 简介 jcmd的语法 列出运行的JVM 打印stack信息 打印heap info 打印heap dump 统计heap使用情况 JFR功能 总结 简介 jcmd是JDK自带的调试工具,具有非常强大的功能。jcmd是JDK7中正式引入的,有了jcmd,完全可以替换很多常用的其他工具,比如jstak和jmap[详细]
-
java中的内部类内部接口详解
所属栏目:[大数据] 日期:2021-05-21 热度:198
目录 简介 内部类 静态内部类 非静态内部类 静态方法内部类 非静态方法的内部类 匿名类 内部接口 总结 简介 一般来说,我们创建类和接口的时候都是一个类一个文件,一个接口一个文件,但有时候为了方便或者某些特殊的原因,java并不介意在一个文件中写多个类[详细]
-
一文弄懂String的所有小秘密
所属栏目:[大数据] 日期:2021-05-21 热度:138
目录 简介 String是不可变的 传值还是传引用 substring() 导致的内存泄露 总结 简介 String是java中非常常用的一个对象类型。可以说java中使用最多的就是String了。那么String到底有哪些秘密呢?接下来本文将会一一讲解。 String是不可变的 String是不可变的[详细]
-
自定义parallelStream的thread pool
所属栏目:[大数据] 日期:2021-05-21 热度:126
目录 简介 通常操作 使用自定义ForkJoinPool 总结 自定义parallelStream的thread pool 简介@H_502_21@ 之前我们讲到parallelStream的底层使用到了ForkJoinPool来提交任务的,默认情况下ForkJoinPool为每一个处理器创建一个线程,parallelStream如果没有特别[详细]
-
怎么在java 8的map中使用stream
所属栏目:[大数据] 日期:2021-05-21 热度:129
怎么在java 8的map中使用stream 简介 Map是java中非常常用的一个集合类型,我们通常也需要去遍历Map去获取某些值,java 8引入了Stream的概念,那么我们怎么在Map中使用Stream呢? 基本概念 Map有key,value还有表示key,value整体的Entry。 创建一个Map: Ma[详细]
-
asList和ArrayList不得不说的故事
所属栏目:[大数据] 日期:2021-05-21 热度:97
目录 简介 创建ArrayList UnsupportedOperationException asList 转换 总结 asList和ArrayList不得不说的故事 简介 提到集合类,ArrayList应该是用到的非常多的类了。这里的ArrayList是java.util.ArrayList,通常我们怎么创建ArrayList呢? 创建ArrayList 看[详细]
-
java 8 stream reduce详解和误区
所属栏目:[大数据] 日期:2021-05-21 热度:112
目录 简介 reduce详解 总结 java 8 stream reduce详解和误区 简介 Stream API提供了一些预定义的reduce操作,比如count(),max(),min(),sum()等。如果我们需要自己写reduce的逻辑,则可以使用reduce方法。 本文将会详细分析一下reduce方法的使用,并给出具体[详细]
-
java关于throw Exception的一个小秘密
所属栏目:[大数据] 日期:2021-05-21 热度:158
目录@H_301_4@ 简介 throw小诀窍 总结 @H_301_4@ java关于throw Exception的一个小秘密 简介 之前的文章我们讲到,在stream中处理异常,需要将checked exception转换为unchecked exception来处理。 我们是这样做的: static T ConsumerT consumerWrapper( Th[详细]
-
JDK 14的新特性:instanceof模式匹配
所属栏目:[大数据] 日期:2021-05-21 热度:123
JDK 14的新特性:instanceof模式匹配 JDK14在2020年的3月正式发布了。可惜的是正式特性只包含了最新的Switch表达式,而Records,patterns,text blocks仍然是预览特性。 本文要讲的就是JDK14的一个预览特性instanceof的pattern matching。 也就是说在instanceof[详细]
-
在java 8 stream表达式中实现if/else逻辑
所属栏目:[大数据] 日期:2021-05-21 热度:75
目录 简介 传统写法 使用filter 总结 简介 在Stream处理中,我们通常会遇到if/else的判断情况,对于这样的问题我们怎么处理呢? 还记得我们在上一篇文章lambda最佳实践中提到,lambda表达式应该越简洁越好,不要在其中写臃肿的业务逻辑。 接下来我们看一个具[详细]
-
java 8 Stream中操作类型和peek的使用
所属栏目:[大数据] 日期:2021-05-21 热度:174
目录 简介 中间操作和终止操作 peek 结论 java 8 Stream中操作类型和peek的使用 简介 java 8 stream作为流式操作有两种操作类型,中间操作和终止操作。这两种有什么区别呢? 我们看一个peek的例子: StreamString stream = Stream.of("one","two","three","f[详细]
-
Iterator to list的三种方法
所属栏目:[大数据] 日期:2021-05-21 热度:84
目录 简介 使用while 使用ForEachRemaining 使用stream 总结 Iterator to list的三种方法 @H_404_22@简介 集合的变量少不了使用Iterator,从集合Iterator非常简单,直接调用Iterator方法就可以了。 那么如何从Iterator反过来生成List呢?今天教大家三个方法[详细]
-
JDK 15 JAVA 15的新特性展望
所属栏目:[大数据] 日期:2021-05-21 热度:155
目录 JEP 371: Hidden Classes JEP 372: 删除 Nashorn JavaScript Engine JEP 377: 新的垃圾回收器ZGC正式上线了 JEP 378: Text Blocks 标准化 JEP 379: 新的垃圾回收器Shenandoah上线 总结 JDK 15 JAVA 15的新特性展望 伴随着2020的寒冬和新冠病毒的肆虐,J[详细]
-
java 8 lambda表达式中的异常处理
所属栏目:[大数据] 日期:2021-05-21 热度:85
目录 简介 处理Unchecked Exception 处理checked Exception 总结 java 8 lambda表达式中的异常处理 简介 java 8中引入了lambda表达式,lambda表达式可以让我们的代码更加简介,业务逻辑更加清晰,但是在lambda表达式中使用的Functional Interface并没有很好[详细]
-
java 8中构建无限的stream
所属栏目:[大数据] 日期:2021-05-21 热度:190
目录 简介 基本使用 自定义类型 总结 java 8中构建无限的stream 简介 在java中,我们可以将特定的集合转换成为stream,那么在有些情况下,比如测试环境中,我们需要构造一定数量元素的stream,需要怎么处理呢? 这里我们可以构建一个无限的stream,然后调用l[详细]
-
怎么break java8 stream的foreach
所属栏目:[大数据] 日期:2021-05-21 热度:58
目录 简介 使用Spliterator 自定义forEach方法 总结 怎么break java8 stream的foreach 简介 我们通常需要在java stream中遍历处理里面的数据,其中foreach是最最常用的方法。 但是有时候我们并不想处理完所有的数据,或者有时候Stream可能非常的长,或者根本[详细]
-
JDK14的新特性:Lombok的终结者record
所属栏目:[大数据] 日期:2021-05-21 热度:69
目录 简介 新的Record类型 探讨Record的秘密 record扩展 总结 JDK 14的新特性:Lombok的终结者record 简介 自从面向对象产生之后,程序界就开始了新的变化,先是C发展到了C++,后面java横空出世,大有一统江湖的趋势。 面向对象凭借其结构化的特点和在大型项[详细]
-
java 8中 predicate chain的使用
所属栏目:[大数据] 日期:2021-05-21 热度:114
目录 简介 基本使用 使用多个Filter 使用复合Predicate 组合Predicate Predicate的集合操作 总结 java 8中 predicate chain的使用 简介 Predicate是一个FunctionalInterface,代表的方法需要输入一个参数,返回boolean类型。通常用在stream的filter中,表示[详细]
-
fail-safe fail-fast知多少
所属栏目:[大数据] 日期:2021-05-21 热度:103
目录 简介 Fail-fast Iterator Fail-fast 的原理 Fail-safe Iterator 总结 fail-safe fail-fast知多少 简介 我们在使用集合类的时候,通常会需要去遍历集合中的元素,并在遍历中对其中的元素进行处理。这时候我们就要用到Iterator,经常写程序的朋友应该都知[详细]
-
都2020年了,这5个java IDE神器你还不知道?
所属栏目:[大数据] 日期:2021-05-21 热度:151
TIOBE的4月份编程语言排行榜出来了,java还是稳坐第一位,java最新的版本也到了13,一直以来java凭借其企业级应用的优势和大量的框架级应用俘获了大量的粉丝和企业客户。 谈到开发者,java肯定是个绕不过去的话题,那么这么多的java开发者到底都用哪些IDE呢?[详细]