使用规则引擎 Drools 替代各种if-else

学习Drools,我们可以通过一个简单的案例来了解该规则引擎的使用过程。以下是一个样例工程的步骤: 首先,我们需要创建一个 Maven 工程。在 pom.xml 文件中添加 Drools 的依赖: <dependency> <groupId>org.drools</groupId> <artifactId>drools-core</artifactId>…

hello hello 发布于 2024-03-06

使用SDKMAN安装和管理多个JDK版本

SDKMAN是一个轻量级、支持多平台的开源开发工具管理器,可以通过它安装任意主流发行版本(例如OpenJDK、Kona、GraalVM等等)的任意版本的JDK。 官方网站:https://sdkman.io/ # 使用命令安装SDKMAN 通过下面的命令可以轻易安装sdkman: curl -s "https://get.sdkman.io" | bash…

hello hello 发布于 2024-03-04

Java 异常处理神器:Guava Throwables类

第一章:Guava库简介 Guava由Google开发,它提供了大量的核心Java库,例如:集合、缓存、原生类型支持、并发库、通用注解、字符串处理和 I/O操作 等。这些功能在日常的Java开发中超级常用,而且Guava的设计哲学是简洁高效,这让咱们的代码不仅更加优雅,而且更加易于维护和阅读。…

hello hello 发布于 2024-03-04

JAVA使用ip2region精准查询IP定位

ip2region – 是一个离线IP地址定位库和IP定位数据管理框架,10微秒级别的查询效率,提供了众多主流编程语言的 xdb 数据生成和查询客户端实现。 maven仓库引用 <dependency> <groupId>org.lionsoul</groupId> <artifactId>ip2region</artifactId>…

hello hello 发布于 2024-02-26

Java 21 虚拟线程如何限流控制吞吐量

虚拟线程(Virtual Threads)是 Java 21 所有新特性中最为吸引人的内容,它可以大大来简化和增强Java应用的并发性。但是,随着这些变化而来的是如何最好地管理此吞吐量的问题。本文,就让我们看一下开发人员在使用虚拟线程时,应该如何管理吞吐量。 在大多数情况下,开发人员不需要自己创建虚拟线程。例如,对于 Web 应用程序,Tomcat 或…

hello hello 发布于 2024-02-20

这6种编码方法,你掌握了几个?

编码也是如此,当多次编写类似的代码时,我们需要考虑是否有一种方法能够提高编码速度,让编码速度“起飞”?高德地图技术专家陈昌毅(常意)多年来致力于敏捷开发,总结了一套编码的方法论,有助于程序员”快速、优质、高效”地进行编码。 方法1:手工编写代码 大多数刚学习 Java 的程序员,都会怀着一种崇敬的仪式感,一字一句地在开发工具上敲出以下代码: public…

hello hello 发布于 2024-02-01

源码|从源码分析非线程安全集合类的不安全迭代器

非线程安全集合类(这里的集合指容器Collection,非Set)的迭代器结合了及时失败机制,但仍然是不安全的。这种不安全表现在许多方面: 并发修改“通常”导致及时失败 单线程修改也可能导致及时失败的“误报” 迭代器会“丢失”某些并发修改行为,让及时失败失效 如果不了解其不安全之处就随意使用,就像给程序埋下了地雷,随时可能引爆,却不可预知。…

hello hello 发布于 2024-01-30

咱们从头到尾说一次 Java 的垃圾回收

什么是垃圾回收 垃圾回收(Garbage Collection,GC),顾名思义就是释放垃圾占用的空间,防止内存泄露。有效的使用可以使用的内存,对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收。 Java 语言出来之前,大家都在拼命的写 C 或者 C++ 的程序,而此时存在一个很大的矛盾,C++…

hello hello 发布于 2024-01-29

【Java IO流】流的分类,API使用,文件操作

Java Io 什么是流 I: Input | 输入 O: Output | 输出 流的分类 按照数据的流向 输入流:读数据 输出流:写数据 按照数据类型来分 字节流 字节输入流 字节输出流 字符流 字符输入流 字符输出流 输入流`,`输出流 字节流`,`字符流 文件字节输入流 FileInputStream package FileInput;…

hello hello 发布于 2024-01-29

你背的“八股文”可能已经过时了

一、String里不再使用char[] 在JDK9之前,String内部是通过char数组(char[])来保存字符数据的。但在JDK9以后,String的实现内部改为使用 byte数组(byte[]) 。这样做的主要原因是为了 节省内存空间…

hello hello 发布于 2024-01-23
上一页 下一页