doc[protocol]: 更新说明文档

This commit is contained in:
jaysunxiao
2021-05-28 17:22:40 +08:00
parent 7417c29f1b
commit 0577b6e9a0
2 changed files with 4 additions and 4 deletions
+2 -2
View File
@@ -37,7 +37,7 @@ Java生态的rpc框架非常多,但是很少有rpc框架能够契合到游戏
**JDK 11+**,可以在 **OpenJDK****Oracle JDK** 无缝切换
```
如果你的机器没有安装JDK 11,最快速的安装方法是在Idea中的Project StructurePlatform SettingsSDKs中直接下载
如果你的机器没有安装JDK 11+,最快速的安装方法是在Idea中的Project StructurePlatform SettingsSDKs中直接下载
```
#### 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的自动映射框架
+2 -2
View File
@@ -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<Set<Map<>>>;对比kryo和protobuf数据结构嵌套会出现性能损失
- 使用Javassist字节码增强动态生成顺序执行的序列化和反序列化函数,顺序化的函数可以轻易的被JIT编译以达到极致的性能
- 其它优点