云时代的 JVM 原理与实战
康杨
京东资深架构师
3111 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 39 讲
云时代的 JVM 原理与实战
15
15
1.0x
00:00/00:00
登录|注册

17|偷龙转凤:JVM中的扩展之道

你好,我是康杨,今天我们一起来聊聊 JVM 为我们提供的扩展机制。
前面我们介绍了 JVM 的对象模型、类加载机制、SPI 等,这些都是 JVM 为了帮助我们写出更优雅的 Java 程序所提供的各种功能。但是掌握这些功能,了解它们背后的原理,还远远没办法支撑我们写出满足复杂的生产环境要求的代码。在这个越来越复杂,发展越来越快的时代,业务对我们的要求已经变成了怎么在实现既定功能的基础上,让程序具备稳定性、灵活性和扩展性,所以,今天我们一起来聊聊 JVM 的扩展之道。

扩展之道

Java 扩展机制是一个非常丰富而又深奥的知识领域,涉及了 Java 语言的核心特性,间接地决定了 Java 生态系统的丰富程度。
简单来说,扩展机制是一种用来增加或修改系统功能的机制,而不需要改动系统的主体结构。在 Java 中,常见的扩展机制有接口、抽象类、反射、SPI 等。
扩展机制的作用是什么呢?其实在软件开发中,我们经常需要为程序增加新的功能或者修改已有的功能。如果没有扩展机制,我们就需要修改原有的代码,这样会增加出错的可能性,而且这样操作也“不符合对修改关闭,对扩展开放”的开闭原则。扩展机制正好可以帮助我们避免这个问题,它允许我们在不改变原有代码的基础上进行功能的扩展
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

JVM的扩展机制是Java编程中的重要组成部分,包括接口、抽象类和反射等机制。这些机制为面向接口编程提供了基础,使得Java具有更强的灵活性。文章通过实际代码示例,介绍了如何使用这些扩展机制来实现购物车服务的不同功能,以及如何在运行时动态选择合适的购物车服务。SPI机制允许动态发现和使用所有可用的优惠策略,为服务的扩展提供了简单而强大的方式。然而,需要谨慎使用SPI机制,因为所有的实现都会被预先加载和实例化,可能会出现预料之外的行为。总的来说,掌握和理解这些扩展机制有助于更好地编写满足实际需求的代码,同时也有助于更深入地理解Java语言的设计原理和理念。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《云时代的 JVM 原理与实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • peter
    请教老师两个问题: Q1:什么样的场景不适合用反射? Q2:SPI会有什么意料之外的行为?

    作者回复: 反射和SPI其实在框架类应用比较多,如果只是日常业务系统开发,要关注必要性和性能,但是深刻理解和掌握会帮助我们更好的读懂框架类系统的源码

    2023-09-28归属地:北京
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部