[作者简介] 魏民,信息部售后组研发工程师 基本概念 Wiki 中是这样描述内省的: 在计算机科学中,内省是指计算机程序在运行时(Run time)检查对象(Object)类型的一种能力,通常也可以称作运行时类型检查。 这个描述非常宽泛,但有三个关键词: 运行时 对象 类型 Java 官方对 Java Beans 内省的定义: At runtime and…
发现一个 Java 21 中有意思的东西!在 java.Lang.Character 类中增加了用于确定字符是否为 Emoji 表情符号的 API,主要包含下面六个新的静态方法: public static boolean isEmoji(int codePoint) { return…
我们在平时开发中经常会涉及调用某个REST接口从而获取对应数据的情况,在这个过程中,返回的数据往往都是JSON数据,一般情况下,我们都会针对这些JSON数据定义对应实体类,从而获取我们需要的数据。这种方式对于结构简单的JSON数据是OK的,但是如果遇到下面这种多级嵌套的数据就比较蛋疼了: { "a1": { "b1": { "c1": { "d1":…
JVM 参数众多,我们常在启动一个 Java 程序时通过命令行(例如: java -jar app.jar )指定各种参数选项。很多同学就会对此感到疑惑,为什么有时候要用 -D ,有时候却要用 -X ,还有些时候用的却是 -XX 呢? 今天,我就在这篇文章中讲一讲这些选项之间的差异。看完这篇文章之后,你将学到 JVM…
学习Drools,我们可以通过一个简单的案例来了解该规则引擎的使用过程。以下是一个样例工程的步骤: 首先,我们需要创建一个 Maven 工程。在 pom.xml 文件中添加 Drools 的依赖: <dependency> <groupId>org.drools</groupId> <artifactId>drools-core</artifactId>…
Guava是Google发布的一个开源库,主要提供了一些在Java开发中非常有用的工具类和API,比如字符串处理、集合操作、函数式编程、缓存等等。不管是工作还是学习都是非常值得我们去熟悉的,一起来看看吧。 字符串(Strings) Strings是Guava提供的一组字符串工具,它提供了许多有用的方法来处理字符串。以下是Strings的主要方法:…
前言 在现代软件开发中,能够充分利用多核处理器的并发编程已经变得越来越重要。Java作为一门古老而强大的语言,提供了一整套并发编程的API。在本文中,我们将一起探索Java并发编程的基础,从线程的基本概念到同步机制,再到并发集合和线程池的使用。 线程基础 什么是线程…
本文带领大家了解下JVM7款经典的垃圾收集器,如图所示展示了其中作用于不同分代的收集器,如果两个收集器之间存在连线,就说明他们可以搭配使用,图中收集器所处的区域,则表示它是属于新生代收集器或者是老年代收集器。接下来逐一介绍这些收集器的目标、特性、原理和使用场景,并重点分析CMS和G1这两款相对负责而又广泛使用的收集器,深入了解他们的部分运作细节。…