首页
分类
后端开发
数据库
前端开发
学习笔记
错误合集
标签
Java
MySQL
MongoDB
Linux
IDEA
归档
海尔经典面试题
Linux清理磁盘空间
MySQL查询结果输出到文件
MongoDB数据处理
瞬间
留言板
友情链接
Java学习笔记
Java博客
累计撰写
66
篇文章
累计创建
22
个标签
累计收到
12
条评论
栏目
首页
分类
后端开发
数据库
前端开发
学习笔记
错误合集
标签
Java
MySQL
MongoDB
Linux
IDEA
归档
海尔经典面试题
Linux清理磁盘空间
MySQL查询结果输出到文件
MongoDB数据处理
瞬间
留言板
友情链接
Java学习笔记
目 录
CONTENT
最新文章
2026-01-23
千万级数据表COUNT查询优化实战
本文记录了一次SQL慢查询优化实战,从8秒降至0.1秒。初始查询因优化器选错索引导致大量数据扫描。通过创建覆盖索引(含`rating_type`、`areacode`、`id`),避免回表操作,性能提升80倍。进一步通过`ANALYZE TABLE`更新统计信息,使优化器自动选择最优索引。对比`count(*)`与`count(id)`,前者因MySQL优化机制通常更快。生产环境应避免强制索引,依靠统计信息让优化器智能选择。最终推荐方案为创建覆盖索引、更新统计信息、使用`count(*)`,并辅以定期维护与监控。优化核心在于理解执行计划、数据分布及查询模式,而非简单加索引。
2026-01-23
13
0
0
学习笔记
数据库
2025-09-29
从闲置到实用:如何把 Mac mini 变成个人开发和家庭服务器
本文详细介绍了如何将闲置的Mac mini改造为功能强大的个人家庭服务器,通过frp实现内网穿透,解决家庭网络无公网IP的问题。文章涵盖软硬件准备、frp服务端与客户端部署、SSH远程访问、文件共享(SMB、Nextcloud)、私人Git服务器(Gitea)、媒体中心(Plex、Jellyfin)、轻量应用托管(Node.js、FastAPI)等实用场景,并强调安全措施(如SSH密钥认证、防火墙、流量加密与压缩)。方案成本低廉,仅需一台便宜的云服务器(月费约20-60元),适合个人及小团队使用。最后提出可扩展方向,如Docker容器化、Kubernetes、Home Assistant等,充分释放Mac mini的潜力,使其成为集远程开发、文件存储、代码托管、智能家庭控制于一体的多功能个人数据中心。
2025-09-29
46
0
2
建站系统
学习笔记
2025-09-25
Hive数据导入到Doris
本文系统介绍了将Hive数据导入Apache Doris的两种主流方式:Catalog方式和Broker Load方式。Catalog方式通过虚拟化访问Hive元数据,支持实时查询、节省存储,适用于小数据量和需数据一致性的场景,但存在性能和兼容性问题,需通过权限配置、元数据刷新和类型映射优化。Broker Load采用异步导入,通过Broker进程从HDFS高效迁移数据,适合TB级大数据量导入,支持多种格式、高并行度和错误重试机制,需正确配置Broker服务、权限和存储空间。文章还对比了Doris新旧版本功能差异,提出根据数据量、实时性需求选择合适方案的最佳实践,并强调监控、元数据维护和性能优化的重要性。最终,读者可依据业务需求选择最优方案,实现Hive与Doris间高效、可靠的数据流转。
2025-09-25
25
0
1
学习笔记
建站系统
数据库
2025-09-10
Linux系统切换多JDK版本
本文介绍了在Linux系统中管理多个JDK版本的五种常用方法。第一种是使用`update-alternatives`工具,适用于Debian/Ubuntu/RedHat系统,可系统级切换JDK默认版本;第二种是手动配置`JAVA_HOME`环境变量,灵活但需手动维护;第三种是使用JEnv轻量级工具,支持全局、shell和项目局部三种切换模式,并自动管理`JAVA_HOME`;第四种是SDKMAN,功能全面,支持多种开发工具的安装与版本切换;第五种是使用Docker容器,提供完全隔离的运行环境,适合构建独立的开发或测试环境。每种方法各有优劣,用户可根据使用场景和需求选择合适方案。
2025-09-10
22
0
0
建站系统
开发工具
2025-03-25
海尔经典面试题
本文分享了一篇海尔Java开发岗位的面试经验(一面通过),内容涵盖多个核心技术点。重点包括:Redis缓存击穿、雪崩、穿透的问题及解决方案,如随机过期时间、互斥锁、布隆过滤器等;Spring Boot启动流程及常用注解(如@Component、@RestController、@Autowired等);MyBatis特点与灵活性;Git基础操作及回退方法;Java异常体系(Error与Exception);Java 8新特性(Lambda、Stream、Optional等);HashMap底层结构(JDK 8红黑树优化);Docker隔离原理(Namespace与cgroups);Jenkins与CI/CD流程。此外,还包含项目及聊天类问题。整体面试体验良好,面试官态度亲切,氛围轻松。
2025-03-25
94
0
3
面试
2025-02-13
学习方法
本文提供了一套系统化的AI提问模板,旨在高效学习特定技能(如编程、数据分析等)。其核心方法基于二八法则,建议在[Y]周内聚焦20%的关键概念,按周规划学习主题,确保快速入门并动手实践。学习结束后,推荐5个难度递增的项目,从基础到进阶,强化核心知识并培养独立解决问题的能力。对于具体子技能[Y],模板要求提供清晰解释、代码示例、常见错误及规避方法、实际应用案例和三个练习题,确保学习者扎实掌握。最后,通过一个发人深省的问题引导深入思考[Y]的深层应用或社会影响。整个框架兼顾结构化、实用性与启发性,适合初学者循序渐进、高效掌握技能。
2025-02-13
51
1
2
学习笔记
2024-12-10
Spring Boot 重试机制@Retryable
**摘要(198字):** `@Retryable` 是 Spring Retry 提供的注解,用于在方法抛出指定异常时自动重试,支持配置最大重试次数、延迟策略和异常类型。`@Recover` 用于处理重试失败后的异常,实现恢复逻辑,可与 `@Retryable` 配合使用,分离重试与恢复逻辑。多个 `@Retryable` 方法可在同一类中定义,各自拥有独立的 `@Recover` 方法,通过异常类型和方法命名匹配对应关系。若未指定 `value`,默认重试所有异常。`@Recover` 方法需与 `@Retryable` 方法抛出的异常类型一致,Spring 通过方法参数类型和命名进行匹配,支持多方法共享相同异常类型但各自独立恢复。
2024-12-10
22
0
0
后端开发
2024-11-13
使用aligo将数据备份到阿里云盘
本文介绍了一个通过Python脚本实现Halo博客自动备份并上传至阿里云盘的方案。核心依赖库为`aligo`,用于操作阿里云盘,结合`requests`库调用Halo的备份API。脚本首先通过POST请求触发Halo备份,随后轮询检查备份状态,待备份完成后,将生成的压缩包上传至指定阿里云盘文件夹。文中详细列出了需要配置的参数,如网站地址、备份路径、阿里云盘目录ID及Halo账号密码。部署时需确保Python 3.7+环境,并安装`requests`和`aligo`依赖,若安装失败可从GitHub下载whl包手动安装。首次运行需扫码登录阿里云盘,之后即可自动完成备份与上传,实现博客数据的定期云端存储备份。
2024-11-13
34
0
0
学习笔记
建站系统
2024-09-29
使用 Docker 部署 Waline 评论组件
本文介绍了如何使用 Docker 部署 Waline 评论系统。Waline 是一个基于 Vercel Serverless 的轻量级评论组件,部署步骤包括:首先确保系统已安装 Docker;接着下载 Waline Docker 镜像;创建 `config.yml` 配置文件,填写域名、应用 ID、密钥等信息;然后通过 Docker 命令启动容器,配置数据库、邮箱、站点信息等环境变量;最后在网站中插入 Waline 客户端代码,绑定域名即可使用。文章还列出了常见问题,如 Docker 安装、配置文件错误、容器启动失败和网站代码配置不当等,并建议参考官方文档或社区支持解决。整个过程简洁高效,适合快速集成到个人或企业网站中。
2024-09-29
33
0
0
软件推荐
建站系统
2024-09-29
使用 Docker 部署 Artalk 评论组件
Artalk 是一个开源评论组件,可便捷集成至网站或博客,支持用户互动。通过 Docker 部署可简化流程、提升效率。部署步骤包括:安装 Docker、拉取 `artalk/artalk` 镜像、运行容器并映射端口(如 8667:23366)、配置环境变量(如站点名称、可信域名等)、设置管理员账号。配置文件位于容器 `/app/config.json`,可通过命令行进入容器编辑或使用 `artalk admin` 初始化账号。部署完成后,访问 `http://localhost:3000` 即可进入管理界面。最后,按文档将评论组件嵌入网站。整体流程清晰高效,适合快速搭建评论系统。
2024-09-29
46
0
1
建站系统
软件推荐
2024-09-09
SpringBoot多数据源集成——MongoDB
本文介绍了在Spring Boot项目中实现根据业务条件动态切换MongoDB数据源的完整方案。首先通过`spring-boot-starter-data-mongodb`引入依赖,并在配置文件中定义多个数据库(如`default`和`csfa`)。通过`MongoParamsConfig`读取配置,`MongoConfig`类创建多个`MongoTemplate`实例,支持用户名密码认证。为避免保存`_class`字段,扩展了`MappingMongoConverter`。动态切换数据源可通过手动设置`ThreadLocal`标识,结合`DynamicMongoTemplate`选择对应模板;或通过AOP切面自动切换,实现无侵入式数据源切换。针对`MongoRepository`的自定义方法无法通过AOP生效的问题,提出了两种解决方案:一是直接使用`MongoTemplate`;二是创建自定义接口及实现类,继承`MongoRepository`,实现动态数据源调用。该方案适用于需多库动态查询的复杂业务场景,兼顾灵活性与可维护性。
2024-09-09
76
0
7
后端开发
数据库
2024-08-31
SpringBoot多数据源集成——MySQL
本文介绍了在Spring Boot项目中实现基于条件动态切换MySQL数据库的完整方案。通过配置多个数据源(如default、csfa),并使用`AbstractRoutingDataSource`结合`ThreadLocal`实现数据源动态路由。配置包括Maven依赖、`application.yml`中多数据源定义、`DataSourceConfig`类中通过`@ConfigurationProperties`加载数据源并构建`DynamicDataSource`。为避免循环依赖,需添加`@Lazy`注解,为指定默认数据源需使用`@Primary`。提供三种切换方式:手动切换、注解+AOP自动切换、拦截器自动切换。注解方式支持类/方法级别指定数据源,AOP切面需注意执行顺序(`@Order(-1)`)并处理事务嵌套问题。拦截器可从请求头获取`bus-tab`动态设置数据源,实现无侵入式切换。三种方式可组合使用,灵活满足不同场景需求。此外,也提及可使用Apache ShardingSphere实现更高级的动态数据源管理。
2024-08-31
28
0
3
后端开发
数据库
查看更多
鄂ICP备20003961号-3