自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

俺叫赵小邪的博客

当你的能力撑不起你的野心时,你需要静下来心来学习了

  • 博客(129)
  • 资源 (3)
  • 收藏
  • 关注

原创 金额用Long还是BigDecimal

基于上述对Long和BigDecimal的优缺点分析,我们可以得出以下结论:在金额计算层面,即代码实现中,推荐使用BigDecimal进行所有与金额相关的计算。BigDecimal提供了高精度的数值运算,能够确保金额计算的精确性,避免了因浮点数精度问题导致的财务误差。使用BigDecimal可以简化代码逻辑,减少因处理精度问题而引入的复杂性。而在数据库存储方面,我们需要根据具体需求进行权衡。

2024-04-18 09:52:09 185

原创 美团二面:如何保证Redis与Mysql双写一致性?连续两个面试问到了!

在分布式系统中,保证缓存与数据库双写一致性,采用“先操作数据库后处理缓存”的策略。读操作时,先查缓存再查数据库并回填;更新时,先更新数据库,通过binlog异步删除缓存

2024-04-16 09:54:53 300

原创 MySQL里有2000万条数据,但是Redis中只存20万的数据,如何保证redis中的数据都是热点数据?

本文介绍了如何结合LFU淘汰策略与访问频率优化,实现在电商平台等业务场景下,精准管理Redis中20万热点数据。

2024-04-15 09:46:31 755

原创 京东一面:如何在SpringBoot启动时执行特定代码?有哪些方式?我说我不知道。。。。

Spring Boot启动时的初始化可通过监听事件、实现接口及使用注解实现等方式,每种方式对应不同场景,确保应用启动时关键逻辑执行。

2024-04-11 09:44:47 712

原创 美团一面:说说synchronized的实现原理?问麻了。。。。

`synchronized`作为Java并发编程的基础构建块,其简洁易用的语法形式背后蕴含着复杂的底层实现原理和技术细节。深入理解`synchronized`的运行机制,不仅有助于我们更好地利用这一特性编写出高效且安全的并发程序

2024-04-08 10:01:24 1307

原创 字节二面:为什么SpringBoot的 jar 可以直接运行?我说因为内嵌了Tomcat容器,他让我出门左转。。

Spring Boot应用的jar包因其Fat JAR构建、自定义加载器、内嵌Web容器及自动配置特性,通过Maven或Gradle插件统一打包所有依赖,实现Main-Class指定的启动器加载应用,简化部署,实现跨平台直接运行,大幅提升开发与运维效率。

2024-04-04 18:21:33 675

原创 提高生产力!这10个Lambda表达式必须掌握,开发效率嘎嘎上升!

熟练运用Lambda表达式能够显著提升代码质量与开发效率,使得代码逻辑更加简明扼要,同时也增强了程序的可读性与维护性。不断学习和实践这些技巧,你的开发效率必将迎来质的飞跃

2024-04-03 09:38:35 421

原创 美团一面:项目中使用过Redis吗?我说用Redis做缓存。他对我哦了一声

Redis广泛应用于数据缓存、会话管理、排行榜、计数器、分布式锁、消息队列、社交网络、限流控制、位运算、电商、时间序列、地理位置索引等多样化业务场景。

2024-03-29 10:33:57 722

原创 京东二面:Redis为什么快?我说Redis是纯内存访问的,然后他对我笑了笑。。。。。。

Redis通过结合纯内存操作、单线程模型、IO多路复用技术和一系列精心设计的高效数据结构,实现了在高并发、低延迟场景下的优秀性能表现。

2024-03-27 14:12:45 728

原创 美团一面:说一说Java中的四种引用类型?

Java四种引用类型:强、软、弱、虚。它们的作用和使用场景各不相同,能够满足不同的内存管理需求。

2024-03-26 09:27:30 933

原创 阿里二面:Java中锁的分类有哪些?你能说全吗?

本文主要讲述Java中各类锁机制的特点,包括重入锁、悲观/乐观锁、偏向/轻量级/重量级锁、分段锁和自旋锁,阐述其优缺点及一些适用场景。

2024-03-25 09:45:20 539

原创 阿里二面:谈谈ThreadLocal的内存泄漏问题?问麻了。。。。

ThreadLocal为各线程提供独立变量副本以实现数据隔离。内部采用ThreadLocalMap关联弱引用键与强引用值,易引发内存泄漏,需适时调用remove方法避免。

2024-03-24 11:13:53 1032

原创 腾讯二面:如何保证接口幂等性?高并发下的接口幂等性如何实现?

