logo头像

From zero to HERO

java随机数的陷阱

java随机数的陷阱

前言随机数我们应该不陌生,业务中我们用它来生成验证码,或者对重复性要求不高的id,甚至我们还用它在年会上搞抽奖。今天我们来探讨一下这个东西。如果使用不当会引发一系列问题。 java中的随机数我们...

java注解核心知识总结

java注解核心知识总结

1. 前言前几年我们的项目还在structs 2 上跑,有一次问一个同事是否知道Spring Boot,同事说那不是用注解来开发的吗。虽然这个答案并不完全对,但是从客观上Spring Boot对...

Spring Boot 2 实战:缓存抽象层

Spring Boot 2 实战:缓存抽象层

Spring缓存抽象Spring从3.1开始定义了一系列抽象接口来统一不同的缓存技术;并支持使用JCache(JSR-107)注解简化我们进行缓存开发。Spring Cache 只负责维护抽象层...

白话设计模式原则

白话设计模式原则

为什么需要设计模式其实没有设计模式我们也能完成开发工作。但是为什么需要设计模式呢?让你看起来很牛,没错这个算一个。让你的代码层次感分明,可读性强而且容易维护。让你像我一样有更多的摸鱼划水时间。 ...

java枚举实现状态机来优雅你的状态变更逻辑

java枚举实现状态机来优雅你的状态变更逻辑

前言相信不少java开发者写过状态变更的业务,比如订单流程、请假流程等等。一般会搞一个状态标识来标识生命周期的某个阶段。很多人会写这种逻辑: 如果流程几十个岂不是要if到爆炸。还有这“0”、“...

Java 8 Time Api 使用指南-珍藏限量版

Java 8 Time Api 使用指南-珍藏限量版

1.概述Java 8为Date和Time引入了新的API,以解决旧java.util.Date和java.util.Calendar的缺点。作为本文的一部分,让我们从现有Date和Calenda...

服务端推送技术 Server-sent Events 快速上手

1. 前言今天项目经理交给我一个开发任务。如果有人下了订单就给后台一个通知,也就是服务器推送功能。这个需求不是很复杂就一个通知功能,如果我用websocket来做还要搞个websocket服务器...

Java8 Stream API 详细使用指南

Java8 Stream API 详细使用指南

1. 概述Java 8 引入的一个重要的特性无疑是 Stream API。Stream 翻译过来是“流”,突然想到的是大数据处理有个流式计算的概念,数据通过管道经过一个个处理器(Handl...