腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
happyJared
做好寫代碼這事
专栏作者
举报
296
文章
364822
阅读量
30
订阅数
订阅专栏
申请加入专栏
全部文章(296)
其他(79)
java(49)
编程算法(48)
spring(32)
数据库(31)
sql(27)
http(27)
容器(22)
云数据库 SQL Server(19)
容器镜像服务(17)
云数据库 Redis(16)
api(13)
ide(11)
缓存(11)
servlet(10)
存储(10)
jdk(10)
zookeeper(10)
网络安全(9)
mvc(8)
git(7)
maven(7)
网站(7)
javascript(6)
打包(6)
spring boot(6)
hashmap(6)
数据结构(6)
自动驾驶(5)
php(5)
python(5)
xml(5)
jar(5)
分布式(5)
jvm(5)
scrapy(5)
https(5)
json(4)
android(4)
linux(4)
爬虫(4)
aop(4)
c++(3)
node.js(3)
postgresql(3)
tomcat(3)
自动化(3)
压力测试(3)
面向对象编程(3)
windows(3)
go(2)
html(2)
nginx(2)
API 网关(2)
express(2)
开源(2)
shell(2)
gui(2)
jdbc(2)
二叉树(2)
tcp/ip(2)
markdown(2)
spring cloud(2)
安全(2)
事务(2)
lua(1)
jsp(1)
css(1)
jquery(1)
oracle(1)
memcached(1)
access(1)
web.py(1)
eclipse(1)
github(1)
unix(1)
ubuntu(1)
apache(1)
apt-get(1)
神经网络(1)
mapreduce(1)
文件存储(1)
访问管理(1)
云数据库 MongoDB(1)
TDSQL MySQL 版(1)
消息队列 CMQ 版(1)
SSL 证书(1)
腾讯云测试服务(1)
云推荐引擎(1)
mongodb(1)
智能安防监控(1)
devops(1)
游戏(1)
wordpress(1)
正则表达式(1)
erp(1)
yum(1)
grep(1)
自动化测试(1)
flash(1)
rpc(1)
udp(1)
gradle(1)
socket编程(1)
hexo(1)
微信(1)
机器人(1)
数据分析(1)
hbase(1)
nat(1)
kafka(1)
es(1)
Elasticsearch Service(1)
foreach(1)
guava(1)
io(1)
ip(1)
kill(1)
map(1)
merge(1)
mysql(1)
nested(1)
pid(1)
server(1)
sort(1)
stream(1)
编码(1)
插件(1)
程序(1)
对象(1)
集群(1)
进程(1)
配置(1)
数据(1)
数据同步(1)
搜索(1)
协议(1)
搜索文章
搜索
搜索
关闭
Spring IoC 和 AOP 的理解
spring
aop
容器
xml
jdk
IoC(Inverse of Control,即控制反转)是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由 Spring 框架来管理。 IoC 在其他语言中也有应用,并非 Spirng 特有。IoC 容器是 Spring 用来实现 IoC 的载体, IoC 容器实际上就是个 Map(key,value), Map 中存放的是各种对象。
happyJared
2019-09-24
1.3K
0
NIO 读数据和写数据方式
自动驾驶
jdk
编程算法
整个 NIO 体系包含的类远远不止这三个,只能说这三个是 NIO 体系的 “核心 API”。上面已经对这三个概念进行了基本的阐述,这里就不多做解释了。
happyJared
2019-08-08
664
0
JVM - 运行时数据区域(2)
java
jdk
jvm
Java 虚拟机所管理的最大一块内存,Java 堆是所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的,就是存放对象实例,几乎所有的对象实例以及数组都在这里分配内存。
happyJared
2019-07-26
256
0
JVM - 运行时数据区域(1)
jdk
java
Java 虚拟机在执行 Java 程序的过程中,会把它管理的内存划分成若干个不同的数据区域。
happyJared
2019-07-24
582
0
乐观锁的缺点
编程算法
jdk
如果变量 V ,初次读取时是 A 值,并且在准备赋值的时候,检查到它仍然是 A 值,这样能否说明它的值,没有被其他线程修改过?答案是否定的,因为在这段时间内,它的值可能被更改为其他的值,然后又改回成了 A 值,那 CAS 操作就会误认为它从来没有被修改过。这个问题,被称为 CAS 操作的 ABA 问题。
happyJared
2019-07-17
921
0
ConcurrentSkipListMap
数据结构
jdk
压力测试
编程算法
对于单链表,即使链表是有序的,如果想要在其中查找某个数据,也只能从头到尾遍历链表,这样效率自然就会很低,跳表就不一样了。跳表是一种可以用来快速查找的数据结构,有点类似于平衡树。它们都可以对元素进行快速的查找。但一个重要的区别是:对平衡树的插入和删除往往很可能导致平衡树进行一次全局的调整;而对跳表的插入和删除,只需要对整个数据结构的局部进行操作即可。这样带来的好处是:在高并发的情况下,需要一个全局锁,来保证整个平衡树的线程安全;而对于跳表,则只需要部分锁即可。这样,在高并发环境下,就可以拥有更好的性能。就查询的性能而言,跳表的时间复杂度是 O(logn), 所以在并发数据结构中,JDK 使用跳表来实现一个 Map。
happyJared
2019-07-15
918
0
谈谈 synchronized 和 ReentrantLock 的区别
jdk
jvm
api
“可重入锁”概念是:自己可以再次获取自己的内部锁。比如,一个线程获得了某个对象的锁,此时这个对象锁还没有释放,当其再次想要获取这个对象的锁时,还可以再获取的;如果不可锁重入的话,就会造成死锁;同一个线程每次获取锁,锁的计数器都自增1,所以要等到锁的计数器下降为0时,才能最终释放锁。
happyJared
2019-07-08
2.3K
0
集合(Collection)框架底层数据结构总结
jdk
编程算法
二叉树
hashmap
java
需要根据键值获取元素值时,就选用 Map 接口下的集合,如排序时选择 TreeMap,不需要排序时就选择 HashMap,需要保证线程安全就选用 ConcurrentHashMap。当我们只需要存放元素值时,就选择实现 Collection 接口的集合,若需要保证元素唯一,则选择实现 Set 接口的集合,比如 TreeSet 或 HashSet,不需要就选择实现 List 接口的,比如 ArrayList 或 LinkedList,最后再根据实现这些接口的具体集合特点来选用。
happyJared
2019-06-18
438
0
ConcurrentHashMap 和 Hashtable 的区别
jdk
hashmap
数据结构
编程算法
二叉树
底层数据结构: JDK1.7 的 ConcurrentHashMap 底层采用 分段数组+链表 实现,而 JDK1.8 的 ConcurrentHashMap 实现跟 HashMap1.8 的数据结构一样,都是 数组+链表/红黑二叉树。Hashtable 和 JDK1.8 之前的 HashMap 的底层数据结构类似,都是采用 数组+链表 的形式。数组是 HashMap 的主体,链表则是为了解决哈希冲突而存在的; 实现线程安全的方式: ① 在 JDK1.7 的时候,ConcurrentHashMap(分段锁)
happyJared
2019-06-17
4.4K
1
HashMap 底层是怎么样的
jdk
hashmap
编程算法
JDK1.8 前,HashMap 底层是 数组+链表,也就是 链表散列。 HashMap 通过 key 先计算 hashCode,再经过 扰动函数 处理后得到 hash 值,然后通过 (n - 1) & hash 判断当前元素存放的位置(n 指的是数组长度);如果当前位置存在元素的话,就判断该元素与要存入的元素的 hash 值以及 key 是否相同;如果相同,直接覆盖;如果不同,就通过 拉链法 解决冲突。
happyJared
2019-06-16
1.7K
0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档