![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java面试
费马定理
这个作者很懒,什么都没留下…
展开
-
HashTable和HashMap的区别
同步首发:http://www.yuanrengu.com/index.php/2017-01-17.html 如果你去面试,面试官不问你这个问题,你来找我^_^ 下面直接来干货,先说这三个Map的区别: HashTable 底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMa...转载 2018-12-29 14:51:08 · 149 阅读 · 0 评论 -
Iterator和fast-fail机制
在没有Iterator的情况下我们可以用for循环,那为什么我们要使用Iterator呢? 为什么需要迭代器Iterator? 迭代器是一种模式,它可以使得对于序列类型的数据结构的遍历行为与被遍历的对象分离,即我们无需关心该序列的底层结构是什么样子的。只要拿到这个对象,使用迭代器就可以遍历这个对象的内部。这么说到底是什么意思呢。比如我们已经了解了ArrayList和LinkedList集合的内部结...转载 2018-12-29 16:04:02 · 185 阅读 · 0 评论 -
java中的==和equal()比较
浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str2 = new String("hello"); 3 4 System.out.println(str1==str2); 5 System.out.println(str1.equals(...转载 2019-01-01 21:21:12 · 25817 阅读 · 6 评论 -
jvm的栈 堆 和方法区
JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method) 堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身.3.一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。 栈区:1.每个线程包含一个栈...转载 2018-12-30 19:19:58 · 264 阅读 · 0 评论 -
hashCode()和equal()的广关系
参考文章: 从一道面试题彻底搞懂hashCode与equals的作用与区别及应当注意的细节 最近去面试了几家公司,被问到hashCode的作用,虽然回答出来了,但是自己还是对hashCode和equals的作用一知半解的,所以决定把它们研究一下。 以前写程序一直没有注意hashCode的作用,一般都是覆盖了equals,缺没有覆盖...转载 2019-01-01 21:37:48 · 190 阅读 · 0 评论 -
java的参数传递
java参数传递(到底是值传递还是引用传递?) 结论 1、基本类型作为参数传递时,是传递值的拷贝,无论你怎么改变这个拷贝,原值是不会改变的 2、对象作为参数传递时,是把对象在内存中的地址拷贝了一份传给了参数。 Java中的参数传递机制一直以来大家都争论不休,究竟是“传值”还是“传址(传引用)”,争论的双方各执一词,互不相让。不但“菜鸟”们一头雾水,一些“老鸟”也只知道结果却说不出所以然来。我...转载 2019-01-01 22:07:26 · 94 阅读 · 0 评论