编辑
2025-03-17
实用工具
00

简介

Kryo 是一个高性能的序列化框架,它使用字节码生成机制(底层依赖了 ASM 库),因此具有非常快的运行速度。Kryo 序列化出来的结果是自定义的二进制格式,体积更小,序列化和反序列化速度更快。Kryo 通常用于 Java 应用中的对象序列化和反序列化,而不是用于多语言间的数据交换。 多语言序列化可以使用Hessian、ProtoStuff。

Kryo序列化介绍

  • 定义:Kryo是一个Java对象图形序列化框架,由Koders开发。它能够将对象转换为字节流,并能够在需要时重新构建这些对象。这种转换过程称为序列化,而从字节流重建对象的过程称为反序列化。

  • 特点:

    • 高效性:Kryo的序列化和反序列化速度非常快,通常比Java内置的序列化机制快很多倍。这是因为Kryo使用直接的字段访问和更紧凑的数据表示。
    • 灵活性:Kryo支持多种数据类型的序列化,包括基本数据类型、数组、集合、Map等。同时,Kryo还支持自定义序列化策略,允许开发者根据需要定制序列化过程。
    • 易用性:Kryo提供了简单易用的API,使得开发者可以轻松地在Java项目中集成和使用Kryo进行对象的序列化和反序列化。

使用

编辑
2025-01-29
项目分享
00

简介

Chatbox AI 是一款 AI 客户端应用和智能助手,支持众多先进的 AI 模型和 API,可在 Windows、MacOS、Android、iOS、Linux 和网页版上使用。

Chatbox地址

Ollama配置

打开windows的设置->系统—>高级系统设置->环境变量->系统变量->新增

变量名OLLAMA_HOST,变量值0.0.0.0

变量名OLLAMA_ORIGINS,变量值*

重启Ollama

其他系统请查看官方文档

使用

进入chatboxai地址页面配置ollamaApi

image.png

即可开始使用

编辑
2025-01-17
学习记录
00

简介

Redisson是一个用于Redis的Java客户端,它提供了许多超越标准Redis功能的高级特性。Redisson旨在简化分布式环境中对Redis的操作,使得开发者能够更加专注于业务逻辑而不是底层细节。以下是Redisson的一些关键特性和简介:

主要特性

  • 丰富的集合类型:Redisson提供了对多种数据结构的支持,包括映射(Map)、列表(List)、集合(Set)、有序集合(SortedSet)等,以及它们的分布式版本。
  • 分布式对象和服务:除了基本的数据结构外,Redisson还支持分布式锁(Distributed Locks)、信号量(Semaphores)、闭锁(CountDownLatch)等同步工具,有助于实现复杂的分布式系统架构。
  • 异步和响应式编程模型:Redisson支持基于Netty的完全非阻塞异步执行模式和Reactive Streams规范,允许以响应式的方式进行编程。
  • 集群和主从支持:Redisson可以无缝地与Redis的单机、主从、哨兵(sentinel)及集群(cluster)配置协同工作。
  • 灵活的序列化方式:支持JDK序列化、JSON、Avro、Amazon Ion、Kryo、FST、 Smile、LZ4、Snappy等多种序列化方法,方便用户根据需求选择合适的序列化策略。
  • Spring框架集成:Redisson与Spring框架有很好的集成,可以作为Spring缓存提供者使用,并支持Spring Boot Starter自动配置。
  • Tomcat会话管理器:Redisson提供了Tomcat Web Session Manager,可以在多个Tomcat实例之间共享HTTP会话。
  • 易于使用:通过提供直观且一致的API,Redisson大大降低了开发人员在分布式环境中操作Redis的复杂度。

总之,Redisson为Java应用提供了一个强大的工具包来与Redis进行交互,无论是简单的键值存储还是复杂的分布式应用程序,都可以从中受益。它不仅提升了Redis的功能,同时也极大地简化了其使用难度。

编辑
2025-01-08
学习记录
00

HttpClient类简介

HttpClient 类是 Java Development Kit (JDK) 自 JDK 11 起引入的一个新的 HTTP 客户端 API,它旨在简化和改进发出 HTTP 请求以及处理响应的方式。这个 API 提供了对同步和异步非阻塞请求的支持,并且内置了对 HTTP/2 和 WebSocket 的支持。以下是关于 HttpClient 类的一些关键点:

主要特点

HTTP/1.1 和 HTTP/2 支持:

HttpClient 支持 HTTP/1.1 和 HTTP/2 协议。它能够自动选择合适的版本来与服务器通信。

WebSocket 支持:

除了传统的 HTTP 请求,HttpClient 还提供了对 WebSocket 协议的支持,允许建立持久连接并进行双向通信。

同步和异步操作:

你可以使用同步方法(如 send())来发送请求并等待响应,也可以使用异步方法(如 sendAsync()),这些方法返回一个 CompletableFuture<HttpResponse>,可以在完成时执行回调或链式调用其他操作。

流式传输:

HttpClient 支持流式传输大文件或数据,这对于上传或下载大量数据特别有用。

请求体发布器(BodyPublisher):

对于有请求体的请求(例如 POST 或 PUT),可以使用 HttpRequest.BodyPublishers 来创建 BodyPublisher 实例,这使得提供请求体内容变得简单。

响应处理器(BodyHandler 和 BodySubscriber):

可以指定如何处理响应体,例如将其作为字符串、字节缓冲区或流来处理。

SSL/TLS 和代理支持:

内置支持 SSL/TLS 加密和通过 HTTP/HTTPS 代理发送请求。

重定向和认证:

内置支持自动处理 HTTP 重定向和基本认证。

可配置性和灵活性:

HttpClient 是高度可配置的,可以通过 HttpClient.Builder 设置各种选项,如超时时间、连接池大小等。

编辑
2025-01-08
学习记录
00
sh
curl -o /dev/null -s -w "Connect: %{time_connect} TTFB: %{time_starttransfer} Total time: %{time_total}\n" https://hub.rat.dev