简介 sharding-jdbc案例,版本5.1.2 springboot + mybatis-plus + sharding-jdbc 项目地址:sharding-jdbc-example 模块说明 read-write 简单的读写分离 db-sharding 简单的不同表在不同库配置 tb_order表使用sharding-jdbc的雪花算法生成id tb_storage表使用mybatis-plus生成uuid db-read-write-sharding 不同表在不同库配置 + 静态读写分离 table-s…

2022年7月7日 0条评论 468点热度 0人点赞 王谷雨 阅读全文

Seata是什么 这里引用官方解释 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。 环境搭建 Nacos + Seata Nacos 使用Nacos作为配置中心和注册中心 Seata支持多种配置方式(nacos、consul、apollo、etcd、zookeep、file),详看Seata官方文档 安装(Docker方式,其他方式见Nacos官方文档): 导入Naco…

2022年7月5日 0条评论 763点热度 1人点赞 王谷雨 阅读全文

前言 动机 最近在学习Netty框架,发现Netty是支持Http协议的。加上以前看过Spring-MVC的源码,就想着二者能不能结合一下,整一个简易的web框架(PS:其实不是整,是抄) 效果 项目地址:terabithia 0.3版本使用效果如下,其实就是Spring-MVC的Controller的写法 @RestController @RequestMapping(value = "/hello") public class HelloController { /** * request url:/hello…

2022年6月21日 0条评论 479点热度 2人点赞 王谷雨 阅读全文

个人读书笔记,有些地方用词不够严谨(欢迎评论指正),见谅。书籍链接 笔记是个人理解,与书籍可能有偏差,建议看书。 问题: 什么样的数据适合图数据库? 社交关系?网页数据?地图数据? mysql有没有事务重试? 更新数据时,是按行更新还是按页更新? 更新数据时,是采用copy on write还是直接修改? 第一部分 数据系统的基石 第一章:可靠性、可扩展性、可维护性 可靠性 硬件故障:机房断电、硬盘崩溃等 软件错误:数据库异常、缓存异常等 认为错误:业务bug、运维失误等 允许部分服务可不用(不影响整体系统),最后…

2022年6月16日 0条评论 729点热度 0人点赞 王谷雨 阅读全文

以下是本人在阅读《Effective Java》期间记录的笔记,未经整理。有兴趣的可以看看,有问题可以探讨。 第二章 创建和销毁对象 1. 考虑使用静态工厂方法代替构造方法 优点: 静态方法可以命名(见名知意) 单例模式(减少创建对象的开销) 可以返回当前类的子类而不是当前类 根据参数不同返回不同实现类 类不需要存在,可以反射生成(比如数据库的DriverManager) 缺点: 没有公共或受保护构造方法的类不能被子类化??? 程序员很难找到它们 2. 当构造方法参数过多时使用 builder 模式 比如4个或者以…

2022年6月16日 0条评论 1049点热度 2人点赞 王谷雨 阅读全文

前言 此方法为使用uniapp开发前端资源,然后继承进安卓原生项目,达到调用uniapp调用jar的效果。 基于Android Studio进行开发。 本人不懂安卓以及gradle,只是基于搜索引擎以及官方文档得出以下步骤,如果错误或改进之处,望告知。以下步骤亲测可用。 项目搭建 此处可以参考官方文档,说的很详细了 初始项目是通过对官方demo进行裁剪获得(个人尝试过新建项目,未遂) 下载官方demo 导入UniPlugin-Hello-AS项目 删除官方demo模块 官方模块总共有3个(uniplugin_com…

2022年6月16日 0条评论 487点热度 2人点赞 王谷雨 阅读全文

效果 ProtobufVarint32LengthFieldPrepender编码器用于在数据最前面添加Varint32,表示数据长度 ProtobufVarint32FrameDecoder是相对应的解码器 Varint32 讲编码器之前,先来讲讲什么是VarInt32(vary int 32),即:可变长的int 在java里,int的长度固定为 4 byte,即 32 bits,最高位为符号位。 而Varint32则不固定长度,最小 1 byte,最大 5 byte,每个byte的最高位如果为1表示下一个by…

2022年6月16日 0条评论 560点热度 0人点赞 王谷雨 阅读全文

工作机制中分三部来分析springmvc的源代码 ApplicationContext初始化时建立所有url和controller类的对应关系(用Map保存) 根据请求url找到对应的controller,并从controller中找到处理请求的方法 request参数绑定到方法的形参,执行方法处理请求,并返回结果视图 ApplicationContext初始化时建立所有url和controller类的对应关系(用Map保存) Sptingboot中的调用链 RequestMappingHandlerMapping…

2022年6月16日 0条评论 427点热度 0人点赞 王谷雨 阅读全文

返回值解析器 用于对controller的返回值进行二次处理 结构 // 返回值解析器 public interface HandlerMethodReturnValueHandler { // 判断 HandlerMethodReturnValueHandler 是否支持 MethodParameter boolean supportsReturnType(MethodParameter returnType); // 处理给定的返回值 void handleReturnValue(@Nullable Objec…

2022年6月16日 0条评论 432点热度 0人点赞 王谷雨 阅读全文

下图是springmvc的执行流程 图片来源:https://www.jianshu.com/p/8a20c547e245 DispatcherServlet根据url定位到Controller和方法,依赖的是HandlerMapping接口的各个实现类,其中,RequestMappingHandlerMapping是专门用来处理注解方式的Controller的 下面,我们分RequestMappingHandlerMapping的加载以及RequestMappingHandlerMapping如何根据url定位C…

2022年6月16日 0条评论 437点热度 0人点赞 王谷雨 阅读全文
134567