- 博客(13)
- 收藏
- 关注
转载 大话设计模式笔记(二十四)の解释器模式
解释器模式 定义 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 目的 如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。 UML图 好处 容易改变和扩展文法,因为该模式使用类来表示文法规则,你可使用继承来改变或扩展该文法。也比较容易实现文法,因为定义抽象语法树中各个节点的类的实现大体类似,这些类都易于直接编写。 不足 解释器模式为文法中的每.
2021-07-27 20:21:13 110
转载 小白的springboot之路(十)、全局异常处理
0、前言 任何系统,我们不会傻傻的在每一个地方进行异常捕获和处理,整个系统一般我们会在一个的地方统一进行异常处理,spring boot全局异常处理很简单; 介绍前先说点题外话,我们现在开发系统,都是前后端完全分离的,后端只提供RESTfull API,禁止涉及任何界面,什么thymeleaf、JSP那些后端模板,是绝对禁止使用的,那些东西请扔垃圾箱,不要浪费大好青春去研究,那是堕落;前端则负责界面相关,常用Vue;如果公司还没前后端分离,还在thymeleaf还在前后端一起写,那你还是早做跳槽打.
2021-07-27 15:21:05 212
转载 java设计模式学习笔记——里氏替换原则
oo中的继承性的思考和说明 1、继承包含这样一层含义:父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然它不强制要求所有的子类必须遵循这些七月,但是如果子类对这些已经实现的方法任意修改,就会对整个继承体系造成破坏。 2、继承在给程序设计带来便利的同时,也带来了弊端。比如使用继承会给程序带来侵入性,程序的可移植性降低,增加对象间的耦合性,如果一个类被其他的类所继承,则当这个类需要修改时,必须考虑到所有的子类,并且父类修改后,所有涉及到子类的功能都有可能产生故障。 3、问题提出:在编程中,如何正确的使.
2021-07-26 08:20:08 105
转载 微服务优化之使用gRPC做微服务的内部通信
使用gRPC做微服务的内部通信 gRPC是一个由Google开源的远程服务调用框架,具有多路复用和双向流式通信的特性。 大家好,在本文中将为大家介绍为什么我们应该使用gRPC代替RESTful或JSON,来开发微服务内部的通信接口。 什么是gRPC? gRPC是一个高性能的、开源的、普遍通用的RPC框架。简单地说,它能够帮助我们建立透明的服务端和客户端通信系统。Google开发了GRPC并且将其开源。 通过它,一个客户端消费者服务可以像调用本地方法一样,调用另一台主机上面的服务端方法。 gRPC本质上仍然.
2021-07-23 08:20:08 189
转载 单例模式,反射破环?
饿汉式 // 饿汉式单例 public class Hungry { //构造器私有 private Hungry(){ } // 一上来就把这个类加载了 private final static Hungry HUNGRY = new Hungry(); public static Hungry getInstance(){ return HUNGRY; } } // 饿汉式单例 public class Hu..
2021-07-18 15:21:05 118
转载 Spring Cloud Alibaba系列(五)sentinel实现服务限流降级
一、sentinel是什么 sentinel的官方名称叫分布式系统的流量防卫兵。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。在Spring Cloud项目中最开始我们使用的是Hystrix,目前已停止更新了。现在Spring Cloud官方推荐的是rensilience4j。当然还有我们今天学习的sentinel。 Sentinel 具有以下特征: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流.
2021-07-17 08:20:08 307 1
转载 业务网关-操作手册
这里从部署运维的角度描述如何将网关系统动作起来,由于线上实战的系统是分布式,所以项目依赖的组件会相对多一些,为了简化,将配置组件(apollp)做了移除。这篇以网关最基本的分流组件做为演示,其它组件的应用不在此篇中描述。 依赖组件 基础组件 以下组件需要提前安装好,本地跑的话建议用docker跑。 1、redis 用于缓存数据 2、zookeeper 用于在分布式系统中同步数据 3、mysql 用于存储网类的配置数据,比如分流规则,RPC协议转换等数据。 应用组件 以下组件是基于应用层面的应用.
2021-07-14 15:21:05 334
转载 Django—— 多表操作之基于对象的跨表查询(正反向查),基于双下划线的跨表查询,进阶连续跨表查询
一、基于对象的跨表查询(正向反向查询) # 跨表查询有两种方式 -基于对象的跨表查询:子查询 -基于双下划线的跨表查询:关联查询,连表查询 # 基于对象的跨表查询 -查询主键为1的书籍的出版社所在的城市 # 基于对象的跨表查询(子查询) # 一对多 # 查询主键为1的书籍的出版社所在的城市 # book=models.Book.objects.get(id=1) # 第一次查询 # # book=models..
2021-07-10 20:21:10 291
转载 【Java】log4j2-spring.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration status="INFO" monitorInterval="60"> <Properties> <Property name="app.name"></Property> <Property name="log.home">D:/logs/</Property> .
2021-07-05 20:21:10 592
转载 MyBatis学习02(配置解析)
配置解析 核心配置文件 mybatis-config.xml 系统核心配置文件 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 能配置的内容如下: configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境配置) environment(环境变量) transact.
2021-07-04 08:20:13 121
转载 把 Spring Cloud 给拆了!详解每个组件的作用,值得收藏!
目录 Eureka Ribbon和Feign Zuul Hystrix Config 总结如下 Eureka Ribbon和Feign Zuul Hystrix Config 总结如下 我们先认识一下SpringCloud的各个组件,然后知其所以然。 原理讲解前,先看一个最经典的业务场景,如开发一个电商网站,要实现支付订单的功能,流程如下: 创建一个订单之后,如果用户立刻支付了这个订单,我们需要将订单状态更新为“已支付” 扣减相应的商品库存 通知仓储中心,进行发...
2021-07-02 15:21:05 140
转载 精尽MyBatis源码分析 - 插件机制
该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址、Mybatis-Spring 源码分析 GitHub 地址、Spring-Boot-Starter 源码分析 GitHub 地址)进行阅读 MyBatis 版本:3.5.2 MyBatis-Spring 版本:2.0.3 MyBatis-Spring-Boot-Starter 版本:2.1.4 该系列其他文档请查看:《精尽 MyBatis 源码分析 - 文章..
2021-07-02 08:20:05 157
转载 Mybatis源码阅读(二)
本文主要介绍Java中,不使用XML和使用XML构建SqlSessionFactory,通过SqlSessionFactory 中获取SqlSession的方法,使用SqlsessionManager管理Sqlsession复用等等..以及相关的示例代码 SqlSession SqlSessions 是由 SqlSessionFactory 实例创建的。SqlSessionFactory 对象包含创建 SqlSession 实例的各种方法。而 SqlSessionFactory 本身是由 SqlSess.
2021-07-01 15:21:08 223
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人