- 博客(15)
- 资源 (3)
- 收藏
- 关注
原创 IDEA断点调试
1. Debug 的设置设置 Debug 连接方式,默认是 Socket。Shared memory 是 Windows 特有的一个属性,一般在 Windows 系统下建议使用此设置,内存占用相对较少。
2021-07-26 19:36:26 493 1
原创 dubbo原理
1.RPC原理一次完整的RPC调用流程(同步调用,异步另说)如下:服务消费方(client)调用以本地调用方式调用服务;client stub接收到调用后负责将方法、参数等组装成能够进行网络传输的消息体;client stub找到服务地址,并将消息发送到服务端;server stub收到消息后进行解码;server stub根据解码结果调用本地的服务;本地服务执行并将结果返回给server stub;server stub将返回结果打包成消息并发送至消费方;client stub接收到
2021-07-26 15:31:19 213 1
原创 dubbo高可用
zookeeper宕机与dubbo直连现象:zookeeper注册中心宕机,还可以消费dubbo暴露的服务。原因:健壮性监控中心宕掉不影响使用,只是丢失部分采样数据数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务注册中心对等集群,任意一台宕掉后,将自动切换到另一台注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯服务提供者无状态,任意一台宕掉后,不影响使用服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复高可用:通过设计,减
2021-07-26 14:56:35 101
原创 dubbo配置
dubbo配置官网参考:http://dubbo.apache.org/zh-cn/docs/user/references/xml/dubbo-service.html1、配置原则将XML配置的标签名,加属性名,用点分割,多个属性拆成多行。比如:dubbo.application.name=foo等价于<dubbo:application name=“foo”/>JVM 启动 -D 参数优先,这样可以使用户在部署和启动时进行参数重写,比如在启动时需改变协议的端口。XML 次之,如果
2021-07-26 12:14:22 572
原创 dubbo基础
1、分布式基础理论1.1、什么是分布式系统?《分布式系统原理与范型》定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”分布式系统(distributed system)是建立在网络之上的软件系统。随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。1.2.发展演变单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用
2021-07-25 22:09:22 170 1
原创 Springboot2数据访问
数据库场景的自动配置分析与整合测试导入JDBC场景<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId></dependency>在这个场景里面帮助我们导入了以下内容接着导入数据库驱动包(MySQL为例)为什么导入JDBC场景,官方不给我们
2021-07-24 18:42:34 370 2
原创 Springboot2Web原生组件注入
官方文档 - Servlets, Filters, and listeners使用原生的注解Servlet API@ServletComponentScan(basePackages = “com.atguigu.admin”) :指定原生Servlet组件都放在那里@WebServlet(urlPatterns = “/my”):效果:直接响应,没有经过Spring的拦截器?@WebFilter(urlPatterns ={"/css/","/images/"})@WebListenerMyS
2021-07-22 15:28:18 181 3
原创 Springboot2拦截器与文件上传
拦截器-登录检查与静态资源放行1.编写一个拦截器实现HandlerInterceptor接口2.拦截器注册到容器中(实现WebMvcConfigurer的addInterceptors())3.指定拦截规则(注意,如果是拦截所有,静态资源也会被拦截】还是以上一节Springboot视图解析与模板引擎为例,访问除登录页面外的其它任何请求,都应该是登录之后才能访问的。我们可以使用拦截器对请求进行拦截,从而进行相应的处理。public interface HandlerInterceptor {
2021-07-21 19:11:37 293 2
原创 Springboot视图解析与模板引擎
1.视图解析视图解析:SpringBoot默认不支持 JSP,需要引入第三方模板引擎技术实现页面渲染。视图解析原理流程1.目标方法处理的过程中,所有数据都会被放在 ModelAndViewContainer 里面。包括数据和视图地址2.方法的参数是一个自定义类型对象(从请求参数中确定的),把把重新放在 ModelAndViewContainer3.任何目标方法执行完成以后都会返回 ModelAndView(数据和视图地址)4.processDispatchResult 处理派发结果(页面如何响
2021-07-21 09:50:29 528 3
原创 Java设计模式-模板方法模式
1 概述在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。例如,去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业务、对银行工作人员进行评分等,其中取号、排队和对银行工作人员进行评分的业务对每个客户是一样的,可以在父类中实现,但是办理具体业务却因人而异,它可能是存款、取款或者转账等,可以延迟到子类中实现。定义:定义一个操作中的算法骨架,而将算法的一些步骤
2021-07-04 19:20:10 178 1
原创 Java设计模式-策略模式
1 概述先看下面的图片,我们去旅游选择出行模式有很多种,可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。作为一个程序猿,开发需要选择一款开发工具,当然可以进行代码开发的工具有很多,可以选择Idea进行开发,也可以使用eclipse进行开发,也可以使用其他的一些开发工具。定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管
2021-07-04 17:49:43 213 2
原创 Java设计模式-装饰者模式
1 概述我们先来看一个快餐店的例子。快餐店有炒面、炒饭这些快餐,可以额外附加鸡蛋、火腿、培根这些配菜,当然加配菜需要额外加钱,每个配菜的价钱通常不太一样,那么计算总价就会显得比较麻烦。使用继承的方式存在的问题:扩展性不好如果要再加一种配料(火腿肠),我们就会发现需要给FriedRice和FriedNoodles分别定义一个子类。如果要新增一个快餐品类(炒河粉)的话,就需要定义更多的子类。产生过多的子类定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式
2021-07-04 17:10:33 94 2
原创 Java设计模式-观察者模式
1 概述定义:又被称为发布-订阅(Publish/Subscribe)模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。2 结构在观察者模式中有如下角色:Subject:抽象主题(抽象被观察者),抽象主题角色把所有观察者对象保存在一个集合里,每个主题都可以有任意数量的观察者,抽象主题提供一个接口,可以增加和删除观察者对象。ConcreteSubject:具体主题(具体被观察者),该角色将有关状态存
2021-07-04 16:34:37 103
原创 Java设计模式-适配器模式
概述如果去欧洲国家去旅游的话,他们的插座如下图最左边,是欧洲标准。而我们使用的插头如下图最右边的。因此我们的笔记本电脑,手机在当地不能直接充电。所以就需要一个插座转换器,转换器第1面插入当地的插座,第2面供我们充电,这样使得我们的插头在当地能使用。生活中这样的例子很多,手机充电器(将220v转换为5v的电压),读卡器等,其实就是使用到了适配器模式。定义:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类适配器模式和对象适配器模式,前
2021-07-03 21:21:24 148 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人