摘要: 问题1:计算机系统中各种各样的时序系统如何同步的? 如上图,计算机系统是有组合逻辑电路和时序电路组成,时序电路会接时钟,所有的时序电路都会约定好在时钟的上升沿或者下降沿接受数据。 问题2: 时钟周期应该设置多长才合适? 要求时钟周期必须大于信号在线路中的传播延迟加上处理该信号的时序电路的处理延迟。 阅读全文
posted @ 2023-07-06 11:08 Birding 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 计算机内部有两种表示数的方式,定点和浮点,定点意思是小数点的位数是固定的,比如32位cpu,如果小数点固定在中间,则实数和小数都各占16位。浮点是小数点会根据数的大小浮动,具体如何浮动根据不同的cpu实现不同。 根据表示方式不同cpu分位定点机和浮点机,定点机内部按照定点方式存储数字,浮点机按照浮点 阅读全文
posted @ 2021-11-25 20:09 Birding 阅读(623) 评论(0) 推荐(0) 编辑
摘要: 两个问题: 1. 二进制补码是CPU计算的符号数表示形式,但是用户输入的都是10进制,是在哪个节点给10进制转换成二进制补码的? 结论是编译器做转换,CPU不关系符号,可以通过 https://defuse.ca/online-x86-assembler.htm#disassembly 这个网站写个 阅读全文
posted @ 2021-11-16 16:07 Birding 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 底层原理: Jmockit底层基于asm和jvm instrument功能实现的在运行期修改字节码,根据MockUp类的类型信息和mock方法签名定位到具体需要修改的类和方法,然后给方法的上面加上转调mock代码逻辑。 调试相关类: TestRun.getFakeClasses() 该方法返回的fa 阅读全文
posted @ 2021-08-03 17:41 Birding 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 前段时间在做应用db访问日志客户端的开发,这里记录下日志客户端设计相关问题: 1. 如何拦截请求? a. 公司的db访问都是统一经过dal框架,所以动态给dal框架底层执行方法增加拦截代码即可。主要思路是在注册tomcat启动监听,在监听代码中,注册jvm修改类定义的tranform(参考jvm的i 阅读全文
posted @ 2021-07-13 10:17 Birding 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 协议 底层实现 协议特点 序列化组件 性能 dubbo dubbo(参照代码Codec2接口及相关实现,目前dubbo中只有dubbo协议是自主实现,其他都是依赖第三方框架) 1. 协议头里记录序列化组件ID来决定客户端和服务端按照什么方式来编解码,请求ID对于response的解码从本地取该res 阅读全文
posted @ 2021-07-05 20:39 Birding 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 先看使用的地方,dubbo协议底层使用netty进行tcp通信,netty提供了报文encode和decode的接口,可以看nettyserver构建server的地方: 在创建netty server的时候会通过调用getCodec方法获取dubbo对应的codec实现类。dubbo codec实 阅读全文
posted @ 2021-07-05 10:54 Birding 阅读(190) 评论(0) 推荐(0) 编辑
摘要: Spring初始化入口: AbstractApplicationContext.refresh(AbstractApplicationContext.java:542) 在方法的最后一个处理: finishBeanFactoryInitialization(AbstractApplicationCo 阅读全文
posted @ 2021-07-02 16:35 Birding 阅读(80) 评论(0) 推荐(0) 编辑
摘要: directory为一个引用服务的抽象,内部维护了服务提供者列表以及服务的路由和更新功能,包含类如下: Directory是最上层接口,主要定义了三个基本接口:getInterface表示该directory对应的服务;list返回该directory可用的服务提供者列表;getConsumerUr 阅读全文
posted @ 2021-06-29 11:17 Birding 阅读(242) 评论(0) 推荐(0) 编辑
摘要: RegistryProtocol是Protocol的实现类,是注册中心和服务提供者的桥梁,下面分析该类主要的两个方法export(导出服务)、refer(引用服务)的实现流程,分析是如何实现服务导出和服务引用的。 export: export比较简单,先从invoker中抽取出服务提供者url,调用 阅读全文
posted @ 2021-06-29 09:20 Birding 阅读(1021) 评论(0) 推荐(0) 编辑