面试题
huskyui
如果不想被动,那就主动一点
展开
-
位运算
int func(x) { int countx = 0; while (x) { countx ++; x = x & (x - 1); } return countx; } 假定x = 9999 答案是8 x&(x-1) 求的是二进制转载 2016-11-16 10:16:18 · 258 阅读 · 0 评论 -
exception和error区别
exception和error都是继承throwable类,在java中只有throwable类型可以被throw或者被catch,它是异常处理机制的基本组成类型 error是指正常情况下,不大可能出现的,绝大多数error都会导致程序(比如jvm自身)处于非正常或者不可恢复的状态。比如说OutOfmemoryError exception分为可检查(checked)和不可检查(uncheck...原创 2018-07-10 18:06:41 · 169 阅读 · 0 评论 -
final和finally和finalize之间区别
final: 可以用来修饰类,变量,方法 final类:不可继承扩展 final变量:不可更改 final方法:不可override finally:是java中保证重点代码一定被执行的机制,有try-catch-finally和try-finally 来关闭jdbc连接,保证unlock等动作 try { // do something System.exit(1); }...原创 2018-07-10 18:35:56 · 354 阅读 · 0 评论 -
int 和 Integer 有什么区别?谈谈 Integer缓存值的范围
首先int是原始数据类型,在java中有8个这样的原始数据类型,分别为:int,short,boolean,byte,char,float,double,long。java当中一切皆是对象,但基本数据类型除外。 Integer是int的包装,它有一个int类型的字段存储数据,并且提供了基本操作,比如数学运算,位运算等。在java5中引入了自动装箱,自动拆箱的功能,极大简化了相关编程。 Inte...转载 2018-07-17 14:52:32 · 5275 阅读 · 0 评论 -
对比Vector、ArrayList、LinkedList有何区别
这三者都是实现集合框架的List,也就是所谓的有序集合,因此具体功能都实现了按照位置进行定位,修改,添加或者删除,都提供了迭代器以遍历其内容,但因为具体设计不同,在行为,性能,线程安全等方面,表现又有很大不同。 Vector是java早期提供的线程安全的动态数组,但数据满时,自动扩容,会创建新的数组,并拷贝原有的数组。 ArrayList是应用更广泛的动态数组,它本身是线程不安全的,所以性能会...转载 2018-07-17 16:24:27 · 224 阅读 · 0 评论 -
HashMap存入数据时源码阅读
首先java版本1.8 首先确定的是,HashMap的存储结构 约定在前面的是桶 在桶后面的链表是bin 源码 //hashmap中的put方法 public V put(K key, V value) { return putVal(hash(key), key, value, false, true); } static final int hash(Ob...转载 2018-07-18 18:57:28 · 496 阅读 · 0 评论 -
string,stringBuffer,stringBuilder区别
string public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[]; ...原创 2018-07-12 19:08:48 · 146 阅读 · 0 评论 -
TreeMap源码阅读
基本结构 private final Comparator<? super K> comparator; private transient Entry<K,V> root; //根节点 /** * The number of entries in the tree */ private transien...转载 2018-07-19 12:40:21 · 270 阅读 · 0 评论