看山聊 Java:使用 Java8 中的时间类

看山聊 Java:使用 Java8 中的时间类

该图片由Erik KaritsPixabay上发布

你好,我是看山。

前面聊了聊 Java8 新版时间 API 的类,然后又说了说怎么与旧版时间 API 的转换,今天来聊聊怎样通过新 API 实现老 API 的功能,这样我们就可以逐步替换掉旧版 API,与时俱进。

更多

如果非要在多线程中使用 ArrayList 会发生什么?(第二篇)

如果非要在多线程中使用 ArrayList 会发生什么?(第二篇)

你好,我是看山。

前面写过一篇文章 《如果非要在多线程中使用 ArrayList 会发生什么?》,有读者反馈,Java 11 代码已经修复,还会出现 null 元素。

为了便于理解,当时只是通过代码执行顺序说明了异常原因。其实多线程中还会涉及 Java 内存模型,本文就从这方面说明一下。

更多

看山聊 Java:Date 与 LocalDate 或 LocalDateTime 互相转换

看山聊 Java:Date 与 LocalDate 或 LocalDateTime 互相转换

你好,我是看山。

从 Java1 到 Java8 将近 20 年,再加上 Java8 的普及时间、各种历史 API 兼容过渡时间。我们很多时候需要在旧时间 API 与新时间 API 之间切换,并行使用。今天就来说说,java.util.Datejava.time.LocalDate/LocalDateTime如何互相转换。

更多

看山聊 Java:Java8 中的时间类及常用 API

看山聊 Java:Java8 中的时间类及常用 API

该图片由Önder ÖrtelPixabay上发布

你好,我是看山。

年龄大的 Java 程序员都有体会,Java8 之前,Java 提供了一组时间类:java.util.Datejava.util.Calendar及其子类和工具类等。功能比较全面,最大的缺点是难用。所以很多团队直接放弃原生时间类,使用第三方的时间类库。后来,Java8 吸收了 joda-time 的优秀设计,提供了一组新的时间处理 APIjava.time.

本文作为这个系列的第一篇,扒一扒DateCalendar存在的问题,说说 Java8 提供的时间库是怎么解决这些问题的。后续再说一下 Java8 中java.time.包中的一些核心类,例如LocalDateLocalTimeLocalDateTimeZonedDateTimePeriodDuration

更多

程序员进阶书单2021版

程序员进阶书单2021版

你好,我是看山。

今天列一下技术相关的书单,本文是第一版,后续持续更新。

更多

Geek 青年说北京沙龙分享

Geek 青年说北京沙龙分享

你好,我是看山。

5 月 23 号参加了 infoQ 写作平台组织的线下沙龙,瞻仰了很多大佬的英姿。在 Geek 青年说的环节,也壮起胆量上台分享了自己的一些观点。第一次上台,面对台下的大佬们,难免有些紧张。不过思考不易,整理出来,希望能够帮到有相同困惑的同仁们。

更多

一文掌握 Java8 的 Optional 的 6 种操作

一文掌握 Java8 的 Optional 的 6 种操作

你好,我是看山。

Java8 中引入了一个特别有意思类:Optional,一个可以让我们更加轻松的避免 NPE(空指针异常,NullPointException)的工具。

很久很久以前,为了避免 NPE,我们会写很多类似if (obj != null) {}的代码,有时候忘记写,就可能出现 NPE,造成线上故障。在 Java 技术栈中,如果谁的代码出现了 NPE,有极大的可能会被笑话,这个异常被很多人认为是低级错误。Optional的出现,可以让大家更加轻松的避免因为低级错误被嘲讽的概率。

更多

一文掌握 Java8 Stream 中 Collectors 的 24 个操作

一文掌握 Java8 Stream 中 Collectors 的 24 个操作

你好,我是看山。

Java8 应该算是业界主版本了,版本中重要性很高的一个更新是Stream流处理。关于流处理内容比较多,本文主要是说一下Stream中的Collectors工具类的使用。

更多

面试真题:无重复字符的最长子串

面试真题:无重复字符的最长子串

你好,我是看山。

来一个算法题,面试之后查了一下,是 LeetCode 的第三题,难度中等。居然在面试过程中碰到 LeetCode 真题,事后总结一波。加深印象。

更多

SpringBoot 实战:自定义 Filter 优雅获取请求参数和响应结果

SpringBoot 实战:自定义 Filter 优雅获取请求参数和响应结果

你好,我是看山。

更多