Java安全发布对象(单例)的几种方式

基础知识 类的初始化

JVM在类被加载后,并且被线程使用之前,会进行类的初始化。在初始化期间,JVM将会获取一个锁,以同步多个线程对类的初始化。

根据Java语言规范,在首次发生下列任意一种情况时,一个类或接口类型T将被立即初始化:

T是一个类,而且一个T类型的实例被创建。 … [阅读文章]

JMH基准测试入门配置及示例

JMH的全称是Java Microbenchmark Harness,即Java微基准测试工具。

JMH是一个用于构建,运行和分析基于Java及其他JVM语言的基准测试工具。它也是OpenJDK项目的一部分。

要运行JMH基准测试,推荐的方法是使用Maven来构建一个测试项目。生成相关的依赖信息,以及简单的测试骨架代码。由于这种方式比较纯粹,项目是全新的、自动生成的,不受其他环境的影响,因此比较可靠。 … [阅读文章]

这个国庆几乎无假期,写了9篇Jackson和4篇Fastjson基础教程

这个国庆八天长假,有人回家有人去旅游。

而我,每天买菜做饭洗碗陪小孩玩,在附近园区玩了一趟,看了部姜子牙。

剩下的时间就是写文章,每天都写,虽然比较简单,但写9篇Jackson和4篇Fastjson教程也不容易。

下面把所有文章整理一下。

Jackson教程 … [阅读文章]

Jackson使用JsonView视图过滤字段实现字段分组

《轻松学习Jackson》

首先,一起回顾一下几种忽略字段、过滤字段的方式。

JsonIgnore和JsonIgnoreProperties注解,可以用于忽略指定的字段。而JsonIgnoreType注解,可以忽略特定数据类型的字段。

使用JsonFilter过滤器注解,可以动态的设置包含或排除字段,支持自定义过滤规则。 … [阅读文章]

Jackson忽略字段不序列化字段的3种方法

《轻松学习Jackson》程序员口袋里的开发手册

在上一篇中,我们学习了如何忽略值为null的字段《Jackson忽略null字段的3种方法》。

相对于忽略null字段,在实际应用中,忽略某些字段的序列化可能更为常见。

Jackson对于如何序列化字段、过滤字段的方法多种多样,非常丰富,这一节先来了解一下3种简单的方法。 … [阅读文章]

Javassist实现JDK动态代理

提到JDK动态代理,相信很多人并不陌生。然而,对于动态代理的实现原理,以及如何编码实现动态代理功能,可能知道的人就比较少了。接下一来,我们就一起来看看JDK动态代理的基本原理,以及如何通过Javassist进行模拟实现。

JDK动态代理 示例

以下是一个基于JDK动态代理的hello … [阅读文章]