From 0577b6e9a00783eecd31e80712cfed676e094361 Mon Sep 17 00:00:00 2001 From: jaysunxiao Date: Fri, 28 May 2021 17:22:40 +0800 Subject: [PATCH] =?UTF-8?q?doc[protocol]:=20=E6=9B=B4=E6=96=B0=E8=AF=B4?= =?UTF-8?q?=E6=98=8E=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- protocol/README.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6354dd43..0a0f8b88 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ Java生态的rpc框架非常多,但是很少有rpc框架能够契合到游戏 **JDK 11+**,可以在 **OpenJDK** 和 **Oracle JDK** 无缝切换 ``` -如果你的机器没有安装JDK 11,最快速的安装方法是在Idea中的Project Structure,Platform Settings,SDKs中直接下载 +如果你的机器没有安装JDK 11+,最快速的安装方法是在Idea中的Project Structure,Platform Settings,SDKs中直接下载 ``` #### 2. [protocol](protocol/README.md) 目前性能最好的Java序列化和反序列化库 @@ -77,7 +77,7 @@ NetContext.getCosumer() ``` // 传入需要更新的class文件 -ConfigUtils.startHotSwapConfig(bytes); +HotSwapUtils.hotswapClass(bytes); ``` #### 5. [orm](orm/README.md) 基于mongodb的自动映射框架 diff --git a/protocol/README.md b/protocol/README.md index fd480fa0..93c889e6 100644 --- a/protocol/README.md +++ b/protocol/README.md @@ -31,7 +31,7 @@ cpu: i9900k 内存:64g ``` -- 单线程测试,横坐标为序列化和反序列化的对象数量,纵坐标为花费的时间单位毫秒 +- 单线程测试,横坐标为序列化和反序列化的对象数量,纵坐标为花费的时间(单位毫秒) ![Image text](../event/tooltip/protocol/simple_object.png) ![Image text](../event/tooltip/protocol/normal_object.png) ![Image text](../event/tooltip/protocol/complex_object.png) @@ -42,7 +42,7 @@ cpu: i9900k - 没有装箱和拆箱,避免了无效GC - 天生线程安全并且无锁化;kryo强制要求每条线程都有自己的一个Kryo实例,这是一个比较重的设计,特别是线程比较多的场景 - 没有反射,没有unsafe操作;对比kryo中使用objenesis导致大量unsafe,而且在Java11中运行会出现警告 -- 优化了int和long的zigzag和varint编码的算法,避免了一些多余的方法的调用和位操作 +- 优化了int和long的zigzag和varint编码的算法,避免了一些多余的方法调用和位操作 - 扁平化了方法栈的调用深度,数据结构嵌套没有任何性能损失,如List>>;对比kryo和protobuf数据结构嵌套会出现性能损失 - 使用Javassist字节码增强动态生成顺序执行的序列化和反序列化函数,顺序化的函数可以轻易的被JIT编译以达到极致的性能 - 其它优点