![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
开发技巧
文章平均质量分 94
本专栏主要收集博主日常开发中的一些开发技巧,其中包含了各种系统的设计原理以及注意事项,并分享一些日常开发的功能小技巧
Micro麦可乐
原名(傲泣龙腾)
15年JAVA开发工程师曾在中国移动、招商集团任职,定期分享编程教程以最贴切生活、风趣幽默的讲解形式带领大家轻松学编程
展开
-
在Java中处理金额计算:使用Long还是BigDecimal?
在Java编程中处理货币和金额时,选择合适的数据类型至关重要。Java提供了多种处理数值的方式,其中Long和BigDecimal是两种常见的选择(排除float和double下面会分析),今天博主就来分析一下,我们日常开发中该如何选择!在·Java·中处理金额时,Long和BigDecimal各有优缺点。Long适用于整数金额和性能要求高的场景,而BigDecimal适用于需要高精度和处理小数的场景。选择合适的数据类型可以提高程序的性能和准确性,满足具体应用的需求。通过本文的介绍,相信小伙伴已经理解。原创 2024-06-25 14:23:36 · 8399 阅读 · 23 评论 -
还在为线上BUG苦苦找寻?试试IntelliJ IDEA远程调试线上Java程序
相信很多小伙伴开发项目中,本地开发环境运行好好的,但在生产环境就会出现某些BUG,而定位复现BUG又成了开发者最苦恼的事情,且这是一个非常耗费时间且低效的过程,需要解决这个问题,那么我就需要借助Java调试线协议(JDWP)开启远程调试,可以直接将线上项目在本地代码上Debug。远程调试是我们开发者日常工作中的重要技能之一,它可以帮助我们在生产环境中直接调试运行中的应用程序,快速发现并解决问题。博主将给大家将详细介绍在中如何进行远程调试Java程序。原创 2024-06-08 17:19:19 · 6334 阅读 · 15 评论 -
使用 Apache Commons Exec 自动化脚本执行实现 MySQL 数据库备份
在日常的数据库维护中,备份是非常重要的任务。通过 Apache Commons Exec,可以方便地自动化执行 MySQL 数据库备份脚本。本文将介绍如何使用 Apache Commons Exec 实现这一功能。通过 Apache Commons Exec 可以轻松实现自动化执行 MySQL 数据库备份脚本。这不仅简化了备份过程,还确保了备份任务的可靠性和可控性。原创 2024-05-31 17:19:48 · 4417 阅读 · 13 评论 -
使用 Apache Commons Exec 管理外部进程
Apache Commons Exec 提供了一个功能强大且灵活的 API,用于管理和控制外部进程。通过简化的 API、超时控制、流处理和环境变量设置,开发者可以更轻松地集成和管理外部进程。在实际应用中,合理使用这些特性可以显著提升应用程序的稳定性和可维护性。通过以上示例,相信你已经对 Apache Commons Exec 有了基本了解和实践经验。下一章节我们就使用 Apache Commons Exec 自动化脚本执行实现 MySQL 数据库备份,让大家有更深入的理解。原创 2024-05-30 20:47:23 · 4865 阅读 · 12 评论 -
IDEA插件分享 - enum-quick-generate 实现枚举类自动生成
在日常JAVA项目开发过程中,我们编写的实体类会有很多状态、类型相关的字段需要枚举实现,从而需要创建对应的枚举类,如果字段类型较多,那么这个创建枚举类的过程还是让我们感到很麻烦的,那么这里分享一款IDEA插件就可以根据我们的内容自动生成枚举类本文主要分享博主在日常工作中,使用到的枚举类生成工具,当然插件市场也有很多此类功能插件,大家可以自由选择,有了它根据注释一键生成枚举类,让我们从此远离加班,告别秃头!😂😂。原创 2024-04-27 00:53:57 · 4719 阅读 · 9 评论 -
SpringBoot项目中 Spring Framework远程代码执行漏洞的处理方案
公司最近要求对所有项目进行漏洞检测修复,其中有一项漏洞名称为Spring Framework远程代码执行漏洞(CVE-2022-22965)需要升级Spring Framework版本解决,如图高危修复建议将Spring Framework升级至安全版本 ,即升级5.2.20及以上版本 或 5.3.18及以上版本,具体官方修复的5.2和5.3版本可以查找。原创 2024-04-08 01:28:12 · 4623 阅读 · 12 评论 -
乐观锁与悲观锁:高并发场景下的选择
在面对高并发的场景下,选择合适的锁策略对于保障数据一致性和提高系统性能至关重要。本文将深入探讨乐观锁和悲观锁两种常见的锁机制,分析它们在高并发环境中的优劣势,以便更好地选择适用于不同场景的锁策略。在实际应用中,乐观锁和悲观锁都有其适用的场景,选择应根据具体业务需求和并发访问的特点。在读多写少的情况下,乐观锁可以更好地发挥其性能优势;而在写多读少的情况下,悲观锁则更为适用。合理选择锁策略是高并发系统设计的关键一环,需要充分考虑业务场景和系统特性。原创 2024-01-18 21:36:55 · 1049 阅读 · 8 评论 -
深度解析分布式任务调度及实现方案
分布式任务调度是指通过合理的调度算法,在分布式环境下协调执行任务的一种机制。其目的是最大程度地提高任务执行效率、保障任务的可靠性和实时性。通过选择适当的分布式任务调度方案,如消息队列、Quartz、XXL-Job 等,可以有效地协调分布式系统中的任务执行。在选择时,需考虑业务场景、系统架构和实现成本等因素,以便更好地满足系统的需求。在实际应用中,合理使用任务调度工具,能够提高系统的稳定性和可维护性。原创 2024-01-10 19:51:38 · 1699 阅读 · 6 评论 -
深度解析分布式锁及实现方案
分布式锁是一种在分布式系统中实现协同访问共享资源的机制,目的是确保在分布式环境中对共享资源的互斥访问,避免数据不一致性、并发冲突等问题。分布式锁是分布式系统中常用的同步机制,通过对共享资源的互斥访问,确保系统的一致性。在选择实现方案时,需要根据实际场景和系统要求综合考虑,保证分布式锁的性能、可靠性和可维护性。在实际应用中,可以根据业务需求选择适当的实现方案。原创 2024-01-08 19:58:42 · 1012 阅读 · 5 评论 -
深入了解Snowflake雪花算法:分布式唯一ID生成器
在分布式系统中,生成唯一ID是一项关键的任务。Snowflake算法是Twitter公司开发的一种分布式唯一ID生成算法,通过对时间、机器ID和序列号的合理组合,保证在分布式环境中生成唯一的64位ID。本文将深入解析Snowflake算法的原理,并附带Java代码示例。Snowflake算法是一种简单而高效的分布式唯一ID生成方案,广泛应用于分布式系统中。通过合理配置机器ID和数据中心ID,以及注意时间回拨问题,我们可以确保Snowflake算法生成的ID在分布式环境中的唯一性。原创 2024-01-07 21:24:48 · 1106 阅读 · 5 评论 -
深度解析Nginx负载均衡算法及配置实例
Nginx作为一款高性能的Web服务器,其负载均衡功能在实际应用中起到了至关重要的作用。通过深入了解Nginx的负载均衡算法和灵活的配置方式,我们能更好地根据应用场景选择合适的负载均衡策略,提升系统的性能和可用性。在实际应用中,可根据具体业务需求选择轮询、IP Hash、Least Connections等算法,并通过加权设置等手段实现更精细的流量控制。原创 2024-01-07 20:31:59 · 1669 阅读 · 5 评论 -
深度解析分布式算法:构建高效稳定的分布式系统
分布式算法是构建高效稳定的分布式系统的核心。通过深入了解分布式算法的原理、应用和挑战,我们能更好地设计和维护分布式系统,应对日益复杂的互联网环境。在未来,随着技术的不断进步,分布式算法必将迎来更广阔的发展空间。原创 2024-01-06 22:04:44 · 1014 阅读 · 4 评论 -
商品砍价系统设计原理与实践:技术解析与注意事项
商品砍价系统的设计原理涉及到用户参与、砍价过程、安全性等多个方面。在实际设计中,需要充分考虑用户体验、系统性能和数据一致性等关键因素。通过技术实践,我们可以选择适当的技术工具,确保系统的可用性和稳定性,提升用户的满意度,从而达到促销的最终目的。原创 2024-01-06 21:07:15 · 1157 阅读 · 5 评论 -
构建高效秒杀系统的设计原理及注意事项
设计一个高效的秒杀系统需要全方位的考虑,包括业务流程、性能优化、并发控制、安全防护等多个方面。通过合理的技术选型和实践,可以构建出稳定、高性能的秒杀系统。然而,秒杀系统的设计是一个复杂的工程,需要不断优化和改进,以适应不同规模和场景的需求。希望通过本文的介绍,大家对秒杀系统的设计有了更深入的了解,并能在实际项目中灵活运用这些技术。原创 2024-01-05 20:41:41 · 962 阅读 · 6 评论 -
教你用策略枚举消除if-else判断(以支付场景为例子)带给你新的认知,记得收藏哦~
使用策略枚举可以很灵活处理各种复杂判断,且可读性与扩展性都比较好,它更像是函数式编程,即传进一个参数,就可以得到对应模式下返回的数值。这样的设计使得系统更具可读性、可维护性,也更符合开放/封闭原则。如果需要添加新的支付方式,只需简单地在枚举中添加新的常量即可。原创 2024-01-02 20:34:00 · 1208 阅读 · 7 评论 -
JAVA开发中几个常用的lambda表达式!记得收藏起来哦~
Lambda表达式是一种在许多编程语言中存在的匿名函数表达式,它可以用于创建简短的、一次性的函数。Lambda表达式通常用于函数式编程范式中,它允许开发者以更紧凑的方式定义匿名函数,而不必显式地声明函数的名称原创 2024-01-02 11:45:42 · 962 阅读 · 10 评论