java基础
2024-10-20 20:39:50 4 举报
AI智能生成
java基础
作者其他创作
大纲/内容
java语言细节
构造器不能被重写,可以被重载,
重载根据入参不同处理不同,重写直接覆盖父类的方法
成员变量属于类或示例,局部变量属于方法和参数
==判断引用地址是否相等,equals判断值是否相等
hashcode先判断是否相等,相等了再用equals判断
final是修饰符,finally是执行流程,finalize是释放特定资源的方法
强引用不会被回收,弱引用可以被手动回收,虚引用随时被回收
动态代理
反射就是在程序运行中获取或直接操作类对象
动态代理就是反射的应用,动态调用或构建的机制,如aop
用setassisiable可以强行赋值,对目标调用不直接发生
静态代理需要手写代理类或者用工具生成,动态代理自动生成代理对象
java特性
跨平台性,一次编写处处运行
jvm自动回收垃圾,不用担心内存泄漏
jre包含jvm和类库,jdk包含jre和诊断工具编译器
.java先编译成.class文件,再由jvm加载解释成字节码
字符串
字符串常量池,存储常量引用地址
string的拼接额外动态开辟内存,buffer线程安全,builder线程不安全
new一个string涉及两个对象,一个常量池实例,一个堆初始化
基本数据类
vector提供的是早期线程安全的动态数组,arrylist是线程安全的,linklist是链表构成的线程不安全
hatable是早期提供的哈希表,hashmap线程不安全,支持null,
treemap基于红黑树,基于顺序访问的哈希表
hashset的底层就是直接用的hashmap,将键值搞成虚拟值
hashmap的数据容量根据负载因子进行动态扩容
hashmap底层由链表加红黑树,长度8以下退化成链表
0 条评论
下一页