Java
文章平均质量分 96
ZeralZhang
我思故我在
展开
-
延迟队列实现
延迟队列定义首先,队列这种数据结构相信大家都不陌生,它是一种先进先出的数据结构。普通队列中的元素是有序的,先进入队列中的元素会被优先取出进行消费;延时队列相比于普通队列最大的区别就体现在其延时的属性上,普通队列的元素是先进先出,按入队顺序进行处理,而延时队列中的元素在入队时会指定一个延迟时间,表示其希望能够在经过该指定时间后处理。延时队列的应用延时队列在项目中的应用还是比较多的,尤其像电商类平台:1、订单成功后,在30分钟内没有支付,自动取消订单2、外卖平台发送订餐通知,下单成功后 60s 给用原创 2022-04-13 18:25:50 · 2535 阅读 · 0 评论 -
Java 中的 lambda 表达式如何工作?
lambda 表达式在 Java 代码和 JVM 内部是什么样的?显然,它是某种类型的值,而 Java 只允许两种类型的值:原始类型和对象引用。lambda 显然不是原始类型,因此 Lambda 表达式必须是某种返回对象引用的表达式。原创 2021-02-03 13:27:13 · 339 阅读 · 1 评论 -
Java 日期类
Java 的 API 提供了很多有用的组件,能帮我们构建复杂的应用。比如日期处理,Java 从 1.0,就提供了 java.util.Date 类用于支持日期和时间的处理,不过由于该 API 设计的缺陷,产生了糟糕的易用性。随着 1.0 退出舞台,Date 类中的很多方法都被废弃了,Java 1.1 使用 java.util.Calendar 类取而代之,很不幸,Calendar 类也有类似的问题和设计缺陷,导致使用这些方法写出的代码非常容易出错。所有这些缺陷和不一致导致用户们转投第三方的日期和时间库,比原创 2021-02-03 13:23:24 · 431 阅读 · 1 评论 -
Java8 Stream学习
系统的整理一下 java8 Streams 的使用。思想是函数式编程(functional programming)的一种 Java 实现强调将计算过程分解成可复用的函数,主要使用 map 方法和 reduce 方法组合而成的 MapReduce 算法,最好的实现 Apache Hadoop关于函数式编程,请参考阮一峰 的 函数式编程初探Streams 和 Collect...原创 2019-04-06 11:44:55 · 203 阅读 · 0 评论