- 博客(122)
- 资源 (3)
- 收藏
- 关注
原创 美团一面:项目中使用过Redis吗?我说用Redis做缓存。他对我哦了一声
Redis广泛应用于数据缓存、会话管理、排行榜、计数器、分布式锁、消息队列、社交网络、限流控制、位运算、电商、时间序列、地理位置索引等多样化业务场景。
2024-03-29 10:33:57 601
原创 京东二面:Redis为什么快?我说Redis是纯内存访问的,然后他对我笑了笑。。。。。。
Redis通过结合纯内存操作、单线程模型、IO多路复用技术和一系列精心设计的高效数据结构,实现了在高并发、低延迟场景下的优秀性能表现。
2024-03-27 14:12:45 712
原创 阿里二面:Java中锁的分类有哪些?你能说全吗?
本文主要讲述Java中各类锁机制的特点,包括重入锁、悲观/乐观锁、偏向/轻量级/重量级锁、分段锁和自旋锁,阐述其优缺点及一些适用场景。
2024-03-25 09:45:20 534
原创 阿里二面:谈谈ThreadLocal的内存泄漏问题?问麻了。。。。
ThreadLocal为各线程提供独立变量副本以实现数据隔离。内部采用ThreadLocalMap关联弱引用键与强引用值,易引发内存泄漏,需适时调用remove方法避免。
2024-03-24 11:13:53 1022
原创 腾讯二面:如何保证接口幂等性?高并发下的接口幂等性如何实现?
幂等性是开发当中很常见也很重要的一个需求,尤其是订单,支付以及与金钱挂钩的服务,保证接口幂等性尤其重要。本文介绍几种保证接口幂等的方案以及示例。还有谁不会?
2024-03-22 09:50:41 560
原创 还在用Calendar操作Date?Java8都弃用了,还不知道它的这款强大的工具吗?
还在用Calendar操作Date?Java8都弃用了,还不知道它的这款强大的工具吗?
2024-03-21 10:38:53 634
原创 提升Spring Boot应用性能的秘密武器:揭秘@Async注解的实用技巧
SpringBoot中@Async注解的原理、使用及注意事项。利用AOP和任务执行器提升并发能力。需注意避免异步方法相互调用、合理配置线程池、异常处理、Spring上下文丢失及事务交互。优化应用程序性能和并发处理能力。
2024-03-19 13:05:58 811
原创 玩转SpringBoot:SpringBoot的几种定时任务实现方式
SpringBoot提供了强大而灵活的定时任务功能。本文介绍了SpringBoot中定时任务的基本用法以及高级特性。通过合理配置定时任务,可以保证定时任务的稳定运行和系统的可靠性。定时任务在提高系统效率、自动化任务执行方面发挥着重要作用。
2024-03-12 11:23:12 845
原创 学会这7种SQL进阶用法,让你少走99%的弯路!
掌握这几种SQL进阶用法,你将能够更高效地处理各种复杂的数据操作,并少走很多弯路。这些技巧能够提高你的SQL查询能力,使得你在日常的数据处理工作中更得心应手。
2024-03-11 10:01:30 781
原创 聊一聊日常开发中如何优雅的避免那无处不在的空指针异常
NullPointerException是Java编程中的常见问题,源自对象引用为空时的操作。我们可以使用进行非空检查、使用Optional类以及采用Null安全注解以及使用检查工具等方式避免
2024-03-08 15:18:52 831
原创 自定义Mybatis的TypeHandler,轻松应对Mysql的JSON类型
本文的介绍了TypeHandler的基础知识、自定义方法、高级应用,展示了如何处理常见数据类型和特殊数据格式。使用TypeHandler可以灵活处理数据转换,提高系统性能和扩展性。
2024-03-07 09:47:54 799
原创 提升Spring Boot应用性能的秘密武器:揭秘@Async注解的实用技巧
SpringBoot中@Async注解的原理、使用及注意事项。利用AOP和任务执行器提升并发能力。需注意避免异步方法相互调用、合理配置线程池、异常处理、Spring上下文丢失及事务交互。优化应用程序性能和并发处理能力。
2024-03-05 17:51:03 826
原创 玩转SpringBoot:动态排除Starter配置,轻松部署
学习如何在Spring Boot项目中排除Starter自动配置类,根据不同环境动态排除配置,灵活控制Bean的创建和配置的应用。
2024-03-04 09:09:10 871
原创 华为二面:SpringBoot如何自定义Starter?
Spring Boot的自动配置机制为开发人员提供了一种轻松集成和配置各种功能的便捷方式。然而,随着项目的复杂性增加,更好地组织和分享通用功能变得至关重要。自定义Starter成为了理想的解决方案,旨在简化项目的依赖管理和自动配置,使开发者能够迅速而灵活地集成特定的功能模块。
2024-02-21 10:04:24 892
原创 解锁Mysql中的JSON数据类型,怎一个爽字了得
面对数据结构的复杂多变,解锁使用MySql的JSON数据类型,灵活处理非结构化或半结构化数据的存储和处理。
2024-02-20 15:37:12 874
原创 提高Java开发生产力,我选Stream API,真香啊
本文深入介绍了Java 8的Stream API,包括创建、中间操作、终端操作等,强调了并行流在大数据处理中的性能提升。提供清晰实用的示例,为读者理解流式计算提供有益指导。
2024-02-19 09:59:35 767
原创 SpringBoot + LiteFlow:轻松应对复杂业务逻辑,简直不要太香!
LiteFlow是一个非常强大的现代化的规则引擎框架,融合了编排特性和规则引擎的所有特性。它是一个编排式的规则引擎框架,组件编排,帮助解耦业务代码,让每一个业务片段都是一个组件。
2024-02-04 10:25:26 969
原创 阿里二面:SpringBoot同时可以处理多少个请求?直接懵了。。。
SpringBoot同时可以处理多少个请求,依赖于其内嵌的Servlet容器处理请求的能力
2024-01-30 13:07:15 911
原创 SpringBoot统一结果返回,统一异常处理,大牛都这么玩
深入解析SpringBoot应用中的异常处理,涵盖全局与局部机制。从统一响应到详细错误日志,提供最佳实践。全局处理确保一致性,局部处理满足个性化需求。通过综合运用,优化应用稳定性和可维护性。
2024-01-29 13:22:44 930
原创 面试官:Mysql中EXISTS与IN的使用有哪些差异
文章深入研究Mysql查询中IN与EXISTS子查询的性能选择。建议在大表驱动小表时选用IN,小表驱动大表时选择EXISTS。性能取决于数据规模和索引。
2024-01-29 13:18:27 867
原创 面试官:Mysql千万级大表如何进行深度分页优化
本文介绍了如何通过子查询优化深度分页查询,以减少回表操作带来的性能损耗。传统的深度分页查询往往会面临严重的性能问题,尤其在处理大量数据时更是如此。
2024-01-29 13:16:11 755
原创 Java编程的利器:Pair和Triple无缝解决多值返回问题,助力编写高效代码
Pair和Triple类是commons-lang3库提供的实用工具,可以方便地将多个值组合在一起,实现多个返回值的效果,提高了代码的可读性和可维护性,使得处理多值情景更加轻松。
2024-01-26 22:08:43 977
原创 乖乖,咱不用BeanUtil.copy了,咱试试这款神级工具(超详细)
MapStruct是Java编译时生成对象映射代码的工具,通过注解简化Bean间的转换。它自动创建映射接口实现,提高效率与性能,优于手动或运行时反射映射,并支持自定义逻辑配置,适用于多种框架,提升开发和维护体验。
2024-01-26 22:04:52 863
原创 SpringBoot责任链与自定义注解:优雅解耦复杂业务
使用Spring Boot整合@Qualifier、自定义注解、责任链和策略模式,实现业务逻辑高度解耦。责任链模式将不同规则下的业务节点清晰分离,提升代码可读性。采用策略模式简化规则处理,带来更灵活的业务扩展。
2024-01-24 17:31:08 1042
原创 推荐几款IDEA插件,助你玩转Mybatis开发
介绍几款IDEA中开发MyBatis所用的插件,助力开发者轻松高效。自动生成代码,可视化配置,为MyBatis开发提供卓越便利。
2024-01-17 22:58:35 1490 2
原创 拥抱Guava之集合操作
深入了解Google Guava库的集合操作功能,本文介绍了其强大的特性,包括不可变集合和高效工具类。通过实例演示,为Java开发者提供全面的集合操作解决方案
2024-01-10 19:00:14 982
原创 拥抱Guava之字符串操作
本文深度剖析Guava库的字符串处理工具,从基础的判空和拆分到高级的不可变字符串。详解Splitter、Joiner和CharMatcher等工具的使用,强调Guava在大规模数据处理上的性能优势。通过实例和性能考虑,引导开发者充分利用Guava,提高代码效率和可维护性。
2024-01-10 18:58:40 1045
原创 Java虚拟机类加载机制探究:生命周期、初始化、使用与验证
深度解析Java虚拟机中类的生命周期,包括加载、验证、初始化等阶段。强调主动和被动使用触发条件,总结类加载器类型和获取方法。
2024-01-10 18:25:27 885
原创 Java线程池最全详解
Java线程池是多线程编程中的重要工具,能够有效管理和复用线程,提高系统性能和资源利用率。本文深入探讨了线程池的基础概念、工作原理、参数配置、自定义以及使用示例,并强调了注意事项。
2024-01-10 18:23:03 842
原创 公司新来的同事给出了if-else优化的8种方案
优化庞大if-else语句的多种方法,包括提前return、枚举、Optional、表驱动、策略模式+工厂模式、规则引擎等,强调选择最适合项目的方案,提高代码清晰性、灵活性和维护性。
2024-01-10 17:56:46 862
原创 面试官:请说一下Mysql中count(1)、count(*)以及count(列)的区别?
本文深度解析MySQL的COUNT(1), COUNT(*),COUNT(列)计数方式,强调COUNT(*)的广泛应用与InnoDB存储引擎的优化。通过性能比较,揭示COUNT(id)在索引下的性能,通过技术细节揭示MySQL查询优化器的工作原理,最终总结适用场景,为读者提供计数方式选择的指导。
2024-01-10 17:47:45 968 1
原创 新来的一个同事,把SpringBoot参数校验玩的那叫一个优雅
Spring Boot Validation简化参数校验,整合Bean Validation,支持分组验证。包括@Validated注解、各种验证注解,提高代码质量和可维护性。
2024-01-10 17:42:38 728
原创 基于Apache的poi对导出Excel封装的Util
主要利用了Java反射,导出时不需要在关注单元格、单元格对应的描述、以及单元格的值之间的对应关系。 util方法如下: /** * 导出发票信息到excel * * @param dataList 发票信息list * @param response * @param title 工作表标题 * @param co...
2018-05-13 22:36:31 956 1
原创 Redis初探08——Redis的高级实用特性
一、安全性 设置客户端连接后进行任何其他指定前需要使用的密码。 警告:因为redis速度相当快,所以一台比较好的服务器,一个外部用户可以在一秒钟进行15万次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解。 1、设置redis密码: 在etc下的redis.conf文件中找到requirepass(vi命令下的搜索关键字:按下/后输入关键字) 在requirepass后跟
2017-04-28 00:52:55 1264
原创 Redis初探07——Redis常用命令
一、键值相关命令: 1、keys 返回满足给定pattern的所有的key。(*代表所有的key)127.0.0.1:6379> keys * 1) "list12" 2) "myset4" 3) "age" 4) "list2" 5) "key2" 6) "myset5" 7) "myset3" 8) "haircolor" 9) "list9"10) "agee"11)
2017-04-28 00:47:47 445
原创 java中高级面试题
面试问题:一、Java基础方面: 1、Java面相对象的思想的理解(主要是多态): http://blog.csdn.net/zhaojw_420/article/details/704776362、集合:ArrayList,LinkedList,HashMap,LinkedHashMap,ConcurrentHashMap,HashTable,HashSet的底层源码实现原理3、Java虚拟机
2017-04-28 00:32:52 19997 1
转载 大型网站应用之高并发情况下的解决方案
高并发情况下的解决方案:1. 应用程序和静态资源文件进行分离;2. 页面缓存;3. 集群与分布式;4. 反向代理;5. CDN;1、应用程序和静态资源文件进行分离 所谓的静态资源就是我们网站中用到的Html、Css、Js、Image、Video、Gif等静态资源。应用程序和静态资源文件进行分离也是常见的前后端分离的解决方案,应用服务只提供相应的数据服务,静态资源部署在指定的服务
2017-04-28 00:28:57 2366
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人