- 博客(28)
- 收藏
- 关注
原创 Netty简单实现客户端与服务端收发消息
Netty简单实现客户端与服务端收发消息这个小案例主要是实现netty收发消息,分为客户端,及服务端,以及包含了相关状态处理,主要的代码会放在最后 gitHub 地址上,有需要可以看一下首先来简单说明一下消息收发流程1.客户端构建登录请求对象,服务端判断登录是否成功,并绑定成功状态2.客户端判断登录成功,构建消息请求对象接收消息3.服务端接收消息后进行处理,并构建消息返回对象,进行返回4.客户端接收消息返回对象处理,流程结束一 创建消息对象及状态新增收发消息对象消息请求对象 :@Dat
2022-05-02 19:23:17 8185
原创 Netty实现简单服务端和客户端通信
Netty实现简单服务端和客户端通信服务端代码/** * @author qijs * @version 1.0.0 * @Description TODO * @createTime 2022年04月03日 17:11:00 */public class NettyServer { public static void main(String[] args) { ServerBootstrap serverBootstrap = new ServerBootstra
2022-04-03 18:38:32 292
原创 Java设计模式之状态模式
Java设计模式之状态模式 由之前的一周两更变成了一更,哈哈哈,最近多了一些快乐,时间总是固定的,投入一件事情的多了,另外的事情就会少,本周大概率还是一篇了,emmmm,以后会尽量减少无意义的快乐,找到真正的意义,嗯,就说这么多,下面来看下什么是状态模式一 : 什么是状态模式 ? 状态模式 : 当一个对象的内在状态改
2021-07-18 15:10:40 174
原创 Java设计模式之观察者模式
Java设计模式之观察者模式 来看一下观察者模式的原理和实现吧一 : 什么是观察者模式 ? 观察者模式 : 定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题. 这个主题对象在状态发生变化时,会通知所有观察者对象,是它们能够自动更新自己嗯,这个模式也叫发布订阅模式,对,就是消息中间件很常见的发布订阅,发
2021-07-11 15:04:02 148
原创 Java设计模式之建造者模式
Java设计模式之建造者模式 关于建造者模式这部分的原理及代码实现的Demo在前几天已经准备好了,emm,有点忙的,一扯出这个这个理由应该就是众所周知的懒了,不过这几天晚上到家确实是有点晚了,又不想影响到睡眠,毕竟狗命重要呢,所以就没怎么写了;废话讲了一些,现在来了解一下建造者模式吧一 : 什么是建造者模式 ? 建造
2021-07-08 23:13:35 98
原创 Java设计模式之外观模式
Java设计模式之外观模式 这次了解的设计模式是外观模式,这种设计模式在日常的开发中也是经常可以遇到的,相对于模板方法来说,这种开发中实现就更多了,说一个场景 :数据访问层和业务逻辑层,业务逻辑层和持久化层 的 层与层之间的接口,这就可以理解为一个Facade;讲到这里会不会有种恍然大悟的感觉,接下来可以简单的了解一下这种设计模式的实现及原理一 : 什么是外观模式
2021-07-04 17:16:58 90
原创 Java设计模式之模板方法模式
Java设计模式之模板方法模式 时间又是隔了好几天哈,今天又学习了一种设计模式,是模板方法了,这种设计模式在没有了解到之前,但是我们在开发中绝大多数都会不知不觉的用到了,不过我们并不了解我们用到的方法会是一种设计模式,哈哈哈哈,只能说伟大的思想都是共通的;下面来看一下这种设计模式的详细情况吧一 : 什么是模板方法模式 ? &nb
2021-07-03 16:37:55 110
原创 Java设计模式之原型模式
Java设计模式之原型模式时间隔了好几天了,今天写一下设计模式中的原型模式,示例代码几天前已经瞧好了,想做一些优化,方便大家对这个模式的理解更加深入一点,另外也需要找更多详细点的资料一 : 含义 什么是原型模式 ? 使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式是一种对象创建型模式。二 : 解决的问题 多个相同对象重复创建的较大开
2021-06-13 09:07:39 1202 1
原创 Java设计模式之抽象工厂模式
设计模式之抽象工厂模式上次对工厂模式进行了学习,了解到了类型接口,uml图,包括示例代码等相关部分,刚好趁热打铁,对抽象工厂模式进行了学习一 : 含义 什么是抽象工厂模式 ? 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。二 : 解决的问题 &nbs
2021-05-17 18:11:19 103
原创 Java设计模式之工厂模式
设计模式之工厂模式现在是对工厂模式的学习,之前的部分有对简单工厂的学习,如果对简单工厂模式不太了解的话可以回过去熟悉一下,下面进入正文的学习一 : 含义 什么是工厂模式 ? 工厂方法模式,又称工厂模式、多态工厂模式和虚拟构造器模式,通过定义工厂父类负责定义创建对象的公共接口,而子类则负责生成具体的对象。二 : 解决的问题 工厂一旦需要生产新产品就需要修改工厂
2021-05-14 16:27:22 111
原创 Java设计模式之代理模式
没想到这么快俺又粗来了,在学习装饰者模式,这次使用的案例比较接近生活,嗯嗯,不用多想,就是超级英雄钢铁侠;一 : 含义 什么是代理模式 ? 代理模式(Proxy Pattern)是一种结构性模式。即通过代理对象访问目标目标对象,可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 代理模式主要有三种形式,分别是静态代理、动态代理(也称JDK代理、接口代理)和cglib代理(在内存动
2021-05-14 10:24:55 101
原创 Java设计模式之装饰者模式
没想到这么快俺又粗来了,在学习装饰者模式,这次使用的案例比较接近生活,嗯嗯,不用多想,就是超级英雄钢铁侠;一 : 含义 什么是装饰者模式 ? 指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。 二 : 解决的问题 &nbs
2021-05-11 18:14:48 126
原创 Java设计模式之策略模式
嗯嗯 , 没想到这么快就开启了第二篇blog了,哈哈哈,主要还是这两个设计模式离得很近吧,我看的资料是大话设计模式,讲的还是比较清晰易懂的,需要的小伙伴也可以了解一下,进入正文了;一 : 含义 什么是策略模式 ? 策略模式是行为型模式,它定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化 二 : 解决
2021-05-10 15:59:31 162
原创 Java设计模式之简单工厂模式
好久没有写博客记录学习情况了,刚好这段时间在看设计模式相关的资料,就简单的做一下记录,也是对学习成果的总结,以后翻看的话不会一脸懵逼,多的话就不在说了,下面就进入正题一 : 含义 什么是简单工厂模式 ? 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是
2021-05-09 16:14:23 102
原创 解决Java中BigDecimal类型使用Double构造方式精度丢失问题 贺兰的博客
解决Double类型在BigDecimal中精度丢失问题 最近在新公司遇到了一个bug,因为项目中涉及到了和金额相关的业务,所以就接触到了 BigDecimal 高精度类型,在处理BUG中遇到了丢失精度的问题: Double money = 0.60; BigDecimal decimal = new BigDecimal(money).setScale(2, RoundingMode.DOWN);
2021-03-24 16:49:32 1635
原创 实现一个通用的泛型生成器Generator 贺兰的博客
最近在学习Thinking in Java 泛型的章节,关于泛型接口的具体应用; 生成器(generator)就是一个很好的例子,它是一种专门负责创建对象的类,是工厂方法设计模式的一种具体应用,下面看一下具体的实现 :一般而言,一个生成器只定义一个方法,用来产生新的对象 :public interface Generator<T> { T next();}方法 next() 返回类型是参数化的T,从这里看,接口使用泛型和类使用泛型并没有区别;为了实现Generator接口,我们还需要一
2021-03-06 17:26:55 278 1
原创 There is no getter for property named ‘rateTypeListReq‘ in ‘class ‘xx.xx.rateTypeListReq‘ 问题解决方案 贺兰
今天在调试接口中遇到了下面的问题 : ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210125101808512.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NzMwMTY0NQ==,size_16,color_FFFFFF,t_70)将xml文件中的sql拿出来查询并没有问题
2021-01-25 10:28:22 107
原创 解决mybaits if标签条件搜索失效的问题 贺兰的博客
if标签和Integer类型所遇到的问题项目使用的是springboot + mybatis 的框架进行开发,使用动态sql 的if标签遇到以下问题请求对象:{“billType”: “”,“subBillType”: “”,“callerType”: “”,“calledType”: “”,“callType”: 0,“chargeType”: null}请求类型:@ApiModelProperty(value = “费率类型”)private String billType;
2021-01-15 18:36:20 384
原创 RabbitMQ 工作原理和常用工作模式 --贺兰的博客
RabbitMQ介绍 : MQ全称为Message Queue,即消息队列;RabbitMQ由erlang语言开发,基于AMQP协议实现的消息队列; :RabbitMQ的官网常见的其它消息队列 :ActiveMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ、Redis(也可做消息队列)RabbitMQ优点介绍 :1.使用简单,功能强大(SpringBoot默认集成)2.基于AMQP协议3.社区活跃,文档完善4.基于erlang语言,
2020-10-04 11:11:03 774
原创 dubbo总体架构和远程调用流程(图) 贺兰的博客
dubbo学习 基础和总体架构dubbo简介 :它是一个分布式的RPC框架,核心设计原则是:微内核 + 插件体系dubbo架构图服务提供方启动时会将服务信息注册到注册中心(服务ip,端口等),服务消费方在启动时不仅将自身信息注册到注册中心,同时会从注册中心订阅服务提供方的所有数据(第一次订阅会拉取所有信息),其后当注册中心中数据变更(provider变化),注册中心会把数据推送给消费者;获取到服务调用方数据后,服务消费者可以发起RPC调用;在调用前后会向监控中心上报统计信息(调用url,并发数等)
2020-09-18 17:49:12 427
原创 微服务架构基础 SpringCloud基础组件学习 贺兰的博客
微服务架构基础 SpringCloudSpringCloud简介 :SpringCloud是在springboot的基础上构建的,用于简化分布式系统构建的工具集服务发现 :Eureka介绍 :Eureka服务包含两大组件 服务端发现组件(Eureka Server)和客户端发现组件(Eureka Client) ;服务端发现组件也称服务注册中心,主要提供了服务的注册功能,客户端发现组件主要用于处理服务的注册与发现上图中,客户端发现组件会向注册中心注册自身提供的服务,并周期性地发送心跳来更新服务
2020-09-15 14:30:22 223
原创 微服务架构基础 微服务相关概念及基础知识 贺兰的微博
**微服务架构基础** 学习笔记第一章 认识微服务1.1 为什么需要微服务总结 : 传统架构满足不了实际需求,微服务架构随之而来问题 : 传统架构为什么满足不了需求,怎么解决这个问题 ?1.1.1早期单体架构示例网上商城系统,Java Web工程通常会被打包成WAR包部署在web服务上,普通工程会以jar包的形式包含在war包中.当用户量不多时,此种情况可以满足需求;当用户增加时,一台机器满足不了系统的负载,此时可以进行水平扩展(PS: 懒得动手,书中拷图)随着时间的发展,此类架构
2020-09-11 17:29:20 652
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人