您的位置:首页 > 健康 > 养生 > 室内设计师前景怎么样_自己做网站服务器_百度惠生活怎么优化排名_免费b站软件推广网站2023

室内设计师前景怎么样_自己做网站服务器_百度惠生活怎么优化排名_免费b站软件推广网站2023

2025/1/14 11:39:10 来源:https://blog.csdn.net/A_m_of_m/article/details/145123640  浏览:    关键词:室内设计师前景怎么样_自己做网站服务器_百度惠生活怎么优化排名_免费b站软件推广网站2023
室内设计师前景怎么样_自己做网站服务器_百度惠生活怎么优化排名_免费b站软件推广网站2023

final和static对比

static知识点介绍
static代码块当JVM加载类时,static代码块会且只会被执行一次。
可用于优化程序性能。
实例代码块在每次创建对象时,都会自动执行。
static方法static方法中不能使用this和super关键字。
静态内部类静态内部类的创建不需要依赖外部类的创建,
不能使用外部类的非static成员变量和方法。
静态变量被所有对象共享。
访问方式直接使用类名。
final知识点介绍
final量不可变常量,一旦创建,则不可修改。
如果是引用类型的变量,则不能再指向另一个对象。
final方法不能被子类重写(类中的所有private方法,都隐式的被final修饰)。
final类不能被继承,其中所有方法也默认被final修饰
不能修饰构造方法
使用场景把方法锁定,避免任何继承类修改该方法的含义。
提高效率,早期会将final方法转为内嵌调用(已过时)。

接口和抽象类对比

接口知识点
关键字interface、implements
类实现接口一个类可以实现多个接口。
接口可以多继承一个接口可以继承多个接口。
抽象类知识点
关键字abstract
抽象方法只有声明,没有方法体。
注意,抽象类可以没有抽象方法
但有抽象方法,则一定是抽象类。
抽象类用abstract关键字修饰。
不能用来创建对象。
子类继承抽象类时,必须实现其中所有抽象方法。

方法重写

重写知识点
参数一致方法名、参数列表、返回值类型必须全部一致。
访问权限子类方法的访问权限不能小于父类的对应方法。
@Override注解可以不用添加,但不建议。
不能重写的方法静态方法和构造方法不能重写。

final、finally、finalize

final可以用于修饰类、方法、变量。
final方法不能被重写。
final量不能被修改,常量。
final类不能被继承,(String类就是final修饰)。
finally常用于try-catch-finally中
用来关闭某些资源如JDBC连接、文件对象等。
如果执行System.exit(1);,finally中的代码也可能不会被执行。
finalizejava.lang.Object中的一个方法,(已经不推荐使用)
用于保证对象在被垃圾回收之前,完成特定资源的回收。

String类和StringBuffer类

String类
StringBuffer类

HashSet

HashSet添加元素时,如何判断元素是否重复?

hashCode()调用hashCode(),计算元素的哈希值,
哈希值不同的元素一定不同,
哈希值相同的元素,可能相同。
当哈希值相同时,才会调用equals方法进一步判断。

HashMap的底层存储结构

哈希数组+红黑树底层使用长度默认为16的哈希数组,
链表长度等于8且哈希数组的长度大于64时,链表会自动转为红黑树。
补充哈希表的负载因子为0.75,当使用率达到0.75时,会自动扩容。

HashMap和CurrentHashMap

HashMap和CurrentHashMap的区别有哪些?

线程安全HashMap不是线程安全的。
ConcurrentHashMap是线程安全的。
分段锁技术ConcurrentHashMap采用分段锁技术,
分段锁技术将整个Hash桶进行了分段segment,每个segment上都有对应的锁。
增加了锁的粒度,提高了并发性能。

线程安全的集合有哪些?

Vector使用synchronized关键字。
Hashtable使用synchronized关键字。
ConcurrentHashMap分段锁(Segment)
Stack继承于Vector, 栈是后进先出的。
ArrayBlockingQueue阻塞队列,底层使用数组结构。

HashMap的底层原理是什么?如何扩容?如何解决Hash碰撞的?

Exception和Error

Exception继承了Throwable类只有Throwable类的实例才可以被抛出(throw)或捕获(catch)。
可以预料的意外情况。
分为可检查和不可检查两种checked:必须在代码中显式的捕获处理,不处理,则无法编译。
unchecked:运行时异常,非空异常、数组越界异常等。
常见Exception
Error也继承了Throwable类
正常情况下不太可能出现的情况,会导致程序处于非正常的,不可恢复的状态。
常见Error

强引用、软引用、弱引用、幻象引用

不同的引用类型主要体现对象不同的可达性状态和对垃圾收集的影响。
强引用 StrongReference只要还有强引用指向一个对象,那么该对象就不会被垃圾收集器回收。
软引用 SoftReference只有当JVM认为内存不足时,才会试图回收软引用的对象。
确保在抛出OutOfMemoryError之前,清理软引用的对象。
弱引用 WeakReference仅提供一种访问在弱引用状态下对象的途径。
幻象引用仅提供了一种确保对象被finalize之后,做某些事情的机制。
Java的不同可达性级别reachability level
强可达Strongly Reachable一个对象可以有一个或多个线程可以不通过各种引用访问到的情况。
软可达Softly Reachable
弱可达Weakly Reachable
幻象可达Phantom Reachable
不可达unreachable

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com