java进阶知识点

java回收机制

浅谈java中的反射

依赖注入的简单理解

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

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

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

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

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

优势:多线程安全性

类加载中体现的安全性

使用常量池节省空间

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

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

相关推荐
数据知道3 分钟前
claw-code 源码分析:大型移植的测试哲学——如何用 unittest 门禁守住「诚实未完成」的口碑?
开发语言·python·ai·claude code·claw code
Stella Blog5 分钟前
狂神Java基础学习笔记Day01
java·笔记·学习
李白的天不白6 分钟前
java处理跨域请求
java
云烟成雨TD10 分钟前
Spring AI Alibaba 1.x 系列【11】Spring AI Models 扩展:DashScope
java·人工智能·spring
小堃学编程11 分钟前
【项目实战】基于protobuf的发布订阅式消息队列(2)—— 线程池
java·开发语言
每日任务(希望进OD版)17 分钟前
线性DP、区间DP
开发语言·数据结构·c++·算法·动态规划
怨言.18 分钟前
Java内部类详解:从基础概念到实战应用(附案例)
java·开发语言
AC赳赳老秦19 分钟前
OpenClaw image-processing技能实操:批量抠图、图片尺寸调整,适配办公需求
开发语言·前端·人工智能·python·深度学习·机器学习·openclaw
XiYang-DING20 分钟前
【Java】 Java 集合框架
java·开发语言
charlie11451419121 分钟前
嵌入式C++教程实战之Linux下的单片机编程(9):HAL时钟使能 —— 不开时钟,外设就是一坨睡死的硅
linux·开发语言·c++·单片机·嵌入式硬件·c