- 博客(127)
- 资源 (3)
- 收藏
- 关注
原创 Spring 面试题整理
属性私有化:类的属性通过private修饰,不能直接访问。提供 Getter 和 Setter 方法:通过get和set方法访问或修改属性。无参构造器:必须提供一个公共的无参构造器。可序列化(可选):实现接口,方便对象的序列化。Spring Bean 是在 Spring 配置文件(XML、注解或 Java 配置类)中定义的组件或对象, 由 Spring IoC 容器进行管理。SpEL 可以在运行时评估表达式并生成值。自动装配是指通过 Spring 的 IoC 容器自动将所需的依赖注入到目标对象中。
2024-12-12 11:27:48
1231
原创 【Elasticsearch 中间件】Elasticsearch 客户端使用案例
Data// ES中 ducument 的 _id// 解决ES中字段与实体类字段不一致的问题/*** 将 Account 对象索引到 Elasticsearch 中。* @param account 需要索引的账户对象* @throws IOException 当 Elasticsearch 请求失败时抛出/*** 批量将多个 Account 对象索引到 Elasticsearch 中。* @param accounts 需要索引的账户对象列表。
2024-12-07 17:57:22
1303
原创 【Elasticsearch 中间件】Elasticsearch 入门案例详细教程
Elasticsearch 数据的 CRUD 操作可以通过发送 HTTP 到 Elasticsearch 来实现。端点,可以在一个请求中批量添加多个文档。每个文档数据行需要是换行符分隔的 JSON(NDJSON)。Elasticsearch 使用此模板来配置流的支持索引。数据将被添加到索引中,可以根据需要创建单个或批量文档。:包含文档的索引名称。Elasticsearch自动生成支持索引的名称。其中,这个请求会返回 Elasticsearch 集群的状态。字段包含在索引时提交的原始 JSON 对象。
2024-12-07 17:27:58
966
原创 【软件测试理论】软件测试基础知识
本博客系统梳理了软件测试的核心知识点,涵盖测试基础概念、质量模型、测试用例设计、缺陷管理、功能测试以及业务测试等关键领域。从 ISO/IEC 25010 软件质量模型 的介绍,到 等价类划分 和 边界值分析 等经典测试方法,再到登录与注册功能的测试案例,以及业务流程测试的实际应用示例(如发布文章),全方位解析软件测试的理论和实战方法,为读者提供了全面、清晰的学习路径和实用参考。
2024-11-29 20:22:53
7122
原创 【Git 工具】用 IntelliJ IDEA 玩转 Git 分支与版本管理
本博客全面讲解了如何在 IntelliJ IDEA 中高效使用 Git,内容包括分支的创建与管理、代码合并及冲突处理,以及 Cherry-Pick 的实战应用。通过丰富的图文示例,带你轻松掌握 Git 版本控制的核心操作,提升团队协作与代码管理效率。
2024-11-26 21:29:25
3094
原创 【ShardingSphere 中间件】ShardingSphere 实现分库分表的详细案例
根据用户配置教程,自定义分片配置文件# ShardingSphere 数据源配置ds_0:ds_1:# ShardingSphere 规则配置,包含:数据分片、数据加密、读写分离等rules:SHARDINGtables:t_user: # 逻辑表名# 真实存在数据库的物理表集合# 分库策略,缺省表示使用默认分库策略standard:# 分表策略standard: # 用于单分片键的标准分片场景shardingColumn: username # 自定义分片字段。
2024-11-19 14:32:01
1050
原创 【Spring Security】 Spring Security 使用案例详细教程
和生成的密码后,可以成功通过身份验证。若请求的资源不存在,Spring Boot 将返回。通过未验证身份直接访问受保护的路径时,Spring Security 会拒绝访问,并返回。的用户,并生成随机密码。该密码只用于开发环境,生产环境应自定义更安全的认证方式。的情况下,Spring Security 默认创建一个用户名为。,可以通过 Java 配置来自定义用户信息。命令行工具模拟 HTTP 请求,验证不同用户权限。无需额外的配置,就可以体验基本的用户认证。注解来模拟不同角色的用户进行权限验证。
2024-11-07 17:37:31
886
原创 【canal 中间件】canal 实时监听 binlog
看到 successful 之后,就代表 canal-server 启动成功,然后就可以在 canal-admin 上进行任务分配了。canal-server 和 canal-admin 在 Docker 里面的详细教程查看。注意,在没有修改配置文件并启动 MySQL 容器情况下,MySQL 会警告配置文件。在 MySQL 容器运行后,使用以下命令将创建的。在 canal 启动成功后,查看 admin 日志。在 canal 启动成功后,查看启动日志。进入 MySQL, 利用。注意,MySQL 容器的。
2024-11-03 22:22:09
1508
原创 【canal 中间件】canal 常见的启动方式
看到 successful 之后,就代表 canal-server 启动成功,然后就可以在 canal-admin 上进行任务分配了。canal-ployer 实际上就是 canal-server 的压缩文件,可以在本地启动。在 canal-admin 里面找不到数据库文件被删除,似乎不推荐使用外部数据库。事实上,这个可以不用指定数据库。canal-admin 在 Docker 中的详细安装教程请查看。使用以下命令执行脚本,启动 canal-admin 容器。canal-admin 文件存放在容器的。
2024-11-03 22:16:01
1349
1
原创 【Canal 中间件】Canal 实现 MySQL 增量数据的异步缓存更新
然后,通过 docker 的 -v 参数使用 volume 功能,将本地配置文件映射到容器内的配置文件上。注意,如果其他容器和本地客户端都要与该容器通信,不要使用 localhost 和 host.docker.internal ,可以使用 ipconfig 查看当前宿主机的 IP 地址。日志文件,数据库的每次增删改操作,都会在meta.log中生成一条记录,查看该日志可以确认 Canal 是否有采集到数据。RocketMQ 中有多个服务,需要创建多个容器,创建 docker 网络便于容器间相互通信。
2024-10-31 23:34:23
1457
原创 【Canal 中间件】Canal使用原理与基本组件概述
canal主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。基于日志增量订阅和消费的业务包括数据库镜像数据库实时备份索引构建和实时维护(拆分异构索引、倒排索引等)业务 cache 刷新带业务逻辑的增量数据处理。
2024-10-31 23:29:08
1500
1
原创 MinIO 完整使用案例
已经内置在 MinIO Server 中 ,我们可以通过 http://localhost:9001。:设置环境变量以定义 MinIO 的访问密钥和密钥。在运行代码后,访问 MinIO 控制台 http://localhost:9001。查看支持的 SDK 列表和使用方法,以便在代码中直接访问 MinIO 服务。对于应用程序开发人员,MinIO 提供了多种语言的 SDK。文件中添加 MinIO Java SDK 的依赖。,可以看到创建的桶以及上传的文件。来访问 MinIO 控制台。
2024-10-26 22:58:55
968
原创 Spring Boot 实现文件分片上传和下载
文章目录一、原理分析1.1 文件分片1.2 断点续传和断点下载1.3 文件分片下载的 HTTP 参数二、文件上传功能实现2.1 客户端(前端)2.2 服务端三、文件下载功能实现3.1 客户端(前端)3.2 服务端四、功能测试4.1 文件上传功能测试4.2 文件下载功能实现参考资料完整案例代码:java-demos/spring-boot-demos/spring-boot-file at main · idealzouhu/java-demos (github.com)一、原理分析断点上传和下载通
2024-10-24 20:53:06
1466
原创 Spring Boot 实现文件上传下载功能
进入前端页面的 URL 为 http://localhost:8080/upload.html。该部分代码为 [2.2 文件上传功能实现](###2.2 文件上传功能实现) 的前端实现。文件下载则只是简单的 GET 请求。现有的 Web 框架都内置了处理文件上传的功能。指定了文件在请求体中的键,后端服务器将通过这个名称来获取文件数据。是用来表示上传的文件,服务器会自动解析该文件并进行处理。,并选择一个文件进行上传。将文件上传的具体逻辑抽象到一个。将文件上传的具体逻辑抽象到一个。请求,下载指定的文件。
2024-10-24 20:49:51
2265
原创 Hadoop 安装教程——单节点模式和分布式模式配置
如果要使用可选的启动和停止脚本,则必须安装 ssh 并且运行 sshd 才 能使用管理远程 Hadoop 守护进程的 Hadoop 脚本。:在多台机器上部署 Hadoop 集群,每个节点上运行不同的 Hadoop 组件。事实上,在没有使用 sudo 的情况下依旧可以运行,我们可以考虑直接为用户增加管理员权限。:在单台机器上模拟分布式环境,Hadoop 各组件在不同的进程中运行。因此,我们需要配置无密码登录。Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行。
2024-10-20 19:18:26
1995
原创 控制反转和依赖注入
IOC(Inversion of Control,控制反转)是面向对象编程中的一种设计思想,将程序中创建对象的控制权交给外部环境(Spring 框架、IoC 容器 )来管理,以便降低计算机代码之间的耦合度。IoC 容器是用来实现 IoC 的载体,负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。在传统的编程模式中,程序员负责创建和管理对象及其依赖关系,而在控制反转的设计中,这些控制权被转移到外部容器或框架,程序员只需关注业务逻辑,具体的对象创建和管理由容器负责。例如,现有类 A 依赖于类 B。
2024-09-23 16:42:12
2281
1
原创 Java 并发编程 —— AQS 抽象队列同步器
AQS 是 JUC 提供的一个用于构建锁和同步容器的基础类,用于减少由于无效争夺导致的资源浪费和性能恶化。JUC 包内的许多类都是基于 AQS 构建, 例如 ReentrantLock、Semaphore、CountDownLatch、ReentrantReadWriteLock、FutureTask 等。AQS 解决了在实现同步容器时设计的大量细节问题。AQS 的核心思想是, 如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为锁定状态。
2024-09-20 20:05:55
1221
原创 Sentinel 使用案例详细教程
创建/*** 测试限流规则的使用* <p>* 定义资源 "SentinelController#testFlowRule"。* 限流规则 {@link com.zouhu.spring.cloud.sentinel.config.FlowRuleInit}。* 方法调用链接: http://localhost:9000/flow/10。/*** blockHandler 函数* <p>
2024-09-10 22:57:19
2705
原创 OpenFeign 使用案例教程
运行成功,稍等几秒启动时间,浏览器输入 http://localhost:8848/nacos/index.html 查看控制台。在运行所有微服务后,运行 http://localhost:9000/order/create。这些微服务将通过 Nacos 进行服务注册和发现,它们之间有特定的关系和交互方式。由于这些微服务的代码基本类似,本文只展示如何创建 Order Service。, 不同微服务之间的配置基本上差不多。
2024-09-09 20:30:17
1309
原创 Maven 项目生成卡死问题及解决方案
使用 Archetype 有助于标准化项目,提供遵循特定设计的起点,从而实施最佳实践。在生成 maven 项目的时候,maven-archetype-plugin 在 generate 项目模板的时候卡死。在不同的上下文中指的是一个有组织的项目、实体或组件的集合。在使用 Internal 创建项目的时候,maven 插件依旧会自动获取远程仓库的。在 IntelliJ IDEA 中,Catalog 的默认路径主要有以上三种选择。在查看生成项目 archetype 的时候 ,我们可以看到设置的。
2024-09-09 11:03:43
1102
原创 设计模式——建造者模式
建造者模式(Builder Pattern)也叫做生成器模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
2024-09-04 18:09:45
1165
原创 设计模式 —— 单例模式
单例模式(Singleton Pattern)是一个比较简单的模式,其定义如下:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。
2024-09-04 16:50:07
764
原创 RocketMQ Dashboard 报错:org.apache.rocketmq.remoting.execption.connect to [rmqnamesrv:9876] failed
RocketMQ Dashboard 报错:org.apache.rocketmq.remoting.execption.connect to [rmqnamesrv:9876] failed
2024-09-03 16:29:26
964
原创 分布式基础理论——CAP理论和BASE理论
由于分布式系统在CAP理论中最多只能同时满足两个特性,在实际场景中,大多数分布式系统会选择AP方案,即牺牲强一致性以确保系统的可用性和分区容错性。最终一致性允许多个节点的数据在短时间内存在差异,但经过一段时间后,这些数据会自动同步,最终达到一致的状态。因此,分布式系统理论上不可能选择 CA 架构,只能选择 CP 或者 AP 架构。因为 CA 架构的系统不再是标准的分布式系统,主数据库和从数据库不在进行同步。,C 和 A 是可以同时满足的,因为此时无需考虑分区容错性(P)的影响。
2024-08-20 17:13:44
1523
原创 Mybatis框架——使用案例详细教程(mybatis-spring-boot-starter依赖)
Mybatis框架使用案例详细教程, 利用 mybatis-spring-boot-starter 依赖来查询数据库
2024-08-14 20:27:48
1721
原创 控制反转和依赖注入
IOC (Inversion of Control,控制反转)是面向对象编程中的一种设计思想,将程序中创建对象的控制权交给外部环境(Spring 框架、IoC 容器 )来管理,以便降低计算机代码之间的耦合度。IoC 容器是用来实现 IoC 的载体,负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。在传统的编程模式中,程序员负责创建和管理对象及其依赖关系,而在控制反转的设计中,这些控制权被转移到外部容器或框架,程序员只需关注业务逻辑,具体的对象创建和管理由容器负责。
2024-08-11 22:17:57
433
原创 拓扑排序及其具体实现
设GVEG=(V,E)GVE是一个具有nnn个顶点的有向无环图(DAG, Directed Acyclic Graph)VVV中的顶点序列 ”v1v2vnv1v2vn“ 称为一个拓扑序列(topological sequence)。若vivj<v_i,v_j>vivj是图中的一条边或者从顶点viv_ivi到顶点vjv_jvj有路径,则在该拓扑序列中顶点viv_ivi必须排在顶点vjv_j。
2024-08-10 22:36:08
1697
1
原创 Java并发编程——CAS算法定义和使用案例
CAS( Compare And Swap) 是一种保障变量操作原子性的无锁算法,可以在多个线程之间实现对共享数据的安全更新。
2024-08-07 17:58:52
1106
原创 异步通信方式的两种消息传输模型
异步通信是分布式系统中子模块远程通信的一种方式,主要通过中间件来实现。异步通信的消息传输模型主要有点对点模型和发布订阅模型。
2024-07-28 15:35:04
646
股票交易项目(Java实现).zip
2021-07-01
软件综合设计报告.rar
2021-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人