RabbitMQ

RabbitMQ 一、MQ 1.同步调用的优缺点 同步调用的优点: 时效性较强,可以立即得到结果 同步调用的问题: 耦合度高 性能和吞吐能力下降 有额外的资源消耗 有级联失败问题 2.异步调用 异步调用常见实现就是事件驱动模式 好处: 吞吐量提升:无需等待订阅者处理完成,响应更快速 故障隔离:服务没 ...

设计模式

单例模式 所谓单例模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法) 饿汉式(静态常量) 构造器私有化 类的内部创建对象 向外暴露一个静态的公共方法 /** * 饿汉式(静态常量) */ public class Sing ...

数据结构基础—数组和广义表

数据结构基础—数组和广义表 一、数组 1.数据的定义 数组类似于线性表,就是多维结构的顺序表, 2.稀疏数组 a.稀疏数组的定义: 假设m行n列的矩阵中含有t个非零元素若t/(m*n) <= 0.05,则称该矩阵为稀疏矩阵 稀疏矩阵也分为特殊矩阵和随机矩阵随机 特殊矩阵:三角,对角... 随机矩阵: ...

Java获取/resources目录下的资源文件方法

Web项目开发中,经常会有一些静态资源,被放置在resources目录下,随项目打包在一起,代码中要使用的时候,通过文件读取的方式,加载并使用; 今天总结整理了九种方式获取resources目录下文件的方法。 其中公用的打印文件方法如下: 查看代码 /** * 根据文件路径读取文件内容 * * @p ...

Java数组之合并方法(世界上最简单的方法)

转自: http://www.java265.com/JavaJingYan/202204/16510261483156.html 数组是日常开发中常用的容器, 日常开发中,我们通常会定义多个数组,那么有时需要进行两个数组的合并操作时,我们该如何做呢? 笔者经过多方资料查阅,终于找到了世上最简单的方 ...

CORS跨域资源共享问题

同源策略介绍 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现 请求的url地址,必须与浏览器上的url地址处于同域上,也就 ...

学习笔记——Servlet

2022-10-29 Servlet 1、 Servlet的作用: 例如:查询数据 (1)浏览器端点击某个查询功能,向服务器端发出请求;服务器端解析请求,创建Servlet对象,并调用特定方法;Servlet对象调用“DAO”方法获取数据;DAO方法查询数据库。 (2)之后将后端的处理数据传递给“前 ...

Scala-隐式转换

隐式转换 精度小的类型可以自动转换为精度大的类型,这个转换过程无需开发人员参与,由编译器自动完成,这个转换操作我们称之为隐式转换。 如果程序编译出错,编译器会尝试在整个的作用域中查找能够让程序编译通过的方式 如果找到,那么编译器会尝试二次编译,让之前编译出现错误的代码经过转换后能够编译通过。 这个转 ...

Java多线程(3):ThreadPool(下)

您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ 除了可以通过ThreadPoolExecutor自定义线程池外,同Stream API中的Collectors一样,多线程里的Executors类也提供了一组相关的线程池工具,可以直接拿来用,不用考虑用什么队列合适的问题。 Javac除了传统的 ...

Redis高并发分布式锁详解

介绍了分布式锁的特性,模拟想要实现redis分布式锁的演变流程,分析redisson源码是如何实现分布式锁的,面对高并发下,我们该如何提升分布式锁性能 ...

设计模式介绍和单一职责原则

设计模式的目的 编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的 挑战,设计模式是为了让程序(软件),具有更好 代码重用性 (即:相同功能的代码,不用多次编写) 可读性 (即:编程规范性, 便于其他程序员的阅读和理解) 可扩展性 (即:当需要增加新的 ...

02 线性表 | 数据结构与算法

1. 线性表 线性表的定义 特点: 存在唯一一个被称为第一个的数据元素 存在唯一一个被称为最后一个的数据元素 除了第一个元素之外,其他的数据元素都有唯一一个直接前驱 除了最后一个元素之外,其他的数据元素都有唯一一个直接后驱 定义:是由 $n(n\ge 0)$ 个相同的数据元素组成的有限序列 逻辑特征 ...