Java基础常问问题 一
来源:互联网 发布:剑三正太捏脸数据下载 编辑:程序博客网 时间:2024/05/17 09:15
java基础:
java对象的hashcode是怎么算的?
hashCode的常规协定是: http://www.bysocket.com/?p=263
1、在 Java 应用程序执行期间,在对同一对象多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是将对象进行 equals 比较时所用的信息没有被修改。从某一应用程序的一次执行到同一应用程序的另一次执行,该整数无需保持一致。
2、如果根据 equals(Object) 方法,两个对象是相等的,那么对这两个对象中的每个对象调用 hashCode 方法都必须生成相同的整数结果。
3、如果根据equals方法,两个对象不相等,那么对这两个对象中的任一对象上调用 hashCode 方法不 要求一定生成不同的整数结果。但是,程序员应该意识到,为不相等的对象生成不同整数结果可以提高哈希表的性能。
容器:hashmap stringbuffer
hashmap
1 hashmap的数据结构是什么?
是链表组成的数组,数组的下标是索引值,数组的每一项是链表
2 hashmap的原理是什么?
主要是添加索引,把元素按照索引分组
3 hashmap是线程安全的吗?
不是线程安全的,ConcurrentHashMap是线程安全的
4 hashmap中元素的put和get操作原理是什么?
解答:通过hash算法计算index,在index中调用equals方法比较元素的key进行get或者put。
5 hashmap和hashtable的区别是什么?
Hashmap线程不安全,hashtable线程安全。
6 对象的hashCode方法原理是什么,有什么用?
7 StringBuilder和StringBuffer有什么区别,分别是做什么的?
Hashmap的put和get方法参考:
http://yikun.github.io/2015/04/01/Java-HashMap%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86%E5%8F%8A%E5%AE%9E%E7%8E%B0/
- Java基础常问问题 一
- Java基础常问问题 二
- Java Web基础技能常问问题
- Java多线程常问问题(一)
- java常问知识点(一)
- Java多线程常问问题
- 面试常问 Java基础 冒泡排序
- java常问基础面试题
- Java多线程常问问题(二)
- 【转载】java多线程常问问题
- 面试常问问题
- 面试常问问题
- hadoop常问问题
- spring常问问题
- 面试常问问题
- java面试常问的问题,欢迎补充
- JAVA,数据库,分布式程序面试 常问问题
- Java Web开发常问问题 重点概要
- Android长按复制取词功能开源库MarkView,阅读器功能
- 来北京十年,我为什么走上创业这条不归路
- error LNK2038: 检测到“RuntimeLibrary”的不匹配项的解决办法
- ios学习之label的纯代码实现
- Linux系统下,CPU信息详解(cpuinfo,多核,多线程)
- Java基础常问问题 一
- 如何用消息系统避免分布式事务
- maven安装本地jar
- 广播
- SQL IN 操作符 高级教程
- vtso学习
- DXP 快捷键
- Word Pattern
- 使用HTML5中的Canvas实现2D水池效果