java面试
青眼酷白龙
这个作者很懒,什么都没留下…
展开
-
java练习
有如下字符串,包含3条关于水果数量的信息“5 西瓜 苹果 蓝莓 苹果 苹果 3 桃 橙子 桃 0”数字代表该数字后面出现的一组信息的水果数量,直到出现0为止,代表信息结束。请输出每组信息中出现次数最多的水果。(假设每组信息都保证有数量最多的1种水果)解答:import java.util.HashMap;import java.util.Map;public class demo3 { public static void main(String[] args) {原创 2020-10-20 00:31:18 · 205 阅读 · 0 评论 -
五种线程创建方式
五种线程创建方式Java 提供了三种创建线程的方法:通过实现 Runnable 接口;通过继承 Thread 类本身;通过 Callable 和 Future 创建线程。还有定时器线程池public class ThreadStartTest { public static void main(String[] args) throws ExecutionException, InterruptedException { System.out.print("主线程(main原创 2020-07-28 23:46:22 · 283 阅读 · 0 评论 -
通过分析 JDK 源代码研究 TreeMap 红黑树算法实现
通过分析 JDK 源代码研究 TreeMap 红黑树算法实现了解 TreeMap 和 TreeSet 以及二者之间的关系TreeMap实现SortedMap接口,能够把它保存的记录根据键排序,默认是按键值的升序排序,也可以指定排序的比较器,但用iterator遍历TreeMap时,得到的记录是排过序的。如果使用排序的映射,建议使用TreeMap。在使用TreeMap时,key必须实现Comparable接口或者在构造TreeMap传入自定义的Comparator,否则会在运行时抛出java.lang原创 2020-07-16 22:48:09 · 95 阅读 · 0 评论 -
java面试之ConcurrentHashMap
ConcurrentHashMapSegment段ConcurrentHashMap和HashMap思路差不多的,但是因为他支持并发操作,所以要复杂一些,整个ConcurrentHashMap由一个个Segment组成,Segment代表“部分” 或者“一段”的意思,所以很多地方都会将其描述为 分段锁。线程安全(Segment继承ReentrantLock加锁)简单理解就是,ConcurrentHashMap是一个segment数组,segment通过继承ReentrantLock来进行加锁,所以每原创 2020-07-16 22:43:32 · 687 阅读 · 0 评论 -
java面试之HashMap
java面试之HashMapHashMap根据键的hashCode值存储数据,大多数情况下可以直接定位到他的值,因而具有很快的访问速度,但遍历顺序却是不确定的。HashMap最多只允许一条记录的键为null,允许多条记录的值为null。HashMap非线程安全,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致,如果需要满足线程安全,可以用Coleections的synchronizedMap方法使HashMap具有线程安全的能力,或者使ConcurrentHashMap。我们用下面这原创 2020-07-16 22:06:50 · 145 阅读 · 0 评论