元丰知识点

简单介绍你说了解的设计模式?

1.单例模式:保证一个类只有一个实例(饿汉、懒汉式)
优点:减少了内存的开销
缺点:如果要扩展功能,则要修改原来的代码,违背了开闭原则

2.工厂模式:用于封装和管理对象的创建
优点:扩展性高,如果想要增加一个产品,添加一个工厂类就行
缺点:如果工厂类出问题,整个系统会受影响。

3.代理模式:静态代理、JDK动态代理、CGLIB动态代理
Spring AOP的代理模式默认就是JDK动态代理,当然也可以根据需要换成CGLIB代理

4.建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示
优点:
1.使用建造者模式可以使客户端不必知道产品内部组成的细节。
2.具体的建造者类之间是相互独立的,对系统的扩展非常有利。
建造者模式是很常见的,例如我们打游戏的时候,画面非常卡顿,这时候我们选择关闭或降低一些画质的配置,如关闭锯齿、关闭渲染,调低清晰度,这样画质会更清晰。具体算法程序定,构建什么我们客户定。

工厂模式和建造者模式的区别:工厂模式注重的是整体对象的创建方法,而建造者模式注重的是对象的创建过程。

5.原型模式

数据结构
线性表、树结构、图存储结构

1.线性表
一种统称,可以细分为顺序表、链表、栈和队列
描述:包含顺序存储结构和链表存储结构,元素依次排列

(1)顺序表
底层实现依靠数组,存储空间按顺序存储元素

(2)链表
存储空间随机存储元素,但是元素和元素之间是手拉手形式的。在java中,弱化了指针的概念,因此,每一个节点元素持有上一个节点元素和下一个节点元素的对象的引用。也就是说,每一个节点对象应该有3个属性:1,value值; 2,上一个节点的引用; 3,下一个节点的引用。所以元素依次排列

(3)栈和队列
是特殊的线性表,因为它们对元素的出入顺序做了明确要求
栈:像一个木桶,元素按 “先进后出” 的原则出入
队列:像一个没有底部的木桶,元素按 “先进先出” 的原则出入

2.树结构
可以细分为二叉树、B+树等
适合存储一对多的数据

(1)二叉树:
是n个节点的有限集合,也可以为空集,或者说由一个根节点和根节点的左子节点和右子节点组成的二叉树。
特点:
a.度小于等于2
b.左子树和右子树有顺序,一般来说左子节点的值要比右子节点的值小

特殊的二叉树:红黑树
a.每个节点要不就是红色要不就是黑色
b.根节点必须是黑色
c.根和节点的高度差的绝对值不能超过1

(2)B+树:
B+树元素自底向上插入,与二叉树相反
特点:能够保持数据稳定有序

3.图存储结构
适合存储多对多的数据

Springboot框架

Springboot是用来简化应用开发的一种框架,是Spring家族中的一员。它简化了Spring众多框架中所需大量繁琐的配置文件(xml),去xml化。在maven导入依赖时,需要引入启动器starter。

RPC和RestFul的区别是什么?

相同点:都是网络交互的协议规范。通常用于多个微服务之间的通信协议。

RPC:也叫远程过程调用(Remote Procedure Call),它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议,通常用于Dubbo。

Rest:是一组架构风格,指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或者设计就是RestFul,通常用于Spring Cloud。在用于数据库CRUD时,GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源

不同点:
1.RPC一般使用TCP协议,RestFul一般使用Http协议
2.RPC的性能相比RestFul的高
3.RPC灵活度低于RestFul

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值