摘要: 看到一篇写的不错的 阅读全文
posted @ 2020-07-17 10:49 java拌饭 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 什么时候需要 对象的创建与使用分离 对于不同类型的产品创建,使用不同的工厂类实现 对象创建难度不同,比如某个service用到dao,dao的实现有redis,mysql,mongodb,创建dao的难度不同,需要的细节不同,如果把创建代码放到service里面,就会显得臃肿难以维护 模式结构 抽象 阅读全文
posted @ 2020-07-12 10:43 java拌饭 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 什么时候需要 根据参数不同创建同一父类下不同子类 将对象的创建与对象的使用分离,比如service负责使用dao,而不应该负责创建dao;否则,同一个dao的创建会出现在很多service,一旦需要修改,不仅违背开闭原则,而且改动面很大 模式结构 抽象产品角色:Product 具体产品角色:Conc 阅读全文
posted @ 2020-07-12 10:41 java拌饭 阅读(110) 评论(0) 推荐(0) 编辑
摘要: ClassVisitor 访问者模式 a56爆大奖在线娱乐们不讲访问者模式,只说说这个类的设计的个人思考 package org.springframework.asm; /** * A visitor to visit a Java class. The methods of this class must be 阅读全文
posted @ 2020-07-09 14:15 java拌饭 阅读(1028) 评论(0) 推荐(0) 编辑
摘要: 问题提出 用户参与抽奖,每日只能参与3次,总共只能参与15次,如何控制?(限额) 给用户发送短信,每天只能发送3条,每条间隔10分钟,如何控制?(防骚扰) 两个问题其实类似 ,都是多个限制条件 以问题2制定方案 使用redis做计数器,使用StringRedisTemplate作为API 使用两个校 阅读全文
posted @ 2020-07-06 19:10 java拌饭 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 预备知识 官方客户端地址 Java客户端分析 分为Java API Client和Java Rest Client Java API Client默认连接的是9300端口,传输协议,依赖netty Java API Client不同版本有兼容问题 Java API Client通过方法调用完成交互, 阅读全文
posted @ 2020-07-01 20:36 java拌饭 阅读(2110) 评论(0) 推荐(0) 编辑
摘要: 背景参考 线程之ExecutorService Reactor 首先,搞懂JDK线程池 再熟练掌握reactor模式 最后再来理解Netty的线程模型 Future扩展 Future 继承JDK的Future,提供更多状态方法,额外引入事件监听 监听在操作完成后自动触发 异步获取执行结果 Promi 阅读全文
posted @ 2020-06-29 10:44 java拌饭 阅读(645) 评论(0) 推荐(0) 编辑
摘要: 编解码 为什么需要编解码? 数据在网络中以流的形式传递,在NIO中,读写的都是ByteBuffer socket数据传输的时候会发生粘包、半包等情况 通信双方的编解码格式预先定义,一定是一致的 业务代码与编解码逻辑需要解耦 编解码流程 首先,Client组装Request数据,发送到Server 端 阅读全文
posted @ 2020-06-20 18:38 java拌饭 阅读(283) 评论(0) 推荐(0) 编辑
摘要: Channel package io.netty.channel; public interface Channel extends AttributeMap, ChannelOutboundInvoker, Comparable<Channel> { ChannelId id(); EventLo 阅读全文
posted @ 2020-06-19 14:51 java拌饭 阅读(611) 评论(0) 推荐(0) 编辑
摘要: 总览 Executor package java.util.concurrent; public interface Executor { void execute(Runnable command); } 命令模式 分离任务提交和任务执行 ExecutorService package java. 阅读全文
posted @ 2020-06-17 11:17 java拌饭 阅读(232) 评论(0) 推荐(0) 编辑