随笔分类 -  Java

1
摘要:美团一面:什么是CAS?有什么优缺点?我说我只用过AtomicInteger。。。。Java中的CAS原理是什么?它有什么优缺点?什么是ABA问题?如何解决? 阅读全文
posted @ 2024-06-03 15:13 码农Academy 阅读(1115) 评论(1) 推荐(3) 编辑
摘要:京东二面:Sychronized的锁升级过程是怎样的Java中Synchronized锁升级通过偏向锁、轻量级锁到重量级锁的动态转变,优化了多线程同步性能。偏向锁减少无竞争场景的开销,轻量级锁借助CAS与自旋优化低竞争环境,重量级锁确保高竞争下的互斥性。合理设计并发模型,监控锁状态并结合其他并发工具以充分利用锁升级优势。 阅读全文
posted @ 2024-05-21 16:38 码农Academy 阅读(912) 评论(0) 推荐(2) 编辑
摘要:争论不休的一个话题:金额到底是用Long还是BigDecimal?让我们来争论一下:金额到底是用Long还是BigDecimal? 阅读全文
posted @ 2024-04-18 09:46 码农Academy 阅读(4043) 评论(15) 推荐(11) 编辑
摘要:美团一面:说说synchronized的实现原理?问麻了。。。。`synchronized`作为Java并发编程的基础构建块,其简洁易用的语法形式背后蕴含着复杂的底层实现原理和技术细节。深入理解`synchronized`的运行机制,不仅有助于我们更好地利用这一特性编写出高效且安全的并发程序。 阅读全文
posted @ 2024-04-08 09:50 码农Academy 阅读(886) 评论(0) 推荐(1) 编辑
摘要:提高生产力!这10个Lambda表达式必须掌握,开发效率嘎嘎上升!熟练运用Lambda表达式能够显著提升代码质量与开发效率,使得代码逻辑更加简明扼要,同时也增强了程序的可读性与维护性。不断学习和实践这些技巧,你的开发效率必将迎来质的飞跃 阅读全文
posted @ 2024-04-03 09:35 码农Academy 阅读(1557) 评论(1) 推荐(3) 编辑
摘要:阿里二面:Java中锁的分类有哪些?你能说全吗?本文主要讲述Java中各类锁机制的特点,包括重入锁、悲观/乐观锁、偏向/轻量级/重量级锁、分段锁和自旋锁,阐述其优缺点及一些适用场景。 阅读全文
posted @ 2024-03-25 09:43 码农Academy 阅读(2193) 评论(0) 推荐(2) 编辑
摘要:阿里二面:谈谈ThreadLocal的内存泄漏问题?问麻了。。。。ThreadLocal为各线程提供独立变量副本以实现数据隔离。内部采用ThreadLocalMap关联弱引用键与强引用值,易引发内存泄漏,需适时调用remove方法避免。 阅读全文
posted @ 2024-03-24 11:08 码农Academy 阅读(828) 评论(0) 推荐(1) 编辑
摘要:美团一面:说一说Java中的四种引用类型?Java四种引用类型:强、软、弱、虚。它们的作用和使用场景各不相同,能够满足不同的内存管理需求。 阅读全文
posted @ 2024-03-22 11:12 码农Academy 阅读(931) 评论(1) 推荐(1) 编辑
摘要:Java22重磅发布!!!!卷不动了,真的卷不动了。。。。3月19日,Java22重磅发布。Java22新增了12项增强功能,其中包括七个预览特性和一个孵化器特性,这些功能都显著到足以引起JDK增强提案(JEPs)的关注。它们涵盖了Java语言、其API、性能以及JDK中包含的工具的改进。 阅读全文
posted @ 2024-03-21 15:51 码农Academy 阅读(1673) 评论(5) 推荐(1) 编辑
摘要:还在用Calendar操作Date?Java8都弃用了,还不知道它的这款强大的工具吗?本文深入探讨了Java 8引入的全新日期时间API相较于传统的Date和Calendar类的优势及实际应用。鉴于Java 8新日期时间API在设计上的先进性和易用性,我们强烈建议开发者积极采纳并替换掉陈旧的Date和Calendar类,转而采用如LocalDate、LocalDateTime、ZonedDateTime等现代日期时间类。 阅读全文
posted @ 2024-03-18 13:12 码农Academy 阅读(1002) 评论(2) 推荐(2) 编辑
摘要:阿里一面:Java中如何停止线程?在Java多线程编程中,正确且安全地停止线程是一项关键技能。简单粗暴地“杀死”线程不仅可能导致数据不一致性,还可能引发各种难以预测的错误。 阅读全文
posted @ 2024-03-14 09:47 码农Academy 阅读(561) 评论(0) 推荐(0) 编辑
摘要:阿里二面:如何定位&避免死锁?连着两个面试问到了!什么是死锁?死锁问题该如何定位?如何避免死锁?本文从这几个问题入手,详细的解释了死锁。 阅读全文
posted @ 2024-03-13 09:59 码农Academy 阅读(1468) 评论(0) 推荐(1) 编辑
摘要:聊一聊Integer的缓存机制问题Integer缓存机制是Java中的一项性能优化措施,通过缓存一定范围内的整数对象,减小内存开销,提高性能 阅读全文
posted @ 2024-03-06 10:21 码农Academy 阅读(581) 评论(0) 推荐(1) 编辑
摘要:乖乖,咱不用BeanUtil.copy了,咱试试这款神级工具(超详细)MapStruct是Java编译时生成对象映射代码的工具,通过注解简化Bean间的转换。它自动创建映射接口实现,提高效率与性能,优于手动或运行时反射映射,并支持自定义逻辑配置,适用于多种框架,提升开发和维护体验。 阅读全文
posted @ 2024-03-05 09:57 码农Academy 阅读(557) 评论(0) 推荐(0) 编辑
摘要:Java编程的利器:Pair和Triple无缝解决多值返回问题,助力编写高效代码Pair和Triple类是commons-lang3库提供的实用工具,可以方便地将多个值组合在一起,实现多个返回值的效果,提高了代码的可读性和可维护性,使得处理多值情景更加轻松。 阅读全文
posted @ 2024-03-04 08:58 码农Academy 阅读(1814) 评论(0) 推荐(1) 编辑
摘要:聊一聊日常开发中如何优雅的避免那无处不在的空指针异常NullPointerException是Java编程中的常见问题,源自对象引用为空时的操作。我们可以使用进行非空检查、使用Optional类以及采用Null安全注解以及使用检查工具等方式避免 阅读全文
posted @ 2024-03-01 09:36 码农Academy 阅读(1205) 评论(0) 推荐(3) 编辑
摘要:求求你别再用OkHttp调用API接口了,快来试试这款HTTP客户端库吧Retrofit是一个基于OkHttp的高效网络库,通过将HTTP请求转化为接口调用,极大地简化了Java应用与RESTful API的交互。它利用注解定义API、处理同步异步请求,并自动完成JSON数据转换。此外,Retrofit具备高度扩展性,可集成RxJava等库应对复杂网络场景。 阅读全文
posted @ 2024-02-29 15:46 码农Academy 阅读(1086) 评论(0) 推荐(2) 编辑
摘要:提高Java开发生产力,我选Stream API,真香啊本文深入介绍了Java 8的Stream API,包括创建、中间操作、终端操作等,强调了并行流在大数据处理中的性能提升。提供清晰实用的示例,为读者理解流式计算提供有益指导。 阅读全文
posted @ 2024-02-19 09:58 码农Academy 阅读(1520) 评论(0) 推荐(6) 编辑
摘要:重温Java基础(二)之Java线程池最全详解Java线程池是多线程编程中的重要工具,能够有效管理和复用线程,提高系统性能和资源利用率。本文深入探讨了线程池的基础概念、工作原理、参数配置、自定义以及使用示例,并强调了注意事项。 阅读全文
posted @ 2024-01-31 15:51 码农Academy 阅读(229) 评论(0) 推荐(0) 编辑
摘要:代码整洁之道(一)之优化if-else的8种方案优化庞大if-else语句的多种方法,包括提前return、枚举、Optional、表驱动、策略模式+工厂模式、规则引擎等,强调选择最适合项目的方案,提高代码清晰性、灵活性和维护性。 阅读全文
posted @ 2024-01-30 11:15 码农Academy 阅读(2432) 评论(4) 推荐(3) 编辑

1