Kryo 是一个高性能的序列化框架,它使用字节码生成机制(底层依赖了 ASM 库),因此具有非常快的运行速度。Kryo 序列化出来的结果是自定义的二进制格式,体积更小,序列化和反序列化速度更快。Kryo 通常用于 Java 应用中的对象序列化和反序列化,而不是用于多语言间的数据交换。 多语言序列化可以使用Hessian、ProtoStuff。
定义:Kryo是一个Java对象图形序列化框架,由Koders开发。它能够将对象转换为字节流,并能够在需要时重新构建这些对象。这种转换过程称为序列化,而从字节流重建对象的过程称为反序列化。
特点:
Redisson是一个用于Redis的Java客户端,它提供了许多超越标准Redis功能的高级特性。Redisson旨在简化分布式环境中对Redis的操作,使得开发者能够更加专注于业务逻辑而不是底层细节。以下是Redisson的一些关键特性和简介:
总之,Redisson为Java应用提供了一个强大的工具包来与Redis进行交互,无论是简单的键值存储还是复杂的分布式应用程序,都可以从中受益。它不仅提升了Redis的功能,同时也极大地简化了其使用难度。
HttpClient 类是 Java Development Kit (JDK) 自 JDK 11 起引入的一个新的 HTTP 客户端 API,它旨在简化和改进发出 HTTP 请求以及处理响应的方式。这个 API 提供了对同步和异步非阻塞请求的支持,并且内置了对 HTTP/2 和 WebSocket 的支持。以下是关于 HttpClient 类的一些关键点:
HttpClient 支持 HTTP/1.1 和 HTTP/2 协议。它能够自动选择合适的版本来与服务器通信。
除了传统的 HTTP 请求,HttpClient 还提供了对 WebSocket 协议的支持,允许建立持久连接并进行双向通信。
你可以使用同步方法(如 send())来发送请求并等待响应,也可以使用异步方法(如 sendAsync()),这些方法返回一个 CompletableFuture<HttpResponse>
,可以在完成时执行回调或链式调用其他操作。
HttpClient 支持流式传输大文件或数据,这对于上传或下载大量数据特别有用。
对于有请求体的请求(例如 POST 或 PUT),可以使用 HttpRequest.BodyPublishers 来创建 BodyPublisher 实例,这使得提供请求体内容变得简单。
可以指定如何处理响应体,例如将其作为字符串、字节缓冲区或流来处理。
内置支持 SSL/TLS 加密和通过 HTTP/HTTPS 代理发送请求。
内置支持自动处理 HTTP 重定向和基本认证。
HttpClient 是高度可配置的,可以通过 HttpClient.Builder 设置各种选项,如超时时间、连接池大小等。
shcurl -o /dev/null -s -w "Connect: %{time_connect} TTFB: %{time_starttransfer} Total time: %{time_total}\n" https://hub.rat.dev