java
文章平均质量分 86
new_daimond
宁静致远
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ZooKeeper 五种经典应用场景详解
ZooKeeper五大应用场景解析 本文详细介绍了ZooKeeper在分布式系统中的五种经典应用场景: 分布式锁:通过临时顺序节点实现互斥访问共享资源,支持公平锁机制 配置管理:集中管理分布式系统配置,实现动态配置更新 服务注册与发现:维护服务提供者列表,支持服务动态发现 Leader选举:利用临时节点特性实现分布式系统主节点选举 分布式队列:基于顺序节点构建先进先出队列模型 文章包含详细的架构图和Java实现代码示例原创 2025-11-27 13:56:22 · 830 阅读 · 0 评论 -
Arthas线上问题排查这篇文章就够啦
Arthas线上问题排查摘要 Arthas是阿里巴巴开源的Java诊断工具,提供类加载分析、方法监控、性能分析、热更新等核心功能,能快速定位线上问题而无需重启应用。相比传统工具,Arthas支持实时查看方法参数、动态修改代码、生成火焰图等。典型应用场景包括接口性能分析、类冲突排查、紧急热修复等。 安装方式灵活,可通过jar包或脚本快速启动,支持本地/远程连接和Web控制台。核心命令包括dashboard(实时监控)、watch(方法观测)、trace(调用链路追踪)等。原创 2025-10-09 15:45:13 · 1224 阅读 · 0 评论 -
OAuth2 技术详解
OAuth2 技术详解 本文全面介绍了OAuth2授权协议的核心概念、工作流程和实现细节。主要内容包括: OAuth2的基本概念和四种授权模式(授权码、隐式、密码、客户端凭证) 五种架构流程图解析,包含整体架构和各授权模式流程 授权码模式的详细分析,包括请求参数、令牌交换和安全考量 安全实现的关键点,如授权码一次性使用、状态参数防CSRF攻击等 OAuth2通过标准化授权流程,实现用户信息的安全授权访问,避免了密码直接暴露给第三方应用的风险。文章通过流程图、代码示例和参数说明,深入浅出地讲解了这一重要协议。原创 2025-09-28 17:27:53 · 733 阅读 · 0 评论 -
二级缓存在实际项目中的应用
二级缓存在项目中的应用摘要: 二级缓存是Hibernate提供的SessionFactory级别缓存,相比一级缓存具有更长的生命周期和跨Session共享特性。适用于读多写少、数据变化不频繁的场景,如电商商品信息、CMS文章内容等。技术难点包括缓存一致性、缓存穿透和雪崩问题,可通过缓存策略、布隆过滤器和随机过期时间等方法解决。SpringBoot整合时需配置缓存提供者(如Redis、EHCache)并合理选择缓存策略。原创 2025-09-08 14:29:19 · 894 阅读 · 0 评论 -
一文带你读懂Session
Session是Web开发中用于服务器端存储用户状态信息的机制,通过唯一SessionID实现跨请求数据共享。与Cookie相比,Session存储更安全(服务器端)、容量更大,但会占用服务器资源。其核心实现方式包括基于Cookie/URL传递SessionID,以及内存/数据库存储Session数据。分布式环境下可通过Redis或JWT实现跨域Session共享。典型应用场景包括用户登录状态管理、购物车数据存储等。原创 2025-09-08 14:28:12 · 1424 阅读 · 0 评论 -
Java文件打包下载处理方案及优化策略
本文介绍了Java中文件打包下载的多种实现方案。基础方案使用Java内置ZipOutputStream或Apache Commons Compress库创建ZIP文件;大数据量场景推荐流式处理方案,通过StreamingResponseBody实现边压缩边下载,避免内存溢出。文章包含完整的代码示例,涵盖文件添加、响应头设置等关键步骤,并提供了压缩级别设置、缓冲区优化等性能调优建议。原创 2025-08-28 17:46:19 · 362 阅读 · 0 评论 -
一文带你搞定回调函数
回调函数是一种将函数作为参数传递并在特定时机执行的编程模式,常用于异步处理和事件驱动编程。文章介绍了回调函数的定义、类型(同步/异步)及实现方式(Lambda、匿名内部类、方法引用),并列举了在事件处理(如UI按钮点击)和异步操作(如网络请求)中的典型应用场景。Java中可通过函数式接口定义回调,结合CompletableFuture实现异步回调,具有解耦合、代码复用等优势,是面试常见考点。原创 2025-08-28 15:18:59 · 1026 阅读 · 0 评论 -
非常实用的计算工具类
DataCalculatorUtil是一个多功能指标计算工具类,支持复杂数学运算和灵活配置。核心功能包括:支持多值组合计算(加减乘除等)、自定义计算顺序、表达式解析和详细结果记录。提供IndicatorDataItem(值+运算符)、IndicatorCalculationConfig(精度/舍入模式等配置)和IndicatorCalculationResult(含中间步骤)三个核心组件。支持多种使用方式:基础计算、构建器模式、快速计算、表达式解析等,并可自定义精度(最高6位小数)和舍入规则。适用于财务、统原创 2025-08-29 00:15:00 · 335 阅读 · 0 评论 -
MyBatis-Plus从入门到精通
MyBatis-Plus是一款MyBatis增强工具,在保留MyBatis特性的基础上提供了诸多便捷功能。其核心特性包括无侵入设计、内置CRUD操作、Lambda条件构造器、多种主键策略、分页插件等。架构上分为核心模块(BaseMapper、IService)、扩展模块(分页插件、代码生成器)和工具模块(条件构造器)。源码分析显示,它通过抽象方法模式实现SQL构建与执行,提供Wrapper类构建动态查询条件,大幅简化了数据库操作。原创 2025-08-26 15:55:51 · 692 阅读 · 0 评论 -
从入门到熟悉跨域(CORS)
本文介绍了跨域(CORS)的基本概念和实现方案。主要内容包括:1) 跨域简介,解释了同源策略和跨域请求的影响;2) 跨域流程,通过流程图展示了简单请求和预检请求的处理过程;3) 跨域类型分析,区分了简单请求、复杂请求和凭证请求;4) 安全风险,重点讨论了CSRF攻击防护。文章提供了Java代码示例和配置建议,帮助开发者理解并解决跨域问题。原创 2025-08-26 00:15:00 · 4822 阅读 · 0 评论 -
Java单点登录(SSO)
本文介绍了Java单点登录(SSO)的实现方式及其优势。SSO允许用户一次登录即可访问多个系统,提升用户体验和安全性。文章详细讲解了两种SSO实现方案:基于Cookie的SSO通过共享Cookie验证会话,适用于同域系统;基于Token的SSO使用JWT生成和验证令牌,适用于跨域场景。还提供了Spring Boot集成示例和最佳实践建议,包括会话管理、安全防护和性能优化。SSO适用于企业内网、SaaS平台等需要统一认证的场景,能有效简化用户登录流程并提高系统安全性。原创 2025-08-25 10:54:07 · 1222 阅读 · 0 评论 -
一文带你了解Java线程池
本文介绍了Java线程池的核心概念和应用方法。主要内容包括线程池简介(优势、核心参数、架构图)、两种常用线程池类型(FixedThreadPool和CachedThreadPool)的具体实现。线程池通过复用线程降低资源消耗,提高响应速度和管理性。FixedThreadPool适用于固定并发量的任务处理,而CachedThreadPool适合处理大量短时任务。文章提供了详细的代码示例,展示如何创建线程池、提交任务、处理结果以及优雅关闭线程池。这些最佳实践能帮助开发者高效利用线程池优化Java应用性能。原创 2025-08-25 10:30:45 · 1120 阅读 · 0 评论 -
MyBatis读这篇文章就够啦!
MyBatis是一个优秀的持久层框架,支持自定义SQL和高级映射,避免了JDBC代码的繁琐操作。它的核心特点包括灵活性、简单性、高性能、动态SQL支持和插件机制。MyBatis适用于复杂查询、SQL性能优化和多数据库场景。核心组件包括SqlSessionFactory、SqlSession和各种处理器。使用技巧涵盖动态SQL(if、choose、foreach标签)、结果映射(基本映射、关联映射、嵌套查询)等。MyBatis通过XML或注解配置,简化了数据库操作,同时保持了SQL的灵活性和控制力。原创 2025-08-22 11:15:11 · 947 阅读 · 0 评论 -
Elasticsearch高能指南
这篇文章是关于Elasticsearch的完整指南,涵盖了核心概念、使用技巧和高级功能。主要内容包括:Elasticsearch简介(分布式搜索引擎特点)、集群架构(节点、分片、索引等)、数据类型、索引管理、复杂搜索查询、聚合分析、批量操作等实用技巧。重点解析了分片策略和性能优化方法,如分片数量计算、查询优化和索引设置调整等。文章通过丰富的JSON示例展示了Elasticsearch的实际应用,适合开发者和系统管理员参考。原创 2025-08-23 00:00:00 · 1140 阅读 · 0 评论 -
xxl-job的使用
xxl-job使用方法原创 2022-07-26 20:00:00 · 3528 阅读 · 1 评论 -
Sonar扫描中类静态变量赋值问题分析
Sonar扫描中的类静态变量赋值问题分析指出,直接修改静态变量可能导致代码可维护性、线程安全和设计模式问题。文章从问题分类(严重程度和类型)、原因分析(设计缺陷、技术及业务原因)、影响评估(功能、性能和维护)等方面进行了详细阐述,并提出了解决方案:采用单例/工厂模式重构、使用原子类/同步机制确保线程安全,以及通过配置类/服务优化配置管理。最佳实践建议避免在静态上下文中直接修改变量,而应采用更安全可靠的设计模式实现类似功能。原创 2022-02-28 22:32:35 · 979 阅读 · 0 评论 -
解决多节点定时任务重复执行问题-SpringBoot项目集成shedlock
shedLock集成jdbc和redis原创 2021-10-15 10:57:01 · 4697 阅读 · 0 评论 -
java加减运算精度损失问题分析
Java 加减运算精度损失问题分析 摘要 Java浮点数运算存在精度损失问题,主要原因是二进制表示十进制数的限制和IEEE 754浮点数标准的特性。常见场景包括金融计算、科学计算和游戏开发,表现为金额计算误差、科学计算偏差和物理模拟不准确等问题。解决方案包括使用BigDecimal类进行精确计算,设置合理的舍入模式,以及在比较浮点数时使用误差范围而非精确相等。问题示例展示了价格计算、累加运算和物理模拟中的精度误差现象,建议在关键业务场景中采用高精度计算方案。原创 2021-03-10 23:35:02 · 319 阅读 · 0 评论 -
mybatis的分页插件连接hive数据库报错分析
MyBatis分页插件连接Hive数据库报错分析 在使用MyBatis分页插件(PageHelper)连接Hive数据库时,经常遇到各种兼容性问题。主要问题包括: SQL语法不兼容:Hive不支持标准LIMIT OFFSET语法,子查询和窗口函数支持有限 数据类型错误:分页参数类型不匹配,Hive数据类型转换问题 配置错误:驱动类配置错误,连接参数设置不当 分页插件兼容性问题:PageHelper默认不支持Hive方言,SQL重写失败 解决方案建议: 自定义分页实现,手动处理分页逻辑 使用ROW_NUMBE原创 2019-07-28 17:45:46 · 1782 阅读 · 0 评论
分享