幂等性是开发当中很常见也很重要的一个需求,尤其是订单,支付以及与金钱挂钩的服务,保证接口幂等性尤其重要。本文介绍几种保证接口幂等的方案以及示例。还有谁不会?

2024-03-22 09:50:41 566

原创 还在用Calendar操作Date?Java8都弃用了,还不知道它的这款强大的工具吗?

还在用Calendar操作Date?Java8都弃用了,还不知道它的这款强大的工具吗?

2024-03-21 10:38:53 638

原创 阿里二面:如何定位&避免死锁?连着两个面试问到了!

什么是死锁?死锁问题该如何定位?如何避免死锁?本文从这几个问题入手,详细的解释了死锁。

2024-03-20 09:45:26 785

原创 提升Spring Boot应用性能的秘密武器:揭秘@Async注解的实用技巧

SpringBoot中@Async注解的原理、使用及注意事项。利用AOP和任务执行器提升并发能力。需注意避免异步方法相互调用、合理配置线程池、异常处理、Spring上下文丢失及事务交互。优化应用程序性能和并发处理能力。

2024-03-19 13:05:58 822

原创 玩转SpringBoot:SpringBoot的几种定时任务实现方式

SpringBoot提供了强大而灵活的定时任务功能。本文介绍了SpringBoot中定时任务的基本用法以及高级特性。通过合理配置定时任务,可以保证定时任务的稳定运行和系统的可靠性。定时任务在提高系统效率、自动化任务执行方面发挥着重要作用。

2024-03-12 11:23:12 856

原创 学会这7种SQL进阶用法,让你少走99%的弯路!

掌握这几种SQL进阶用法,你将能够更高效地处理各种复杂的数据操作,并少走很多弯路。这些技巧能够提高你的SQL查询能力,使得你在日常的数据处理工作中更得心应手。

2024-03-11 10:01:30 794

原创 聊一聊日常开发中如何优雅的避免那无处不在的空指针异常

NullPointerException是Java编程中的常见问题,源自对象引用为空时的操作。我们可以使用进行非空检查、使用Optional类以及采用Null安全注解以及使用检查工具等方式避免

2024-03-08 15:18:52 836

原创 自定义Mybatis的TypeHandler,轻松应对Mysql的JSON类型

本文的介绍了TypeHandler的基础知识、自定义方法、高级应用,展示了如何处理常见数据类型和特殊数据格式。使用TypeHandler可以灵活处理数据转换,提高系统性能和扩展性。

2024-03-07 09:47:54 880

原创 提升Spring Boot应用性能的秘密武器:揭秘@Async注解的实用技巧

SpringBoot中@Async注解的原理、使用及注意事项。利用AOP和任务执行器提升并发能力。需注意避免异步方法相互调用、合理配置线程池、异常处理、Spring上下文丢失及事务交互。优化应用程序性能和并发处理能力。

2024-03-05 17:51:03 833

原创 玩转SpringBoot:动态排除Starter配置,轻松部署

学习如何在Spring Boot项目中排除Starter自动配置类,根据不同环境动态排除配置,灵活控制Bean的创建和配置的应用。

2024-03-04 09:09:10 899

原创 华为二面:SpringBoot如何自定义Starter?

Spring Boot的自动配置机制为开发人员提供了一种轻松集成和配置各种功能的便捷方式。然而,随着项目的复杂性增加,更好地组织和分享通用功能变得至关重要。自定义Starter成为了理想的解决方案,旨在简化项目的依赖管理和自动配置,使开发者能够迅速而灵活地集成特定的功能模块。

2024-02-21 10:04:24 894

原创 解锁Mysql中的JSON数据类型,怎一个爽字了得

面对数据结构的复杂多变,解锁使用MySql的JSON数据类型,灵活处理非结构化或半结构化数据的存储和处理。

2024-02-20 15:37:12 897

原创 提高Java开发生产力,我选Stream API,真香啊

本文深入介绍了Java 8的Stream API,包括创建、中间操作、终端操作等,强调了并行流在大数据处理中的性能提升。提供清晰实用的示例,为读者理解流式计算提供有益指导。

2024-02-19 09:59:35 768

原创 SpringBoot + LiteFlow:轻松应对复杂业务逻辑,简直不要太香!

LiteFlow是一个非常强大的现代化的规则引擎框架,融合了编排特性和规则引擎的所有特性。它是一个编排式的规则引擎框架,组件编排,帮助解耦业务代码,让每一个业务片段都是一个组件。

2024-02-04 10:25:26 1037

原创 阿里二面:SpringBoot同时可以处理多少个请求?直接懵了。。。

