Maven/Gradle 编译错误解决:java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

3.0k 技术 , , 发表评论
Maven 或者 Gradle 编译遇到如下问题: ➜ idaas git:(main) ./gradlew build > Task :generateProto FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':generateProto'. > Could not resolve all files for configuration ':protobufToolsLocator_protoc'. > Could…

Java 读取 Reader 为 String

1.3k 技术 发表评论
本文讲述如何在 Java 中将 Reader 转换成 String。 共三种方式:纯Java、使用 Guava 库以及使用Apache Commons IO库。 1 纯 Java 方式 如是是用纯 Java 代码从 Reader 中读取 String 的代码: @Test public void givenUsingPlainJava_whenConvertingReaderIntoStringV1_thenCorrect() throws IOException { StringReader reader = new S…

IDEA 调试时查看完整的调用栈路径

5.6k 技术 , , 发表评论
当我们用 IDEA 对 Java、Python 或者 PHP 等所有代码进行调试时,查看其调用栈路径非常有用,可追溯到代码的调用关系。 如下是 IDEA 默认的调用栈展示方式,非常简单: 要查看完整的调用栈路径,在调试的时候点“Debug”试图右上角的“Layout Settings”图标,下拉后勾选“Threads”,这样就可以了。 参考资料: IntelliJ IDEA 12 -- viewing …

Java 正确获取对象内存地址的方式

3.8k 技术 , 发表评论
1. 概述 在本教程中,我们将了解如何在 Java 中查找对象的内存地址。 在此之前,我们需要说明的是,运行时数据区的内存布局不是 JVM 规范的一部分,完全由实现者自行决定。因此,每种 JVM 可能回用不同的策略布局内存中的对象和数组。 在本教程中,我们主要讨论 HotSpot JVM。 2. 依赖 要在 JVM 中查找对象的内存地址,需要 Java 对象布…

实现 Java WebSocket 客户端的 3 种方法

本文整理了3种 Java 语言实现 WebSocket 客户端的方式,分别是使用Javax.websocket-api、Java-WebSocket和Jakarta WebSocket,三种方法达到的效果一致,都能与 Websocket 服务端完成良好通信。 注意:要进行 WebSocket 通信,必须首先启动 WebSocket 服务端,再启动客户端。 方法1:使用 javax.websocket-api javax.websocket-api提供了 …

Java 按行读取文件

923 技术 一条评论
Java 按行读取文件 1. 使用 Scanner 按行读取文件 import java.io.*; import java.util.Scanner; class ReadFileWithScanner { public static void main(String[] args) throws FileNotFoundException { InputStream stream = new FileInputStream("src/main/resources/test-data.txt"); //InputStream stream = ReadFileWith…

Spring Boot 集成 GraphQL 分页功能

经验上,我们会这样分页:传入页码数page和size,后台根据page和size计算offset和limit,从数据库中拿到并返回数据集。这种方式可以随意跳页,但是在数据量大的时候,会有性能问题。 在GraphQL中的分页与offset方式有一定差别,我们的参数不再是page,而是上一次查询的最后一个游标(简单可以理解为最后一条数据的id),每次查询都是在…
下一页 »