2019年4月23日

fail-fast和fail-safe的区别

摘要: fail-fast(快速失败):多线程情况下,一个线程通过迭代器读取集合中的值时,另一个线程修改了集合,则会抛出ConcurrentModificationException异常; 集合中通过modCount记录集合被修改的次数,每次执行next和remove方法的时候都会先检查这个modCount 阅读全文

posted @ 2019-04-23 18:31 楼兰剑客 阅读(179) 评论(0) 推荐(0) 编辑

线程的状态及其转换

摘要: 新建(new):新创建了一个线程对象。 可运行(就绪)(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu的使用权。 运行(running):可运行状态(runnable)的线程获得了cpu 阅读全文

posted @ 2019-04-23 18:30 楼兰剑客 阅读(293) 评论(0) 推荐(0) 编辑

hashCode 与 equals

摘要: 面试官可能会问你:“你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?” hashCode()介绍 hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。hashC 阅读全文

posted @ 2019-04-23 18:28 楼兰剑客 阅读(134) 评论(0) 推荐(0) 编辑

Java成员变量与局部变量的区别

摘要: 从语法形式上看,成员变量是属于类的,而局部变量是在方法中定义的变量或是方法的参数;成员变量可以被public,private,static等修饰符所修饰,而局部变量不能被访问控制修饰符及static所修饰;但是,成员变量和局部变量都能被final所修饰。 从变量在内存中的存储方式来看,成员变量是对象 阅读全文

posted @ 2019-04-23 18:26 楼兰剑客 阅读(145) 评论(0) 推荐(0) 编辑

导航