- 博客(23)
- 收藏
- 关注
原创 常见设计模式及其应用示例
本文系统介绍了23种设计模式,分为创建型、结构型、行为型三大类。创建型模式包括单例、工厂、建造者等5种模式,用于对象创建;结构型模式包含适配器、装饰器、代理等7种模式,处理类和对象的组合;行为型模式涵盖观察者、策略、迭代器等11种模式,关注对象间通信和职责分配。每种模式都详细说明了定义、作用、优缺点、应用场景,并提供了Java代码示例。这些设计模式为软件设计提供了可复用的解决方案,能有效提高代码的可维护性、扩展性和复用性,是面向对象设计的重要工具。
2026-03-29 21:12:19
519
原创 计算机网络疑难问题汇总与解答
HTTP (HyperText Transfer Protocol),即超文本传输协议。它是互联网上应用最广泛的一种网络协议,定义了浏览器(客户端)与服务器之间交换数据的规则。基于请求/响应模型:对话永远由客户端发起,服务器接收请求并返回响应。无状态 (Stateless):协议本身不记录之前的状态。服务器不会记住你刚才登录过,所以我们需要 Cookie 或 Token 来实现“登录状态”。媒体独立:只要客户端和服务器知道如何处理数据,HTTP 可以传输图片、视频、HTML、JSON 等任何内容。
2026-03-02 17:02:15
758
原创 NSSM 使用指南:几分钟把你的程序变成 Windows 服务
NSSM是一款Windows平台的开源服务管理工具,可将普通程序(如EXE、BAT、脚本等)安装为系统服务,实现自动启动、后台运行和崩溃重启等功能。它通过图形界面简化了服务配置过程,支持日志输出、启动参数等设置,比Windows自带的sc.exe更易用稳定。NSSM特别适用于管理Java JAR、Node.js、Nginx等非原生服务程序,通过简单的命令行操作即可完成服务安装、启停和维护。文章详细介绍了NSSM的下载安装方法,以及将Nginx和Java项目注册为服务的具体步骤,是Windows服务器部署常用
2025-12-01 22:41:26
7628
原创 NIO 原理、Netty 架构与轻量级聊天系统全解析
在学习 Netty 的过程中,光看文档很难真正掌握它的精髓。最好的方式就是 ——动手写一个完整的案例。本文带你从零实现一个基于Netty的在线聊天系统,支持:用户登录 / 登出用户间私聊群聊(创建、加入、发送消息)查看群成员群主解散群我们不会引入数据库,一切数据保存在内存中,足以作为入门学习和测试网络通信逻辑的例子。
2025-10-14 11:00:46
1096
原创 Docker Compose 从入门到实践
Docker Compose 是 Docker 官方提供的一个工具,用于定义和管理多容器应用。通过一个配置文件(通常是),你可以同时启动、停止和管理多个 Docker 容器,并处理它们之间的网络、数据卷和依赖关系。
2025-09-23 22:39:14
2297
1
原创 JDK多版本并存安装(Windows)
摘要:Java开发中常需管理多个JDK版本。建议从Oracle或OpenJDK官网下载不同版本JDK,并分别安装到不同目录(如C:\ProgramFiles\Java\jdk-8/17/)。通过配置环境变量JAVA_HOME和PATH来切换版本,修改后需重启命令行验证。关键步骤包括:下载安装、目录隔离、变量配置和版本测试,确保各项目能使用对应JDK版本运行。(134字)
2025-09-16 20:14:38
771
原创 SpringMvc常见问题
SpringMVC是Spring框架提供的基于MVC模式的Web框架,简化Java Web开发。其核心流程包括:DispatcherServlet接收请求,HandlerMapping找到对应Controller,HandlerAdapter调用方法,Controller执行业务逻辑后返回ModelAndView或JSON数据,ViewResolver解析视图或HttpMessageConverter转换数据。
2025-09-10 23:34:03
1157
原创 Linux常见问题
本文总结了Linux系统的核心知识点,包括: Linux目录结构 关键目录作用如/bin、/etc、/var等,构成树状文件系统 进程管理 常用命令ps/top/pgrep查看进程,kill/pkill终止进程 文件操作 权限管理(chmod/chown)、查找(find/grep)、压缩解压命令 系统监控 top/free查看资源,日志路径及实时查看方法 网络相关 端口检测、curl/wget使用、网络连通性测试 用户管理 用户/组创建、权限控制、su与sudo区别 定时任务 crontab设置周期性任务
2025-09-07 16:11:29
2277
原创 Linux命令
本文总结了Linux系统中的常用命令,涵盖文件操作、目录管理、进程控制、网络配置、权限管理等核心功能。主要内容包括:1. 基础命令:ls/cd/pwd/mkdir/touch等文件目录操作命令;2. 文本处理:cat/more/less/grep等文件查看与搜索工具;3. 系统管理:ps/top/kill等进程监控命令,以及useradd/chmod等用户权限管理;4. 网络配置:ip/ifconfig等网络工具;5. 压缩解压:tar/gzip/zip等归档工具;6. 进阶功能:vim编辑器、管道符、环境
2025-09-06 17:26:11
1185
原创 Redis常见问题
Redis是一个高性能的键值存储系统,广泛应用于缓存、消息队列等场景。它将数据存储在内存中,支持字符串、哈希、列表等多种数据类型,具有快速读写能力。Redis通过主从复制、哨兵机制和Cluster集群实现高可用性和分布式存储。其持久化方式包括RDB快照和AOF日志,各有优缺点。Redis采用单线程模型,通过I/O多路复用提高性能。在缓存应用中需注意缓存雪崩、击穿和穿透等问题,可通过布隆过滤器、预热等策略优化。
2025-09-04 17:29:24
1001
原创 RabbitMQ常见问题
AMQP(Advanced Message Queuing Protocol,高级消息队列协议)是一种开放的应用层协议,定义了消息中间件之间消息的格式、传输、路由和确认机制。它标准化了消息的生产、发送、接收和处理流程,确保不同厂商和平台的消息队列系统能够互操作。RabbitMQ 就是基于 AMQP 协议实现的消息队列服务器,它支持 AMQP 的各种特性,比如交换机、队列、绑定、路由键、消息确认、事务等。AMQP 是一种消息队列通信的标准协议,它定义了消息如何格式化、发送、路由和确认。
2025-09-03 14:33:01
1180
原创 Spring Boot常见问题
使用 @ConfigurationProperties 注解绑定配置属性到 Java 类通过 @Value 注解单独注入@Componentmy:app:@Value常见做法是在 resources 下定义 application-dev.yml、application-test.yml、application-prod.yml,公共配置放在 application.yml;启动时通过 spring.profiles.active 指定环境,可以在配置文件、命令行参数或环境变量中设置;
2025-09-03 11:53:18
1306
原创 Spring相关问题
Spring是一个轻量级的Java开发框架,核心特性包括控制反转(IoC)和面向切面编程(AOP)。IoC通过容器管理对象创建和依赖注入,降低耦合度;AOP实现横切关注点(如日志、事务)与业务逻辑分离。框架提供多种依赖注入方式(构造器、Setter、字段注入)和自动装配策略(byType/byName)。Spring通过三级缓存解决循环依赖问题,支持声明式事务管理和多种事务传播行为。核心容器(BeanFactory/ApplicationContext)管理Bean生命周期,单例Bean需注意线程安全问题。
2025-08-28 17:00:44
1041
原创 多线程相关问题
乐观锁是一种并发控制机制,用于防止多个用户同时修改同一份数据时发生冲突。它的基本思想是:在更新数据时不直接加锁,而是在提交更新前,先判断数据是否被别人修改过。在实际应用中,乐观锁通常会在数据中增加一个版本号(version)或时间戳字段。当用户读取数据时,会一并获取这个字段的值。如果一致,说明这段时间没有其他人修改过,可以更新,并将版本号加一;如果不一致,说明有其他人修改过数据,更新失败,系统会提示用户或尝试重新读取并提交。
2025-08-27 13:27:45
847
原创 jvm常见问题总结
JVM生命周期结束情形包括:main方法或非守护线程执行结束、System.exit()调用、未捕获异常终止主线程、外部强制终止等。类加载机制分为加载、连接(验证-准备-解析)和初始化四个阶段,采用双亲委派模型确保核心类安全。内存区域分为方法区、堆、虚拟机栈、本地方法栈和程序计数器,堆又分为新生代和老年代。垃圾回收采用分代收集算法,包括标记-清除、标记-复制、标记-整理等策略,不同回收器(如Serial、CMS、G1)适用于不同场景。
2025-08-24 16:06:11
829
原创 Mysql常见问题
本文系统梳理了MySQL数据库的核心知识点,包括索引、事务、锁机制、存储引擎等关键概念。主要内容涵盖:索引类型(B+树、哈希等)及其区别、聚簇与非聚簇索引特性;事务的ACID特性与隔离级别(脏读、幻读等问题);InnoDB与MyISAM存储引擎的对比;MVCC多版本并发控制原理;表分区与分表策略;慢SQL优化方法;主从复制机制等。文章以问答形式呈现,深入浅出地解析了MySQL的底层实现原理、性能优化技巧以及常见问题解决方案,为数据库设计、性能调优和问题排查提供了系统性的参考指南。
2025-08-22 17:13:56
639
原创 XXL-JOB的常见问题
XXL-JOB是一个开源的分布式任务调度框架,主要用于实现任务的定时执行、分片并行处理和负载均衡。其核心组件包括调度中心(JobAdmin)负责任务管理调度,和执行器(JobExecutor)负责具体任务执行。相较于单机调度,分布式调度具有高可用、扩展性强等优势,通过分片广播机制实现任务并行处理。XXL-JOB提供完善的高可用保障,包括任务失败重试、节点宕机自动迁移等机制。该系统支持多种触发方式,可结合消息队列实现异步触发,并提供详细的调度日志管理。
2025-08-21 22:18:14
724
原创 MinIO 常见问题
MinIO作为开源对象存储系统,其核心优势在于高性能、高可用性和兼容S3协议。它通过分布式架构和纠删码技术确保数据安全,支持大文件分片上传和断点续传,解决了传统文件服务器在扩展性和并发处理上的不足。系统采用文件摘要校验实现秒传,结合异步处理机制完成视频转码、图片压缩等操作,同时通过预签名URL管理访问权限。面对高并发场景,采用前端直传和CDN加速优化性能,而元数据统一管理则保障了文件检索和权限控制的效率。整体方案兼顾存储效率与数据安全,满足海量非结构化数据的存储需求。
2025-08-21 13:44:25
1274
原创 快速入门Nacos
Nacos是一个开源的动态服务发现和配置管理平台,支持服务注册与发现、动态配置管理和健康检查。使用前需安装Java8+并下载Nacos服务端。启动命令因操作系统而异,单机模式开发时可加-m standalone参数。Nacos2.x兼容Java8-17,3.x需Java17+。开启鉴权需修改配置文件application.properties。SpringBoot集成需添加依赖,使用@EnableDiscoveryClient注解,并配置服务信息。
2025-08-03 16:03:37
2359
原创 SpringCloud相关问题
微服务架构是一种将单体应用拆分为独立服务的架构风格,各服务通过轻量级通信机制交互。Spring Cloud作为主流微服务解决方案,提供了服务注册发现(Eureka/Nacos)、配置中心、负载均衡(Ribbon)、熔断降级(Hystrix/Sentinel)、网关(Zuul/Gateway)等核心组件。其优势在于完善的Spring生态集成、简化开发流程和丰富的企业级功能。相比Dubbo等RPC框架,Spring Cloud采用HTTP协议,更注重全家桶式的微服务治理能力。
2025-08-02 23:20:31
983
原创 nacos相关问题
Nacos是一个开源的动态服务发现与配置管理平台,主要提供两大核心功能:服务注册与发现、动态配置管理。其核心组件包括服务注册中心、配置中心、健康检查机制等。Nacos采用CP模式保障服务一致性,同时支持配置热更新、灰度发布等功能。相比Eureka,它不仅集成了服务注册与配置管理,还提供更完善的路由策略、负载均衡和自我保护机制。实际应用中建议采用集群部署,通过命名空间隔离环境,结合权重分配和标签路由实现灵活的流量控制。Nacos支持的协议包括HTTP/HTTPS、DNS和UDP等,适用于各种微服务架构场景。
2025-08-02 22:38:01
665
原创 Swagger的相关问题
Swagger是一款开源的API文档工具,能够自动生成标准化RESTful接口文档并支持在线测试。它通过扫描代码中的注解(如@Tag、@Operation等)生成OpenAPI规范的JSON描述文件,并由SwaggerUI渲染成交互式网页。相比于早期springfox,推荐使用兼容性更好的springdoc-openapi实现。在微服务架构中可通过聚合多个服务的API文档实现统一查看,生产环境建议禁用Swagger以确保安全性。
2025-08-02 22:33:05
813
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