![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 55
纵我不往''
这个作者很懒,什么都没留下…
展开
-
多线程下hashmap为什么会死循环
当我们往HashMap中put元素的时候,先根据key的hash值得到这个元素在数组中的位置(即下标),然后就可以把这个元素放到对应的位置中了。如果这个元素所在的位置上已经存放有其他元素了,那么在同一个位子上的元素将以链表的形式存放,新加入的元素放在链头,而先前加入的放在链尾。如果现在size已经超过了threshold,那么就要进行resize操作,新建一个更大尺寸的hash表,然后把数据从老的Hash表中迁移到新的Hash表中。多线程的话如果线程2rehash,可能会出现环形指向。原创 2024-04-03 16:18:43 · 410 阅读 · 0 评论 -
hashmap和hashtable
7.迭代器不同:HashMap的迭代器(Iterator)是fail-fast迭代器,而Hashtable的enumerator迭代器不是fail-fast的。9.同步性不同: Hashtable是同步(synchronized)的,适用于多线程环境,而hashmap不是同步的,适用于单线程环境。而如果没有正确的同步的话,多个线程是不能共享HashMap的。4.初始化容量不同:HashMap 的初始容量为:16,Hashtable 初始容量为:11,两者的负载因子默认都是:0.75。原创 2024-04-03 16:06:41 · 334 阅读 · 0 评论 -
双亲委派机制
当Application ClassLoader 收到一个类加载请求时,他首先不会自己去尝试加载这个类,而是将这个请求委派给父类加载器Extension ClassLoader去完成。保证java核心API不被篡改,提高了安全性(如果有人想篡改String类,类加载器优先让启动加载器加载,发现已经加载过了,就不会再加载)当Extension ClassLoader收到一个类加载请求时,他首先也不会自己去尝试加载这个类,而是将请求委派给父类加载器Bootstrap ClassLoader去完成。原创 2023-08-30 17:03:19 · 505 阅读 · 0 评论 -
自定义注解(Annontation)
注解是用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。是一种说明、配置、描述性的信息,与具体业务无关,也不会影响正常的业务逻辑。注解在Java程序中是作为标记的作用,有特定的程序来发现标记元注解是专门用来注解其他注解的注解,听起来有些绕口,实际上就是专门为自定义注解提供的注解。@Documented – 注解是否将包含在JavaDoc中@Retention – 什么时候使用该注解@Target – 注解用于什么地方。原创 2023-08-09 11:29:06 · 733 阅读 · 0 评论 -
Java反射和代理定义和应用详解
反射就是能够获取类信息的能力给目标对象提供一个代理对象并且由代理对象控制对目标对象的引用。原创 2023-08-09 10:42:59 · 126 阅读 · 0 评论 -
java中的Set及其应用
java中的Set及其应用,HashSet、LinkedHashSet、TreeSet的应用原创 2023-08-04 14:32:04 · 64 阅读 · 0 评论 -
java中list及其应用
java中list的特点及其使用,ArraysList和LinkedList的特点原创 2023-08-04 13:07:00 · 53 阅读 · 0 评论 -
java中Map及其使用
Java中map及其使用,包含hashmap、treemap、tablemap原创 2023-08-04 11:11:54 · 68 阅读 · 0 评论