摘要:
Array和ArrayList的不同点
Array可以包含基本类型和对象类型,ArrayList只能包含对象类型
Array大小是固定的,ArrayList的大小是动态变化的
Map和ConcurrentHashMap的区别
Map是线程不安全的,put在多线程情况下,会形成环从而导致死循环
Concu... 阅读原文
2020-07-19 20:30:03 阅读(2365) 评论(0)
摘要:
3.4.1 hash map
整体框架是数组结构,每一个位置储存同hashcode的链表与j7对比,j8变更的是,储存的链表改成红黑树,从On时间复杂度降低至Ologn3.4.2 concurrentHashMap不可扩容数组储存16个segment,每个sement为线程安全的数组,每一个数组类似hash ... 阅读原文
2020-07-19 19:19:02 阅读(2684) 评论(0)
摘要:
关注公众号【程序员书单】后回复“book”即可领取30+精品免费电子书
Go 是一种简单、小巧、令人愉悦的语言。它也有一些犄角旮旯,但绝大部分是经过精心设计的。它的学习速度令人难以置信,并且规避了其他语言中一些不那么广为人知的特性。
现如今越来越多的互联网公司开始使用go语言,有的初创公司开始使用go语言... 阅读原文
2020-07-19 19:02:08 阅读(2577) 评论(0)
摘要:
阅读书籍是学习的重要方法之一,而是相对于博客等零散内容来讲读书是更加系统、(时间)成本更低、收获更多的一种学习方式。在阅读书籍,特别是技术类书籍时有些朋友往往会犯一些错误或不知所措。本文给大家分享一些阅读经验。
选书
读书的第一步并不是怎么去读书,而是怎么选书,只有选择了比较好的书,才能事半功倍。
目前选择... 阅读原文
2020-07-19 17:28:06 阅读(2776) 评论(0)
摘要:
阅读原文
2020-07-19 15:59:02 阅读(2610) 评论(0)
摘要:
Semaphore
Semaphore 字面意思是信号量的意思,它的作用是控制访问特定资源的线程数目。应用场景:资源访问,服务限流。
Semaphore 实现AbstractQueuedSynchronizer的方法与ReentrantLock一样
Semaphore构造方法
public Sem... 阅读原文
2020-07-19 14:59:04 阅读(2644) 评论(0)
摘要:
背景
不知道各位在生产日志中定位问题时有没有碰到这样的场景:由于coding的时候日志输出的比较少,出现问题时,很难通过日志去定位到问题。又或者是,你明明coding的时候有输出日志。但是在庞大的日志文件中,由于业务线程并发比较多,你输出的日志又没有加关键信息。你也很难定位到你所需要的日志信息。
之前在公司里... 阅读原文
2020-07-19 13:40:08 阅读(2362) 评论(0)
摘要:
对象属性拷贝
1、这四种对象属性拷贝方式,你都知道吗?
示例代码
该部分测试代码
完整代码地址
2、领域模型转换那些事儿
3、Java Bean Copy 性能大比拼、bean 拷贝工具
阅读原文
2020-07-19 12:33:01 阅读(2383) 评论(0)
摘要:
JAVA集合Set 交集、差集、并集
/**
* Created by yuhui on 2017/7/11 0011.
*/
import java.util.HashSet;
import java.util.Set;
public class TestSet {
public st... 阅读原文
2020-07-19 11:37:20 阅读(2590) 评论(0)
摘要:
同步框架AbstractQueuedSynchronizer
Java并发编程核心在于java.concurrent.util包 而juc当中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列、条件队列、独占获取、共享获取等,而这个行为的抽象就是基于AbstractQueuedSynchronizer简... 阅读原文
2020-07-19 11:34:06 阅读(2384) 评论(0)