使用Java8快速实现List转map、分组、过滤等操作
herman 4年前 (2021-08-27) 2238浏览
利用 java8 新特性,可以用简洁高效的代码来实现一些数据处理。 先定义 1 个 Apple 对象: public class Apple { private Integer id; private String na...
herman 4年前 (2021-08-27) 2238浏览
利用 java8 新特性,可以用简洁高效的代码来实现一些数据处理。 先定义 1 个 Apple 对象: public class Apple { private Integer id; private String na...
herman 4年前 (2021-07-08) 5823浏览
Java8 Stream 实现复杂集合对象的差集、并集、交集! 昨天群里一位网友想要获取两个 List 集合之间的差集、并集、交集!群里网友群策群力,很多有人给他百度搜索到了一个结果。demo 案例如下所示: import java.u...
herman 4年前 (2021-07-04) 1622浏览
最近群里有一位 C 转 Java 的网友,问到“Java如何获取当前日期和时间”这个问题,知识虽然基础,但大部分网友只记得 Java8 以前的用法。本文总结了 4 种方法,其中第 4 种是 Java8 才提供的 API。 Java如何获取当前...
herman 4年前 (2020-11-05) 7256浏览
高并发环境下,HashMap可能出现的致命问题!注意:是在 jdk8 以下版本发生! 我们先来看看 Rehash 的概念。 Rehash 是 HashMap 在扩容时候的一个步骤。 HashMap 的容量是有限的。当经过多次元素插...
herman 5年前 (2020-06-14) 4147浏览
最近一个粉丝加我说,接到了阿里的面试,问问我阿里会面试哪方面的东西。我说,阿里的套路基本上是,你会什么就问你什么,直到问得你怀疑人生。正所谓,你知道的越多,不知道的就越多,业余的像一颗小草! 今天,我们就一起来讨论一个这个网友遇到的阿里面试题...
herman 6年前 (2019-09-28) 3122浏览
最新版的 Java 13 已于2019年9月17日发布。这次也不例外,发布了很多新特性。 Java 13 新特性 Java 13 的新特性主要包含一下 5 个方面。 JEP 350,Dynamic CDS ArchivesJEP ...
herman 6年前 (2019-03-11) 3449浏览
Github 上其实有非常多的非常实用的 Java 项目。只不过很多程序员,不知道如何去找,以及如何的去实用 Github。 今天,我就抽个时间,给大家分享 40 个 Github 上最近非常火的 Java 项目。 1.bie...
herman 6年前 (2018-12-24) 3021浏览
javah 也是 Java 中的一个命令,全称为 C Header and Stub File Generator。反编译过微信、支付宝的 Android APP 的程序员都知道,这些 APP 都带的有一些 .so 的文件,这些文件都是他们自己实...
herman 6年前 (2018-11-30) 16894浏览
最近在做团队代码 code review 的时候发现了有人使用了 @FunctionalInterface 注解。我对这个注解不是很熟悉,基本上没用过。于是我就问对应的开发人员,给我讲一讲这个注解的用法,为什么要用这个注解?他...
herman 6年前 (2018-11-29) 9056浏览
MongoDB 非常的简单,又非常的复杂。简单的是增删改查简单,难的是完全理解、学会并在生产中应用,部署,运维等。我们今天先来个简单的,从 MongoCollection 开始学起。 com.mongodb.client.MongoColl...
herman 6年前 (2018-11-20) 3644浏览
任何数据结构的产生总对应着要解决一个实际的问题!我在《HashMap 存在的意义是什么?》这篇文章中总结到:HashMap 这种数据结构解决存取一组 key-vaule 键值对数据,并且在插入、删除、遍历都有不错性能的数据结构。我们也知道,JDK...
herman 6年前 (2018-11-17) 2582浏览
Java 中日常用到的锁大概有 14 种:悲观锁、乐观锁、自旋锁、适应性自旋锁、无锁、偏向锁、轻量级锁、重量级锁、公平锁、非公平锁、可重入锁、非可重入锁、独享锁、共享锁。 每种锁都有不同的使用场景!具体哪种场景使用哪种锁,你只需要回答下面 ...
herman 6年前 (2018-11-15) 6069浏览
这个错误同样不常见,很少有人遇到,但并不代表它不存在!今天就来说说 Out of memory: Kill process or sacrifice child。 我们知道,操作系统(operating system)构建在进程(...
herman 6年前 (2018-11-14) 6624浏览
最近,我在推广我的个人微信公众号:业余草。我发现当我认认真真写技术文章的时候,看的人并不多。当我写热点事件,或者科技新闻后发现阅读量又大幅的提升。于是,我就得出一个结论:技术越深的文章看的人越深;技术中等的次之;技术偏初级的看的人最多!这是为什么...
herman 7年前 (2018-10-29) 7558浏览
UidGenerator是Java实现的, 基于Snowflake算法的唯一ID生成器。UidGenerator以组件形式工作在应用项目中, 支持自定义workerId位数和初始化策略, 从而适用于docker等虚拟化环境下实例自动重启、漂移等场...