![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 61
粉笔爱上砚台
这个作者很懒,什么都没留下…
展开
-
21-5-21 单机、集群和分布式
集群是个物理形态,分布式是个工作方式。 单机结构:一个系统业务量很小的时候所有的代码都放在一个项目中,然后这个项目部署在一台服务器上。整个项目所有的服务都由这台服务器提供。这就是单机结构。 缺点:单机的处理能力是有限的,当你的业务增长到一定程度的时候,单机的硬件资源将无法满足你的业务需求。 集群结构:单机处理到达瓶颈的时候,把单机复制几份,这样就构成了一个“集群”。集群中每台服务器就叫做这个集群的一个“节点”,所有节点构成了一个集群。每个节点都提供相同的服务,那么这样系统的处理能力就相当于提升了好几倍(有几转载 2021-05-21 15:09:55 · 90 阅读 · 1 评论 -
21-5-21 cap和 base理论
CAP 理论 CAP 理论指出对于一个分布式计算系统来说,不可能同时满足以下三点: 一致性C:在分布式环境中,一致性是指数据在多个副本之间是否能够保持一致的特性,等同于所有节点访问同一份最新的数据副本。在一致性的需求下,当一个系统在数据一致的状态下执行更新操作后,应该保证系统的数据仍然处于一致的状态。 可用性A:每次请求都能获取到正确的响应,但是不保证获取的数据为最新数据。 分区容错性P:分布式系统在遇到任何网络分区故障的时候,仍然需要能够保证对外提供满足一致性和可用性的服务,除非是整个网络环境都发生了故障原创 2021-05-21 11:17:15 · 250 阅读 · 1 评论 -
21-5-20 activemq
activemq activeMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信。 ActiveMQ服务器宕机怎么办 ActiveMQ的储存机制 在通常的情况下,非持久化消息是存储在内存中的,持久化消息是存储在文件中的,它们的最大限制在配置文件的节点中配置。但是,在非持久化消息堆积到一定程度,内存告急的时候,ActiveMQ会将内存中的非持久化消息写入临时文件中,以腾出内存。虽然都保存到了文件里,但它和持久化消息的区别是,重启原创 2021-05-20 21:20:13 · 97 阅读 · 1 评论 -
2021-05-08 spring
使用Spring框架的好处是什么? 轻量:Spring 是轻量的,基本的版本大约2MB。 控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。 面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。 容器:Spring 包含并管理应用中对象的生命周期和配置。 MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品。 事务管理:Spring 提供一个持续的事务管理接口,可以扩展到上至本地事务转载 2021-05-08 23:10:26 · 75 阅读 · 1 评论 -
21/4/24反射和代理
反射 反射机制:可以通过类的字符串表达(包名.类名),可以完成类的加载、创建对象、获取属性、获取方法、调用方法等相关的操作。 代理 代理的作用:使用代理对象调用方法,可以在不修改源码情况下,在原有的业务逻辑(方法)之前/之后添加自定义操作。 代理分为:静态代理和动态代理。 静态代理: 动态代理 1.JDK动态代理 2.CGLib动态代理 ...原创 2021-04-24 23:19:22 · 58 阅读 · 1 评论 -
21/4/14 索引与视图
索引 数据库系统会自动为数据表的主键建立索引 如果在某个字段建立了索引,当以这个字段为条件进行查询时,就会自动使用索引,大幅度提高查询效率 什么情况下有必要建立索引? 1.数据库中有大量数据; 2.频繁使用某个字段进行查询 如何创建索引? 如何删除索引? 视图 相当于一张数据表 作用: 1.可以对原表数据起到保护作用 2.简化常用数据操作,提高操作效率 特性: 1.对视图的修改操作会作用到原表 2.对视图的添加操作会作用到原表(只能对单表创建的视图进行添加操作) 3.对视图的删除操作会作用到原表 4.删原创 2021-04-14 18:43:52 · 57 阅读 · 1 评论 -
21/4/6 排序算法回顾
1、冒泡排序(Bubble Sort) 算法描述 比较相邻的元素。如果第一个比第二个大,就交换它们两个; 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数; 针对所有的元素重复以上的步骤,除了最后一个; 重复步骤1~3,直到排序完成。 代码实现 function bubbleSort(arr) { var len = arr.length; for (var i = 0; i < len - 1; i++) { for (v转载 2021-04-06 21:12:05 · 93 阅读 · 1 评论 -
21-3-29 遗忘知识
1,拦截器和过滤器的区别 最简单明了的区别就是过滤器可以修改request,而拦截器不能 双亲委派机制 JVM中提供了三层的ClassLoader: Bootstrap classLoader:主要负责加载核心的类库(java.lang.*等),构造ExtClassLoader和APPClassLoader。 ExtClassLoader:主要负责加载jre/lib/ext目录下的一些扩展的jar。 AppClassLoader:主要负责加载应用程序的主函数类 不考虑我们自定义类加载器,首先会在AppCl转载 2021-03-31 15:21:11 · 77 阅读 · 1 评论 -
21/2/21基础知识
1 Java的设计模式 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 (挑两个熟悉的) 1),所谓的单例设计指的是一个类只允许产生一个实例化对象。 最好理解的一种设计模式,分为懒汉式和饿汉式原创 2021-02-21 18:11:18 · 135 阅读 · 2 评论