- 博客(217)
- 收藏
- 关注
原创 项目亮点:请求合并-线程之间通信,解决高并发请求
在我们平时业务中,经常会遇到一些情况,请求频率很高,需要频繁请求第三方接口,或者需要频繁操作数据库。比如,如下几个例子:(1)电商系统,秒杀场景 ,需要频繁的去数据库修改库存。(2)业务场景,当前接口需要频繁的调用三方接口,当三方接口有反爬虫,或者有固定时间请求次数限制的话,就会导致请求报错或者超时。
2023-02-04 16:50:31 817 2
原创 03、 Kafaka单机环境部署
(1)安装Zookeeper(2)启动zookeeper(3)安装 Kafka(4)启动Kafka–name kafka: 设置容器的名字为“kafka”。-p 9092:9092: 将容器的9092端口映射到宿主机的9092端口。–link zookeeper:zookeeper: 连接到名为“zookeeper”的另一个Docker容器,并且在当前的容器中可以通过zookeeper这个别名来访问它。
2024-05-06 23:52:43 193
原创 02、Kafaka 简介
Apache Kafka 是一个分布式的发布-订阅消息系统,最初由 LinkedIn 公司开发,并在 2010 年贡献给了 Apache 软件基金会,成为一个顶级开源项目。Kafka 设计之初是为了满足高吞吐量、可扩展性、持久性、容错性以及高并发的需求,它非常适合用于实时数据流的处理,包括日志聚合、事件源、流式处理等场景。Kafka 的设计思想和架构使其成为了大数据处理领域中一个非常流行的工具。
2024-05-06 23:51:23 525
原创 01、JMS规范介绍
JMS,全称Java Mesage Service,即Java消息服务应用程序接口,是一个Java平台中关于面向消息中间件的AP!,用于在两个应用程序之间、或者分布式系统中发送消息,进行异步通信。JMS是一种与厂商无关的API,用来访问消息、收发系统消息,它类似于JDBC。JMS可以自己使用Java代码或者别的代码来编写,开源的实现有Active MQ、阿里的Rocket MQ(已贡献给Apache)、Kafka等。
2024-05-06 23:50:47 599
原创 MyBatis 插件介绍及应用
MyBatis 插件是 MyBatis 框架的扩展点,它们可以拦截 MyBatis 的核心处理过程,包括执行器、参数处理器、结果处理器等。通过编写插件,开发者可以在不修改 MyBatis 核心代码的情况下,增加新的功能或改变 MyBatis 的行为。
2024-04-29 16:05:54 526
原创 MySQL为什么建议单表不要超过2000万行
在工作中或者面试中,经常会说mysql单表牛不要超过2000w行,超过两千万行建议分表,否则查询效率会急剧下降。那么一张表最多可以存多少数据呢,今天我们从底层技术进行刨析,分析下根本原因。
2024-04-12 16:30:11 893
原创 优雅代码 - 策略+模板+工厂模式解决冗余代码
你是否也在项目中遇到了,大量冗余的if else代码,大量的逻辑判断,每个逻辑中的处理有比较类似,如果你熟练掌握设计模式,你肯定能够想到使用策略模式和模板模式进行封装,今天我就给大家带来一个生动的例子,让你同时使用到 策略、模板以及工厂设计模式。
2024-04-11 15:34:34 422
原创 08.适配器模式
将一个类的接口转化成用户需要的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式可以分为类适配器和对象适配器两种,区别在于适配器角色对应被适配角色的适配是通过继承还是组合来实现的。由于Java不支持多继承,而且会破坏封装性,所有我们提倡多用组合少用继承。
2023-02-04 16:27:04 468
原创 06.建造者模式
建造者模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不用的表示。在建造者模式的结构中引入了一个指挥者类,该类的作用主要有两个:一方面它隔离了客户与生产过程;另一方面他负责控制产品的生成过程。指挥者针对抽象建造者编程,客户端只需知道具体建造者的类型,即可通过指挥者类调用建造者的相关方法,返回一个完整的产品对象。
2023-02-04 16:21:55 386
原创 05.抽象工厂模式
抽象工厂又称为Kit模式,属于对象创建型模式。抽象工厂可以将统一产品族的单独工厂封装起来,在正常使用中,客户端需要创建抽象工厂的实现,然后使用抽象工厂作为接口来创建这一主题的具体对象。客户端程序不需要知道它从这些内部的工厂方法中获得对象的具体类型,因为客户端程序仅使用这些对象的通用接口。抽象工厂模式将一组对象的实现细节与他们的一般使用分离开来。
2023-02-04 16:20:44 481
原创 04.单例模式
单例模式是Java中最简单的设计模式之一。这种设计模式属于创建型模式。单例模式一般体现在类声明中,单例的类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
2023-02-04 16:19:01 608
原创 03.工厂模式
在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建工作交给子类去做。这个核心类仅仅负责给出具体工厂必须实现的接口,而不负责产品类被实例化这种细节,这使得工厂方法模式可以允许系统在不修改工厂角色的情况下引进新产品。 工厂方法模式的主要优点是增加新的产品类时无须修改现有系统,并封装了产品对象的创建细节,系统具有良好的灵活性和可扩展性;其缺点在于增加新产品的同时需要增加新的工厂,导致系统类的个数成对增加,在一定程度上增加了系统的复杂性。
2023-02-04 16:17:58 343
原创 01.观察者模式
观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。主题和观察者定义了一对多的关系。观察者依赖于此主题,只要主题状态一有变化,观察者就会被通知。根据通知的风格,观察者可能因此新值而更新。实现观察者模式的方法不止一种,包含 Subject 和 Observer 接口的类最为常见。
2023-02-04 16:11:01 413
原创 1752. 检查数组是否经排序和轮转得到(难度:简单)
题目连接:https://leetcode.cn/problems/check-if-array-is-sorted-and-rotated/
2022-12-21 19:40:53 64
原创 813. 最大平均值和的分组(难度:中等)
题目链接:https://leetcode.cn/problems/largest-sum-of-averages/
2022-12-21 19:38:22 215
原创 792. 匹配子序列的单词数(难度:中等)
题目连接:https://leetcode.cn/problems/number-of-matching-subsequences/
2022-12-21 19:35:44 68
原创 775. 全局倒置与局部倒置(难度:中等)
题目描述:https://leetcode.cn/problems/global-and-local-inversions/
2022-12-21 19:32:47 320
原创 1710. 卡车上的最大单元数(难度:简单)
题目链接:https://leetcode.cn/problems/maximum-units-on-a-truck/Q。
2022-12-21 19:30:42 73
原创 790. 多米诺和托米诺平铺(难度:中等)
题目链接:https://leetcode.cn/problems/domino-and-tromino-tiling/
2022-12-21 19:28:30 158
原创 1668. 最大重复子字符串(难度:简单)
题目描述:https://leetcode.cn/problems/maximum-repeating-substring/
2022-12-21 19:22:40 64
原创 1620. 网络信号最好的坐标(难度:中等)
题目链接:https://leetcode.cn/problems/coordinate-with-maximum-network-quality/
2022-12-21 19:20:16 55
原创 1662. 检查两个字符串数组是否相等(难度:简单)
题目链接:https://leetcode.cn/problems/check-if-two-string-arrays-are-equivalent/
2022-12-21 19:15:19 169
原创 784. 字母大小写全排列(难度:中等)
题目链接:https://leetcode.cn/problems/letter-case-permutation/
2022-10-30 23:24:42 68
原创 965. 单值二叉树(难度:简单)
题目链接:https://leetcode.cn/problems/univalued-binary-tree/
2022-10-30 11:01:55 48
原创 1822. 数组元素积的符号(难度:简单)
题目链接:https://leetcode.cn/problems/sign-of-the-product-of-an-array/
2022-10-29 23:19:01 52
原创 862. 和至少为 K 的最短子数组(难度:困难)
题目链接:https://leetcode.cn/problems/shortest-subarray-with-sum-at-least-k/
2022-10-29 23:17:53 266
原创 1235. 规划兼职工作(难度:困难)
题目链接:https://leetcode.cn/problems/maximum-profit-in-job-scheduling/
2022-10-29 23:14:29 254
原创 1768. 交替合并字符串(难度:简单)
题目链接:https://leetcode.cn/problems/merge-strings-alternately/
2022-10-29 23:13:50 80
原创 915. 分割数组(难度:中等)
题目链接:https://leetcode.cn/problems/partition-array-into-disjoint-intervals/
2022-10-29 23:11:26 42
原创 779. 第K个语法符号(难度:中等)
题目链接:https://leetcode.cn/problems/k-th-symbol-in-grammar/
2022-10-29 23:08:59 67
原创 1700. 无法吃午餐的学生数量(难度:简单)
题目链接:https://leetcode.cn/problems/number-of-students-unable-to-eat-lunch/
2022-10-29 23:07:34 57
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人