Spock2.x新特性解读及升级指南

Spock2.x新特性解读及升级指南

Spock系列 4周前 (04-07) 浏览: 43 评论: 0

Spock2.x 新增特性 原生支持Java静态方法的mock,以及final类mock 旧版Spock只支持Groovy语言的静态方法mock(GroovyMock),如果要mock Java语言的静态方法需要引入一些第三方的mock框架如:powermock、jmockit,新版Spock内置支持了mockito等扩展(https://spockframework.org/spock/docs

分布式环境下慎用Java的hashCode

分布式环境下慎用Java的hashCode

Java系列 1个月前 (04-01) 浏览: 17 评论: 0

你可能知道,哈希函数有很多不同的用途: 网络和存储系统使用它们(以校验和的形式)来检测数据的意外损坏。 密码系统使用它们来检测数据的恶意损坏并实现签名。 密码验证系统使用它们来增加从数据库中提取明文密码的难度。 编程语言将它们用于哈希映射,以确定密钥放置在哪个哈希桶中。 分布式系统使用它们来确定集群中的哪个worker应该处理大型作业的一部分。 所有这些目的都有不同的要求,不同的哈希函数用于各种目

Redis分布式锁Redlock注意事项

Redis分布式锁Redlock注意事项

好文推荐 2个月前 (03-03) 浏览: 34 评论: 0

原文地址:https://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html Redis分布式锁Redlock的算法(https://redis.io/docs/latest/develop/use/patterns/distributed-locks/)声称在Redis之上实现了容错分布式锁(或者更确切地说,租赁)

如何基于JDK17在单元测试中使用二进制文件

如何基于JDK17在单元测试中使用二进制文件

Java系列 3个月前 (02-03) 浏览: 87 评论: 0

当你需要二进制数据来编写单元测试时,你会怎么做? 假设你正在开发一个纯Java Git实现。您将需要组成Git存储库的位:blob、树或提交对象。或者,您可能想了解Java类文件中的内容。在这种情况下,您将需要Java类中的数据。 一种解决方案是使用常规文件。如果您使用的是Maven,请将它们放在src/test/resources目录中。然后,您可以使用例如Class.getResourceAs

在运行时重新加载Java类定义

在运行时重新加载Java类定义

Java系列 4个月前 (01-02) 浏览: 124 评论: 0

在用Java开发web应用程序的UI时,以下工作流程可能很常见: 对某个源文件进行更改; 重新编译项目; 重启服务器; 测试 每次进行更改时重新启动服务器并不理想。即使你的应用程序启动很快。 如果我们能够在运行时重新加载类定义,则可能并不总是需要重新启动。 在这篇文章中,将展示如何在运行时重新加载单个类的定义。 类重载器 我们需要一个可以在运行时加载和重新加载单个类定义的类。我们将把类命名为Cla

Java中的杂散分号

Java中的杂散分号

Java系列 5个月前 (12-02) 浏览: 112 评论: 0

考虑以下Java类: public class ClassMembers { ; int field;;; void method() {} ;; ; ;; ;;; class Inner {} ; } 它包含许多零散的分号。 这是合法的Java代码吗?换句话说,它能编译吗? 让我们学习。 类成员和杂散分号 当您得知前面的示例编译时没有错误时,您可能会也可能不会感到惊讶。 杂散分号是允许的类成员。

Java中的System.identityHashCode方法介绍

Java中的System.identityHashCode方法介绍

Java系列 6个月前 (11-04) 浏览: 315 评论: 0

OpenJDK上正在进行一个名为Lilliput的项目(https://openjdk.org/projects/lilliput/)。它是关于减小Hotspot JVM中对象头的大小。 这让我很好奇:当程序员没有提供对象的哈希码值时,JVM是如何计算对象的哈希代码值的? 换句话说,如果我们不重写类中的Object::hashCode方法,那么当我们在类的实例中调用hashCode时,会返回什么值

Java21新特性之使用字符串模板生成Java源代码

Java21新特性之使用字符串模板生成Java源代码

Java系列 10个月前 (07-22) 浏览: 610 评论: 0

我们可以在JDK 21中使用字符串模板(https://openjdk.org/jeps/430)作为预览功能。我发现的一个很好的用例是生成Java源代码。 因此,在这篇博客文章中,我们将编写一个适合生成Java源代码的字符串模板处理器。此外,它应该作为Java开发人员对字符串模板的介绍。 关于这篇博客文章中提出的实施,请注意以下注意事项: 它的行为就像一个字符串插值器,因为它不验证输入 它是有状

Java语法之receiver parameter

Java语法之receiver parameter

Java系列 10个月前 (07-15) 浏览: 494 评论: 0

receiver parameter 接收器参数 从Java 8开始,您可以在所有实例方法中声明一个可选的纯语法参数。例如,以下是一个有效的toString方法实现: public class Example { @Override public String toString(Example this) { return "I'm a receiver parameter example.";

登录

忘记密码 ?

切换登录

注册