java
文章平均质量分 82
逆风飞扬z
这个作者很懒,什么都没留下…
展开
-
ArrayList为什么不是线程安全的,如何保证线程安全?
CopyOnWriteArrayList的写操作与Vector的遍历操作性能消耗尤其严重,不推荐使用。CopyOnWriteArrayList适用于读操作远远多于写操作的场景。Vector读写性能可以和Collections.synchronizedList比肩,但Collections.synchronizedList不仅可以包装ArrayList,也可以包装其他List,扩展性和兼容性更好。原创 2023-03-22 15:22:25 · 3110 阅读 · 0 评论 -
线程池的基本原理
线程池转载 2022-12-23 16:22:18 · 64 阅读 · 0 评论 -
Effective Java 总结笔记
Effective Java 总结笔记第二章创建和销毁对象第三章对于所有的对象都有通用的方法第四章类和接口第五章C语言结构的代替第六章方法第7章通用程序设计第8章异常第9章线程第10章序列化第二章创建和销毁对象大数操作可以使用BigInteger操作大整数可以使用BigDecimal指定小数的保留位数现在我们来看一道华为的机试题:写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )package huawei.job;import java.io.Buf原创 2021-01-26 13:06:09 · 299 阅读 · 0 评论 -
HashMap底层执行原理
HashMap底层执行原理HashMap结构Hash算法Hash冲突扩容红黑树HashMap结构HashMap结构:数组+链表+红黑树(JDK1.8)特点:快速存储;快速查找(复杂度O(1));可伸缩Hash算法Hash算法:所有对象都有HashCode(使用key)Hash计算:(hashCode)^(hashCode>>>16)数组下标计算:数组默认大小16数组下标:hash&(16-1) = hash%16Hash冲突Hash冲突:不同对象计算出来的下标相原创 2021-01-26 12:56:22 · 91 阅读 · 1 评论 -
100个高质量Java开发者博客
本文的主要目的是收集全球范围内100个高质量Java开发者博客。其中会有一些博客并不是由纯粹的Java开发者撰写的,但是Java开发者们能够从中发现一些有用的或者有趣的东西。阅读这些博客将会非常有趣,有时会给你带来一些新鲜的想法。Google的排名算法中,大型网站的排位会比较高。这对一些小型的高质量博客来说并不公平。有些站点的流量非常大,但是质量并不高。我对高质量的定义是:文章具有可读性并且是原创...转载 2021-01-26 12:38:14 · 87 阅读 · 0 评论 -
Java中的锁
公平锁和非公平锁点击打开链接公平锁是指多个线程在等待同一个锁时,必须按照申请锁的先后顺序来一次获得锁。公平锁的好处是等待锁的线程不会饿死,但是整体效率相对低一些;非公平锁的好处是整体效率相对高一些,但是有些线程可能会饿死或者说很早就在等待锁,但要等很久才会获得锁。其中的原因是公平锁是严格按照请求所的顺序来排队获得锁的,而非公平锁时可以抢占的,即如果在某个时刻有线程需要获取锁,而这个时候刚好锁可用,...转载 2018-04-04 11:33:40 · 106 阅读 · 0 评论 -
Effective Java 总结笔记
第二章创建和销毁对象大数操作可以使用BigInteger操作大整数可以使用BigDecimal指定小数的保留位数现在我们来看一道华为的机试题: 写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )package huawei.job;import java.io.BufferedReader;import java.io.IOException;i...原创 2018-04-04 16:49:09 · 675 阅读 · 0 评论 -
高质量Java开发者博客
本文的主要目的是收集全球范围内100个高质量Java开发者博客。其中会有一些博客并不是由纯粹的Java开发者撰写的,但是Java开发者们能够从中发现一些有用的或者有趣的东西。阅读这些博客将会非常有趣,有时会给你带来一些新鲜的想法。Google的排名算法中,大型网站的排位会比较高。这对一些小型的高质量博客来说并不公平。有些站点的流量非常大,但是质量并不高。我对高质量的定义是:文章具有可读性并且是原创...转载 2018-05-02 09:57:11 · 111 阅读 · 0 评论