![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 72
codeMonkey-吉
这个作者很懒,什么都没留下…
展开
-
synchronized同步锁
综上所述, 在sleep休眠过程中,当前线程不会让出持有的(“this”)锁,此时会出现异常情况,只有一个线程在执行,剩余线程处于Blockteb阻塞状态,而在wait计时等待过程中,当前线程会释放锁。思路:将数字,和字母分开,一个线程控制数字输出,另一个线程控制字母输出,即输出数字后,数字线程进入等待,同时唤醒字母线程,反之,输出字母时,字母程进入等待,同时唤醒数字线程。互斥锁实现线程之间的切换,需要从“用户态”切换到“内核态”,付出高昂的代价,会导致性能下降。只有一个线程执行的场景,使用偏向锁;原创 2024-02-28 17:17:56 · 1027 阅读 · 0 评论 -
Map接口的实现类
获取元素:1、get(key) 通过key,获取value;删除元素:1、remove(key) 通过key来 删除整个键值对;2、remove(key,value) 通过key+value 删除整个键值对。键值对存在与否 :1、 containsKey(key)是否存在某个key;替换元素: replace(key, NewValue) 通过key,替换value值。无序、key唯一、value允许重复、key和value允许为null。添加元素:put(K,V)原创 2023-08-14 19:38:16 · 42 阅读 · 0 评论 -
LIST集合常见问题及实现类
ArrayList和LinkedList的区别原创 2023-08-13 23:03:48 · 60 阅读 · 1 评论 -
Map集合
在HashMap的基础上,多维护了一条双向链表,用于存储顺序。键值对集合,集合中按Key-Value键值对方式存储。JDK8+:数组+单向链表+红黑树。按照key排序后存储。原创 2023-08-16 19:38:12 · 32 阅读 · 1 评论 -
求字符串中重复次数的最大值
这里可以使用map集合来实现,将字符串中的每个字符做key,重复次数当做value,这样通过map的value合并 ,即merge()方法实现字符串字符重复次数的获取,此时获取到的是一个map集合。第二种:将键值对作为一个entry对象存入list集合,使用sort方法,排序,完了输出最大value对应的、第一种:将键值对作为一个entry对象存入set集合,调用迭代器,比较每一个entry对象的value大小。map集合是以key的hashcode()来作为存储的依据的,但是我们现在需要比较的是。原创 2023-08-15 19:40:43 · 230 阅读 · 1 评论 -
SET集合
因为,hashCode在底层保存的格式一个int整型数据,而int类型的范围【-2147483648,2147483647】,由于int范围有限,因此,当数据溢出是有可能两个元素 的哈希相等,但是其实两个元素不等,这时,就需要使用equals()来比较两个元素的内容,进一步判断元素是否相等,若返回true ,则相等同一元素,反之,则是不同元素。例如:"重地","通话" 哈希相等,但是元素是不同的两个个体。原创 2023-08-13 23:40:38 · 30 阅读 · 0 评论 -
线程池的常用接口实现及执行流程
4.如果线程池里面存活的线程数已经等于核心线程数了,且阻塞队列已经满了,再会去判断当前线程数是否已经达到最大线程数 maximumPoolSize,如果没有达到,则会调用 addWorker() 方法创建一个非核心线程去执行任务;3.如果工作线程数大于核心线程数,即线程池核心线程数已满,则新任务会被添加到阻塞队列中等待执行,当然,添加队列之前也会进行队列是否为空的判断;2、maximumPoolSize:最大线程数,线程池中最多线程,包含核心线程数,不能小于核心线程数。原创 2024-02-25 23:04:16 · 467 阅读 · 0 评论 -
java中反射详解
反射是Java语法的一种高级特性,在“运行期间”对Java的类型信息进行检查、操作处理。例如:加载JDBC驱动类、MyBatis动态处理resultType、Spring根据配置信息创建Bean对象等使用场景。原创 2024-02-22 18:58:03 · 902 阅读 · 0 评论