接下来如何实现

第一步:先把服务类,调用方法转换成数字,方便传输

第二步:提取元信息,提取又有三种方式,三种各有优点,最优方式是第一种

  1.编译java时处理

  2.程序启动时处理,预处理

  3.调用时处理,懒处理

第三步:编码解释

第四步:请求方式

第五步:分布式支持

第一步:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface QModel {
short value();
}
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface QCommond {
byte value();
}
@Target({ ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
public @interface QRpcParam {
boolean required() default true;
}

1.QModel 是转换成模块编号即是公开服务类,前面介绍过先确认数值范围再定类型。short范围-32768至32767 一个中大型项目也就是三四十模块,以所short范围足够了

2.QCommond 是服务类调用方法编号,byte 类型

3.QRpcParam 是绑定在参数上,因为java反射是获取不到接口参数方法名,只能获取到实现类上的参数名,java8还没支持,required 参数是否必须有

最新文章

  1. Spring MVC中文文档翻译发布
  2. SSRS报表参数设置
  3. js-DOM2,表单脚本
  4. Java Servlet(六):HttpServlet实现原理(jdk7+tomcat7+eclipse)
  5. (转)新手必看:HighCharts几个基础问答
  6. 3Sum Closest & 3Sum Smaller
  7. 夺命雷公狗---DEDECMS----18dedecms之无可奈何标签-sql标签取出今天更新
  8. 【Python】Python重新学习
  9. currentTarget 与 Target 的区别
  10. 【资料目录收藏】.NET开发必看资料53个 经典源码77个
  11. XCode 项目配置说明
  12. GNU/Linux与开源文化的那些人和事
  13. Go开发之路 -- 指针类型
  14. pandas的简单使用
  15. 将基于Nullable<T>的类型转换实现在扩展方法中
  16. Codeforces Round #512 E - Vasya and Good Sequences
  17. 删除.svn 脱离svn版本控制器
  18. 学习笔记之Anaconda / PyCharm
  19. Java 使用 Enum 实现单例模式
  20. idea 设置不合并空目录或者包的方法

热门文章

  1. .net学习网站汇总
  2. Vue2.0源码阅读笔记--生命周期
  3. 5_jQuery选择器
  4. 工具使用——MATLAB基本调试方法
  5. 什么是Git?
  6. loadrunner入门篇-Vuser发生器
  7. java基础:学生管理系统
  8. 1726: [Usaco2006 Nov]Roadblocks第二短路
  9. SQL_Join 小总结
  10. 将两个列不同的DataTable合并成一个新的DataTable