上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 73 下一页
摘要: @Enbale模块驱动的基本原理 在我们平时使用spring的过程中,如果想要加个定时任务的功能,那么就需要加注解@EnableScheduling,如果想使用异步的功能,那就要加@EnableAsync注解,其实这类注解就是属于@Enable模块。 那么@Enable模块到底有什么功能? 模块是指 阅读全文
posted @ 2023-04-07 09:07 残城碎梦 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 操作系统的四个特性? 并发:同一段时间内多个程序执行(与并行区分,并行指的是同一时刻有多个事件,多处理器系统可以使程序并行执行)。 共享:系统中的资源可以被内存中多个并发执行的进线程共同使用。 虚拟:通过分时复用(如分时系统)以及空分复用(如虚拟内存)技术把一个物理实体虚拟为多个。 异步:系统进程用 阅读全文
posted @ 2023-04-06 22:53 残城碎梦 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 设计模式的六大原则 开闭原则:对扩展开放,对修改关闭,多使用抽象类和接口。 里氏替换原则:基类可以被子类替换,使用抽象类继承,不使用具体类继承。 依赖倒转原则:要依赖于抽象,不要依赖于具体,针对接口编程,不针对实现编程。 接口隔离原则:使用多个隔离的接口,比使用单个接口好,建立最小的接口。 迪米特法 阅读全文
posted @ 2023-04-05 21:07 残城碎梦 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 我们的系统都是分布式部署的,日常开发中,秒杀下单、抢购商品等等业务场景,为了防止库存超卖,都需要用到分布式锁。 分布式锁其实就是,控制分布式系统不同进程共同访问共享资源的一种锁的实现。如果不同的系统或同一个系统的不同主机之间共享了某个临界资源,往往需要互斥来防止彼此干扰,以保证一致性。 业界流行的分 阅读全文
posted @ 2023-04-05 20:36 残城碎梦 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 日常开发中,我们需要对系统中的各种数据使用 ID 唯一表示,比如用户 ID 对应且仅对应一个人,商品 ID 对应且仅对应一件商品,订单 ID 对应且仅对应一个订单。 分布式 ID 是分布式系统下的 ID。在分库分表的架构下,尤其常见。 分库之后, 数据遍布在不同服务器上的数据库,数据库的自增主键已经 阅读全文
posted @ 2023-04-05 20:32 残城碎梦 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 服务注册中心组件 Eureka Eureka遵守的是AP原则。 CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。 Eureka 交互流程 Eureka 包含 阅读全文
posted @ 2023-04-05 19:29 残城碎梦 阅读(117) 评论(0) 推荐(0) 编辑
摘要: ZooKeeper 是什么? ZooKeeper 是一个分布式协调服务,为我们提供了高可用、高性能、稳定的分布式数据一致性解决方案。分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。这些 阅读全文
posted @ 2023-04-05 16:16 残城碎梦 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 说说TCP的三次握手 假设发送端为客户端,接收端为服务端。开始时客户端和服务端的状态都是CLOSED。 (1)第一次握手:客户端向服务端发起建立连接请求,客户端会随机生成一个起始序列号x,客户端向服务端发送的字段中包含标志位SYN=1,序列号seq=x。第一次握手前客户端的状态为CLOSED,第一次 阅读全文
posted @ 2023-04-05 14:47 残城碎梦 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 为什么要使用消息队列? 主要有三点原因:解耦、异步、削峰。 (1)解耦。比如,用户下单后,订单系统需要通知库存系统,假如库存系统无法访问,则订单减库存将失败,从而导致订单操作失败。订单系统与库存系统耦合,这个时候如果使用消息队列,可以返回给用户成功,先把消息持久化,等库存系统恢复后,就可以正常消费减 阅读全文
posted @ 2023-04-05 12:17 残城碎梦 阅读(231) 评论(0) 推荐(1) 编辑
摘要: Spring Cloud Alibaba 是什么 Spring Cloud Alibaba 是一套开源的分布式系统解决方案,为开发者提供了在云计算环境下构建应用程序所需的全部开发工具和服务支持。它在 Spring Cloud 基础上进行了扩展,为开发者提供了更多选择和灵活性。 Spring Clou 阅读全文
posted @ 2023-04-04 17:57 残城碎梦 阅读(1857) 评论(0) 推荐(1) 编辑
摘要: 什么是微服务 微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分为一组小的服务,每个服务运行在其独立的自己的进程中,服务之间相互协调、互相配合,为用户提供最终价值。服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API),每个服务都围绕着具体的业务进行构 阅读全文
posted @ 2023-04-03 21:57 残城碎梦 阅读(563) 评论(0) 推荐(0) 编辑
摘要: 自动配置基本思想示例 以mybatis-spring-boot-starter为例。 1)当导入了 mybatis-spring-boot-starter后,其导入的相关依赖如下: 2)可以看到其导入了 mybatis-spring-boot-autoconfigure的jar包,其中有一个自动配置 阅读全文
posted @ 2023-04-03 21:56 残城碎梦 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 什么是 Spring Boot? Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用Spring 的难度,简省了繁重的配置,提供了各种启动器,使开发者能快速上手。 为什么要用SpringBoot? 快速开发,快速整合,配置简化、内嵌服 阅读全文
posted @ 2023-04-03 08:51 残城碎梦 阅读(58) 评论(0) 推荐(1) 编辑
摘要: 我们在开发任何一个Spring Boot项目,都会用到如下的启动类: @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Ap 阅读全文
posted @ 2023-04-03 08:51 残城碎梦 阅读(65) 评论(0) 推荐(0) 编辑
摘要: Netty是什么? Netty是 一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。Netty是基于nio的,它封装了jdk的nio,让我们使用起来更加方法灵活。 Netty架构设计 功能特性 传输服务:支持BIO和NIO 容器集成:支持OSGI、JBossMC、Sp 阅读全文
posted @ 2023-04-03 08:49 残城碎梦 阅读(94) 评论(0) 推荐(0) 编辑
摘要: NoSQL 是什么? NoSQL(Not Only SQL 的缩写)泛指非关系型的数据库,主要针对的是键值、文档以及图形类型数据存储。NoSQL 数据库天生支持分布式,数据冗余和数据分片等特性,旨在提供可扩展的高可用高性能数据存储解决方案。 一个常见的误解是 NoSQL 数据库或非关系型数据库不能很 阅读全文
posted @ 2023-04-02 15:08 残城碎梦 阅读(64) 评论(0) 推荐(0) 编辑
摘要: Java IO概览 Java IO 流的 40 多个类都是从如下 4 个抽象类基类中派生出来的。 InputStream / Reader:所有的输入流的基类,前者是字节输入流,后者是字符输入流。 OutputStream / Writer:所有输出流的基类,前者是字节输出流,后者是字符输出流。 I 阅读全文
posted @ 2023-04-02 13:46 残城碎梦 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 给某一个对象提供一个代理,并由代理对象控制对真实对象的访问,代理模式是结构型设计模式的一种。 根据字节码文件的创建时机来分类,可以分为静态代理和动态代理。 静态代理 在程序运行前就已经存在代理类的字节码文件,代理类和被目标类的关系在运行前就确定了。 动态代理 代理类在程序运行期间由JVM根据反射等机 阅读全文
posted @ 2023-04-02 13:45 残城碎梦 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 什么是SPI? SPI 的全名为 Service Provider Interface ,用于接口寻找服务实现类。 实现方式:标准制定者制定接口,不同厂商编写针对于该接口的实现类,并在jar的“classpath:META-INF/services/全接口名称”文件中指定相应的实现类全类名,开发者直 阅读全文
posted @ 2023-04-02 13:44 残城碎梦 阅读(41) 评论(0) 推荐(0) 编辑
摘要: ArrayList简介 ArrayList的底层数据结构是一维数组,而且是动态数组。与Java中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用 ensureCapacity 操作来增加ArrayList实例的容量。这可以减少递增式再分配的数量。 ArrayList 继承于 Abs 阅读全文
posted @ 2023-04-02 13:43 残城碎梦 阅读(15) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 73 下一页