SpringBoot同时可以处理多少个请求,依赖于其内嵌的Servlet容器处理请求的能力

2024-01-30 13:07:15 916

原创 SpringBoot统一结果返回,统一异常处理,大牛都这么玩

深入解析SpringBoot应用中的异常处理,涵盖全局与局部机制。从统一响应到详细错误日志,提供最佳实践。全局处理确保一致性,局部处理满足个性化需求。通过综合运用,优化应用稳定性和可维护性。

2024-01-29 13:22:44 982

原创 面试官:Mysql中EXISTS与IN的使用有哪些差异

文章深入研究Mysql查询中IN与EXISTS子查询的性能选择。建议在大表驱动小表时选用IN,小表驱动大表时选择EXISTS。性能取决于数据规模和索引。

2024-01-29 13:18:27 887

原创 面试官:Mysql千万级大表如何进行深度分页优化

本文介绍了如何通过子查询优化深度分页查询,以减少回表操作带来的性能损耗。传统的深度分页查询往往会面临严重的性能问题,尤其在处理大量数据时更是如此。

2024-01-29 13:16:11 809

原创 Java编程的利器:Pair和Triple无缝解决多值返回问题,助力编写高效代码

Pair和Triple类是commons-lang3库提供的实用工具,可以方便地将多个值组合在一起,实现多个返回值的效果,提高了代码的可读性和可维护性,使得处理多值情景更加轻松。

2024-01-26 22:08:43 1014

原创 乖乖,咱不用BeanUtil.copy了,咱试试这款神级工具(超详细)

MapStruct是Java编译时生成对象映射代码的工具,通过注解简化Bean间的转换。它自动创建映射接口实现,提高效率与性能,优于手动或运行时反射映射,并支持自定义逻辑配置,适用于多种框架,提升开发和维护体验。

2024-01-26 22:04:52 879

原创 SpringBoot责任链与自定义注解:优雅解耦复杂业务

使用Spring Boot整合@Qualifier、自定义注解、责任链和策略模式,实现业务逻辑高度解耦。责任链模式将不同规则下的业务节点清晰分离,提升代码可读性。采用策略模式简化规则处理,带来更灵活的业务扩展。

2024-01-24 17:31:08 1081

原创 推荐几款IDEA插件,助你玩转Mybatis开发

介绍几款IDEA中开发MyBatis所用的插件,助力开发者轻松高效。自动生成代码,可视化配置,为MyBatis开发提供卓越便利。

2024-01-17 22:58:35 1929 2

原创 太惨了,又一个程序员被渣的开年大瓜

太惨了,又一个程序员被渣的开年大瓜

2024-01-10 19:13:11 527

原创 拥抱Guava之集合操作

深入了解Google Guava库的集合操作功能,本文介绍了其强大的特性,包括不可变集合和高效工具类。通过实例演示,为Java开发者提供全面的集合操作解决方案

2024-01-10 19:00:14 987

原创 拥抱Guava之字符串操作

本文深度剖析Guava库的字符串处理工具,从基础的判空和拆分到高级的不可变字符串。详解Splitter、Joiner和CharMatcher等工具的使用,强调Guava在大规模数据处理上的性能优势。通过实例和性能考虑,引导开发者充分利用Guava,提高代码效率和可维护性。

2024-01-10 18:58:40 1056

原创 Java虚拟机类加载机制探究:生命周期、初始化、使用与验证

深度解析Java虚拟机中类的生命周期,包括加载、验证、初始化等阶段。强调主动和被动使用触发条件,总结类加载器类型和获取方法。

2024-01-10 18:25:27 887

原创 Java线程池最全详解

Java线程池是多线程编程中的重要工具,能够有效管理和复用线程,提高系统性能和资源利用率。本文深入探讨了线程池的基础概念、工作原理、参数配置、自定义以及使用示例,并强调了注意事项。

2024-01-10 18:23:03 851

原创 公司新来的同事给出了if-else优化的8种方案

优化庞大if-else语句的多种方法,包括提前return、枚举、Optional、表驱动、策略模式+工厂模式、规则引擎等,强调选择最适合项目的方案,提高代码清晰性、灵活性和维护性。

2024-01-10 17:56:46 933

java使用poi读取xls格式和xlsx格式的excel文件

java使用poi读取xls格式和xlsx格式的excel文件

2017-02-17

java读取tar.gz压缩文件的jar包

java读取tar.gz压缩文件的jar包

2016-09-01

java读取zip压缩文件第三方jar包

java读取zip压缩文件第三方jar包

2016-09-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除