腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
码农架构
公众号:码农架构
专栏成员
举报
388
文章
532932
阅读量
43
订阅数
订阅专栏
申请加入专栏
全部文章(388)
java(129)
编程算法(65)
sql(48)
数据库(45)
spring(41)
云数据库 SQL Server(39)
jdk(37)
jvm(35)
kafka(33)
容器(30)
云数据库 Redis(29)
微服务(28)
node.js(24)
linux(19)
http(18)
网络安全(18)
缓存(17)
serverless(16)
网站(15)
存储(15)
文件存储(14)
javascript(13)
消息队列 CMQ 版(13)
spring boot(11)
unix(10)
负载均衡(8)
api(8)
负载均衡缓存(8)
nginx(8)
腾讯云测试服务(8)
开源(8)
html(7)
json(7)
ide(7)
tcp/ip(7)
apache(6)
分布式(6)
面向对象编程(6)
Elasticsearch Service(6)
hashmap(5)
spring cloud(5)
安全(5)
数据分析(5)
https(5)
es(5)
自动驾驶(4)
c++(4)
servlet(4)
oracle(4)
mvc(4)
github(4)
容器镜像服务(4)
压力测试(4)
sdk(4)
对象存储(3)
bash(3)
xml(3)
jquery(3)
android(3)
git(3)
全文检索(3)
云函数(3)
消息队列 CKafka 版(3)
企业(3)
kubernetes(3)
运维(3)
mybatis(3)
jdbc(3)
zookeeper(3)
rpc(3)
架构设计(3)
腾讯云开发者社区(3)
object(3)
wait(3)
云服务器(2)
php(2)
lua(2)
access(2)
打包(2)
maven(2)
bash 指令(2)
批量计算(2)
NAT 网关(2)
API 网关(2)
数据加密服务(2)
云推荐引擎(2)
mongodb(2)
devops(2)
数据处理(2)
数据结构(2)
系统架构(2)
nat(2)
factory(2)
客户端(2)
设计模式(2)
线程(2)
费用中心(1)
数据万象(1)
弹性伸缩(1)
官方文档(1)
perl(1)
actionscript(1)
.net(1)
sqlite(1)
memcached(1)
jar(1)
struts(1)
tomcat(1)
mapreduce(1)
日志服务(1)
访问管理(1)
命令行工具(1)
海外加速(1)
SSL 证书(1)
腾讯git代码托管(工蜂)(1)
微服务与微计算(1)
电商(1)
金融(1)
o2o(1)
数据安全(1)
自动化(1)
数据迁移(1)
shell(1)
正则表达式(1)
自动化测试(1)
aop(1)
单元测试(1)
dubbo(1)
rabbitmq(1)
gcc(1)
gradle(1)
uml(1)
微信(1)
小程序(1)
windows(1)
物联网(1)
sas(1)
云计算(1)
腾讯云ti平台ti-ems(1)
groovy(1)
接口测试(1)
builder(1)
byte(1)
class(1)
constructor(1)
count(1)
cs(1)
decimal(1)
decorator(1)
delay(1)
dump(1)
frameworks(1)
free(1)
gc(1)
io(1)
join(1)
load(1)
lock(1)
mac(1)
nested(1)
null(1)
office(1)
product(1)
prototype(1)
scope(1)
singleton(1)
size(1)
synchronized(1)
system(1)
thread(1)
time(1)
title(1)
window(1)
产品(1)
单例模式(1)
工程化(1)
行业(1)
架构师(1)
解决方案(1)
接口(1)
软件架构(1)
设计(1)
事务(1)
统计(1)
团队管理(1)
异常(1)
语法(1)
装饰器(1)
搜索文章
搜索
搜索
关闭
Java 8 ConcurrentHashMap源码中竟然隐藏着两个BUG
hashmap
数据分析
java
jquery
编程算法
Java 7的ConcurrenHashMap的源码我建议大家都看看,那个版本的源码就是Java多线程编程的教科书。在Java 7的源码中,作者对悲观锁的使用非常谨慎,大多都转换为自旋锁加volatile获得相同的语义,即使最后迫不得已要用,作者也会通过各种技巧减少锁的临界区。在上一篇文章中我们也有讲到,自旋锁在临界区比较小的时候是一个较优的选择是因为它避免了线程由于阻塞而切换上下文,但本质上它也是个锁,在自旋等待期间只有一个线程能进入临界区,其他线程只会自旋消耗CPU的时间片。Java 8中ConcurrentHashMap的实现通过一些巧妙的设计和技巧,避开了自旋锁的局限,提供了更高的并发性能。如果说Java 7版本的源码是在教我们如何将悲观锁转换为自旋锁,那么在Java 8中我们甚至可以看到如何将自旋锁转换为无锁的方法和技巧。
码农架构
2021-05-08
765
0
如何决定使用 HashMap 还是 TreeMap?
编程算法
hashmap
导读:TreeMap<K,V>的Key值是要求实现java.lang.Comparable,所以迭代的时候TreeMap默认是按照Key值升序排序的;TreeMap的实现是基于红黑树结构。适用于按自然顺序或自定义顺序遍历键(key)。
码农架构
2021-03-24
1.2K
0
HashMap 底层实现原理是什么?JDK8 做了哪些优化?
jdk
hashmap
在 JDK 1.7 中 HashMap 是以数组加链表的形式组成的,JDK 1.8 之后新增了红黑树的组成结构,当链表大于 8 并且容量大于 64 时,链表结构会转换成红黑树结构,它的组成结构如下图所示:
码农架构
2021-01-21
397
0
Spring 源码脉络IOC/DI-Bean创建过程
hashmap
编程算法
结合上一篇 Spring 源码脉络IOC/DI -BeanFactory、ApplicationContext 已了解BeanFactory 和 ApplicationContext 的所拥有的功能和能力,本篇核心讲解基于BeanFactory以及ApplicationContext Bean的创建过程
码农架构
2020-10-29
337
0
如何保证集合是线程安全的? ConcurrentHashMap如何实现高效地线程安全?
hashmap
压力测试
java
容器
安全
先前介绍了 Java 集合框架 的典型容器类,它们绝大部分都不是线程安全的,仅有的线程安全实现,比如 Vector、Stack,在性能方面也远不尽如人意。幸好 Java 语言提供了并发包(java.util.concurrent),为高度并发需求提供了更加全面的工具支持
码农架构
2020-10-26
570
0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
立即查看
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档