- 服务端方法执行优化
- 如何取代反射的方法调用?
- 序列化/反序列化 优化
-
在业务线程中序列化/反序列化, 避免占⽤IO线程
- 序列化/反序列化占⽤数量极少的IO线程时间⽚
- 反序列化常常会涉及到Class的加载, loadClass有一把锁竞争严重(可通过JMC观察一下)
-
选择⾼效的序列化/反序列化框架(kryo/protobuf/protostuff/hessian/fastjson/…) https://github.com/eishay/jvm-serializers/wiki
-
选择只是第一步, 它(序列化框架)做的不好的, 去扩展和优化
- 传统的序列化/反序列化+写⼊/读取⽹络的流程 java对象--> byte[] -->堆外内存 / 堆外内存--> byte[] -->java对象
-
优化思路 省去byte[]环节, 直接读/写 堆外内存, 这需要扩展对应的序列化框架
-
- IO 线程减少CPU的持有?
- 分池这个时候体现出作用来了
- Java SPI
- Spring Bean Aware?
- class scan 参考Mybatis Interceptor 的实现?