java核心知识
文章平均质量分 55
java的基础知识
Spring......
热爱软件行业
展开
-
HashMap扩容源码分析
扩容resize方法HashMap底层哈希桶的数据结构是数组,所以也会涉及到扩容的问题。当HashMap的容量达到threshold域值时,就会触发扩容。扩容前后,哈希桶的长度一定会是2的次方。那么到底是怎么扩容的呢?又有哪些精妙的设计呢?一起来看看源码吧final Node<K,V>[] resize() { //oldTab 为当前表的哈希桶 Node<K,V>[] oldTab = table; //当前哈希桶的容量 len原创 2022-04-14 11:21:23 · 754 阅读 · 0 评论 -
从int和Integer了解自动装箱、自动拆箱制
int 是java的8个原始数据类型(boolean、byte 、short、char、int、float、double、long)之一。Java 语言虽然号称一切都是对象,但原始数据类型是例外。Integer 是 int 对应的包装类,它有一个 int 类型的字段存储数据,并且提供了基本操作,比如数学运算、int 和字符串之间转换等。在 Java 5 中,引入了自动装箱和自动拆箱功能(boxing/unboxing),Java 可以根据上下文,自动进行转换,极大地简化了相关编程。关于 Integer原创 2020-06-10 20:29:06 · 516 阅读 · 0 评论 -
java中的四种引用类型
四中引用类型的介绍强引用所谓强引用(“Strong” Reference),就是我们常见的普通对象引用。只要有强引用指向一个对象,就表明这个对象还活着,垃圾收集器不会回收这类对象。对于一个普通对象,只要没有其他引用引用关系,超过了引用的作用域或则显式的将引用赋值为null,就可以被垃圾收集器收集了强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下: Obje...原创 2020-01-15 14:56:22 · 160 阅读 · 0 评论 -
final、finally、finalize的区别
final、finally、finalize有什么区别?典型的回答final可以用来修饰类、变量、方法,分别有不同的含义。final修饰类时,该类不可被继承。final修饰变量时该变量不可被修改。final修饰方法时,该方法不可被重写。finally是java中保证关键代码一定被执行的一种机制。我们可以使用try-finally、try-catch-finally来关闭io流、JDBC链接...原创 2019-12-02 17:35:56 · 277 阅读 · 0 评论 -
Exception和Error的区别
java提供了相对完善的异常处理机制,大大降低了编写和维护可靠程序的门槛。今天来聊一下Exception和Error有什么区别?。典型的回答Exception和Error都继承了Throwable类,在java中只有Throwable类型的示例才可以被抛出或者捕获。Exception是程序正常运行中的意外情况,可以被捕获,做相应的处理。Exception 又分为可检查(checked)异常...原创 2019-11-25 19:22:02 · 175 阅读 · 0 评论 -
谈谈你对java平台的理解
从你接触 Java 开发到现在,你对 Java 最直观的印象是什么呢?是它宣传的 “Complier once, run anywhere”,还是目前看已经有些过于形式主义的语法呢?你对于 Java 平台到底了解到什么程度?请你先停下来总结思考一下。今天的问题是:谈谈你对java的理解,java是“解释执行”这句话对吗?先科普下什么是“解释执行”? 什么是“编译执行”?解释执行解释执行...原创 2019-11-15 19:28:31 · 475 阅读 · 0 评论