java进阶知识点

java回收机制

浅谈java中的反射

依赖注入的简单理解

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

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

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

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

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

优势:多线程安全性

类加载中体现的安全性

使用常量池节省空间

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

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

相关推荐
二月夜1 天前
剖析Java正则表达式回溯问题
java·正则表达式
xuhaoyu_cpp_java1 天前
项目学习(三)分页查询
java·经验分享·笔记·学习
想吃火锅10051 天前
【leetcode】405.数字转换为十六进制数js
开发语言·javascript·ecmascript
程序员二叉1 天前
【Java】集合面试全套精讲|HashMap/ArrayList高频考点完整版
java·面试·哈希算法
专注VB编程开发20年1 天前
AI 生成C# WinForm 窗体 = 目前就是垃圾
开发语言·人工智能·c#
cfm_29141 天前
JVM GC垃圾回收初步了解
java·开发语言·jvm
心之伊始1 天前
LangChain4j RAG 实战:Java 后端如何把本地文档接入 Embedding 检索链路
java·架构·源码分析·csdn
~小先生~1 天前
Python从入门到放弃(一)
开发语言·python
许彰午1 天前
17_synchronized关键字深度解析
java·开发语言
z落落1 天前
C# 泛型接口和泛型类+泛型约束
开发语言·c#