java进阶知识点

java回收机制

浅谈java中的反射

依赖注入的简单理解

通过接口的引用和构造方法的表达,将一些事情整好了反过来传给需要用到的地方~

这样做得好处:做到了单一职责,并且提高了复用性,解耦了之后,任你如何实现,使用接口的引用调用的方法,永远不需要改变

String为什么要设计成不可变的?

首先,String类是用final关键字修饰,这说明String不可继承。

其次,String类的主力成员字段value是个char[]数组,而且是用final修饰的。final修饰的字段创建以后就不可改变

优势:多线程安全性

类加载中体现的安全性

使用常量池节省空间

不可变对象天生就是线程安全的

缺点:会制造大量垃圾,由于他们不能被重用而且对于它们的使用就是"用"然后"扔",字符串就是一个典型的例子,它会创造很多的垃圾,给垃圾收集带来很大的麻烦。当然这只是个极端的例子,合理的使用不可变对象会创造很大的价值。

相关推荐
西门吹-禅5 分钟前
【sap fiori cds up error】
java·服务器·sap cap cds
码码哈哈0.011 分钟前
LangChain 快速入门(从0到可用)
开发语言·python·langchain
熊文豪25 分钟前
Java 入门指南
开发语言·python
敲代码的嘎仔28 分钟前
Java后端面试——SSM框架面试题
java·面试·职场和发展·mybatis·ssm·springboot·八股
大傻^43 分钟前
Spring AI Alibaba RAG实战:基于向量存储的检索增强生成
java·人工智能·spring
大傻^1 小时前
Spring AI Alibaba 快速入门:基于通义千问的AI应用开发环境搭建
java·人工智能·后端·spring·springai·springaialibaba
小菜鸡桃蛋狗1 小时前
C++——类和对象(上)
开发语言·c++
伯恩bourne1 小时前
Google Guava:Java 核心工具库的卓越之选
java·开发语言·guava
2401_879503411 小时前
C++中的观察者模式变体
开发语言·c++·算法
小王不爱笑1321 小时前
Spring 基础核心
java