腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
小灰灰
专栏作者
举报
415
文章
717246
阅读量
77
订阅数
订阅专栏
申请加入专栏
全部文章(415)
spring(170)
java(124)
https(70)
网络安全(55)
sql(47)
数据库(43)
编程算法(40)
spring boot(35)
github(33)
网站(29)
云数据库 SQL Server(25)
http(25)
容器(23)
xml(21)
jdk(21)
mybatis(19)
c++(16)
servlet(16)
html(16)
云数据库 Redis(16)
其他(14)
mvc(14)
php(13)
git(13)
android(12)
腾讯云测试服务(11)
maven(10)
aop(10)
开源(9)
数据结构(9)
json(8)
jar(8)
apache(8)
文件存储(7)
缓存(7)
javascript(6)
爬虫(6)
rabbitmq(6)
css(5)
lucene/solr(5)
存储(5)
分布式(5)
tcp/ip(5)
机器学习(4)
react(4)
打包(4)
linux(4)
命令行工具(4)
jdbc(4)
spring cloud(4)
case(4)
node.js(3)
api(3)
tomcat(3)
日志服务(3)
云数据库 MongoDB(3)
mongodb(3)
图像处理(3)
渲染(3)
jvm(3)
hashmap(3)
zookeeper(3)
大数据(3)
Elasticsearch Service(3)
nginx(2)
shell(2)
markdown(2)
socket编程(2)
微服务(2)
es(2)
注解(2)
对象存储(1)
mac os(1)
c 语言(1)
python(1)
vue.js(1)
jquery(1)
嵌入式(1)
ide(1)
unix(1)
centos(1)
容器镜像服务(1)
消息队列 CMQ 版(1)
腾讯移动分析(1)
人工智能(1)
express(1)
svg(1)
serverless(1)
面向对象编程(1)
asp(1)
gradle(1)
kafka(1)
groovy(1)
autowired(1)
bigdecimal(1)
bug(1)
class(1)
debug(1)
insert(1)
media(1)
null(1)
plugin(1)
png(1)
pojo(1)
row(1)
scale(1)
web(1)
二维码(1)
前端(1)
异常(1)
语法(1)
搜索文章
搜索
搜索
关闭
Docker 常用命令速查手册
容器
容器镜像服务
网站
记录一下docker的日常使用命令,本文主要针对linux + mac操作系统而言,window是否适用不太确定,谨慎使用
一灰灰blog
2019-12-16
839
0
SpringBoot基础篇Bean之基本定义与使用
spring
容器
jar
xml
网络安全
在SpringBoot的大环境下,基本上不再使用以前的xml配置,所以本篇博文也不再介绍以往Spring中,通过xml来声明bean的使用方式
一灰灰blog
2019-05-26
2K
0
SpringBoot基础篇Bean之基本定义与使用
spring
容器
网络安全
编程算法
xml
我们知道在Spring中,有两个非常有名的特性,依赖注入(DI)与切面(AOP),其中依赖注入其主要的作用,可以说就是维护Spring容器创建的Bean之间的依赖关系,简单来说就是一个bean(假定名为A)持有另一个Bean(假定名为B)的引用作为成员变量b,则由Spring容器自动将B赋值给A的成员变量b
一灰灰blog
2019-03-14
5.2K
0
SpringBoot基础篇Bean之动态注册
spring
容器
网络安全
Spring中的Bean除了前面提到的几种JavaConfig或者@Component等注解标识之外,也是可以动态的向Spring容器注册的,本篇博文将主要介绍
一灰灰blog
2019-03-14
7.7K
1
Java容器篇小结之List自问自答
java
容器
I. List篇 0. 什么是List 看到这个有点懵逼,一时还真不知道怎么解释,能让完全没有接触过的人都能听懂 列表,什么是列表呢? 好比你到了一个村里,看到每个房子上的门牌号,如这是张村1号,下一个是张村2号,接着是3号、4号... 现在你要去张村10号,那么得,顺着这个门牌一直往下走,就能找到了 这个村落里的门牌号的形式,就特别像JDK中的 LinkedList了,找张村10号的过程基本就是 LinkedList#indexOf()根据索引获取对应值的过程了 从这个case里面,小结一下List的特
一灰灰blog
2018-02-06
580
0
JDK容器学习之Queue:ConcurrentLinkedQueue
jdk
容器
java
并发安全的链表队列 ConcurrentLinkedQueue 并发安全的链表队列,主要适用于多线程环境中;底层数据结构为链表,由于队列本身频繁的出队和进队,那么这个线程安全是如何保障 I. 数据结构 从命名可以基本推测底层数据结构应该是链表,结合源码看下具体的链表节点 private static class Node<E> { volatile E item; volatile Node<E> next; Node(E item) { UNSAFE.putOb
一灰灰blog
2018-02-06
545
0
JDK容器学习之Queue:DelayQueue
jdk
容器
java
延迟阻塞队列 DelayQueue 阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞 延迟阻塞队列DelayQueue的底层是基于优先级队列PriorityQueue来实现的,因此研究延迟阻塞队列,更多的注意力应集中在以下两点 阻塞是如何实现的 应用场景是什么 I. 阻塞队列的实现逻辑 1. 限定 类的声明如下,要求队列中的元素必须继承 Delayed public class DelayQueue<E extends Del
一灰灰blog
2018-02-06
677
0
JDK容器学习之Queue: ArrayBlockingQueue
jdk
容器
java
基于数组阻塞队列 ArrayBlockingQueue 前面学习了基于数组的非阻塞双端队列ArrayDeque,其内部维护一个数组和指向队列头和队列尾索引的两个成员变量;本篇则探究下基于数组的阻塞队列是什么样的数据结构,又有什么特性,相较于ArrayDeque又有什么异同;然后就是使用场景了 I. 底层数据结构 先看内部成员变量定义, 和 ArrayDequeue相比,差别不大,一个数组,两个索引;此外多了一个锁和两个判定条件 /** The queued items */ final Object[]
一灰灰blog
2018-02-06
714
0
JDK容器学习之Queue:LinkedBlockingQueue
java
jdk
容器
基于链表阻塞队列LinkedBlockingQueue 基于链表的无边界阻塞队列,常用与线程池创建中作为任务缓冲队列使用 I. 底层数据结构 先看一下内部定义,与 ArrayBlockingQueue做一下对比,顺带看下这两者的区别及不同的应用场景 /** 队列的容量, or Integer.MAX_VALUE if none */ private final int capacity; /** 队列中实际的个数 */ private final AtomicInteger count = new At
一灰灰blog
2018-02-06
696
0
JDK容器学习之LinkedHashMap(二):迭代遍历的实现方式
jdk
容器
hashmap
java
LinkedHashMap 如何保障有序的遍历 前一篇《JDK容器学习之LinkedHashMap (一):底层存储结构分析》 中介绍了LinkedHashMap继承自HashMap,且内部维护一个
一灰灰blog
2018-02-06
1.4K
0
JDK容器学习之TreeMap (二) : 使用说明
jdk
容器
java
TreeMap 使用说明 TreeMap 的底层数据结构为红黑树,主要是根据key进行排序,相比较于HashMap的数组+链表+红黑树的数据结构而言,两者的应用场景是有明显的区别的 1. TreeMap 的优点 1. 红黑树,先天支持排序 TreeMap 根绝key进行比较排序 支持自定义实现的比较器 key实现 Comparable 接口 HashMap 无排序功能 2. 存储空间少 Treemap 红黑树中一个节点对应一个kv对,没有冗余无效的Node节点 HashMap 的数组中,可能存在较多的空位
一灰灰blog
2018-02-06
1.2K
0
JDK容器学习之Map: HashMap,TreeMap,LinkedHashMap对比小结
jdk
容器
java
HashMap, TreeMap, LinkedHashMap 对比 1. 存储结构 HashMap 存储结构: 数组 + 链表 + 红黑树 LinkedHashMap 存储结构 和HashMap 相
一灰灰blog
2018-02-06
821
0
JDK容器学习之ArrayList:底层存储和动态扩容
jdk
容器
java
ArrayList 底层存储和动态扩容逻辑 ArrayList 作为最常用的容器之一,通常用来存储一系列的数据对象,O(1)级别的数据读写 I. 底层数据模型 查看源码,其内部定义的成员变量 // 默认数组容量 private static final int DEFAULT_CAPACITY = 10; // 静态成员,创建一个空的ArrayList时,内部数组实际使用这个 // 避免每次创建一个ArrayList对象,都要新创建一个对象数组 private static final Object[]
一灰灰blog
2018-02-06
841
0
JDK容器学习之LinkedList:底层存储&读写逻辑
jdk
容器
java
LinkedList的底层结构及读写逻辑 链表容器,通常适用于频繁的新增删除,遍历的方式访问数据元素的场景 LinkedList 底层数据结构为链表,非线程安全,本片博文则简单分析下增删改对链表的操作姿势,以及LinkedList的迭代实现 I. 数据结构 双向链表存储,内部保存表头和表尾对象,size用来记录List的长度 transient int size = 0; /** * Pointer to first node. * Invariant: (first == null && last
一灰灰blog
2018-02-06
540
0
JDK容器学习之CopyOnWriteArrayList:线程安全保障机制
java
jdk
容器
JDK容器学习之CopyOnWriteArrayList 列表容器常见的有 ArrayList和LinkedList,然而两者都是非线程安全的,若应用场景对线程安全有需求,则可以使用CopyOnWriteArrayList来代替传统的Vector I. 存储结构 先看下类中定义的成员变量, 一个数组和一个锁 /** The lock protecting all mutators */ final transient ReentrantLock lock = new ReentrantLock(); /
一灰灰blog
2018-02-06
532
0
JDK容器学习之List: CopyOnWriteArrayList,ArrayList,LinkedList对比
jdk
java
容器
列表 List, ArrayList, LinkedList, CopyOnWriteArrayList, Vector 简述 1. 列表划分为线程安全和线程非安全两类 线程安全: Vector, CopyOnWriteArrayList, Collections.synchronizedList() 线程非安全:ArrayList, LinkedList ---- 2. 底层存储 数组: ArrayList Vecotr CopyOnWriteArrayList 双向链表:LinkedList 通过
一灰灰blog
2018-02-06
792
0
JDK容器学习之Queue: ArrayDeque
jdk
容器
数组双端队列 ArrayDeque 双端队列,表示可以添加元素到(或删除,获取)队列头也可以添加元素到(或删除,获取)队列尾 1. 底层数据结构 类中定义成员变量,一个数组和两个int transie
一灰灰blog
2018-02-06
708
0
Java容器之List小结
java
容器
列表 List, ArrayList, LinkedList, ArrayCopyOnWriteList, Vector 简述 1. 列表划分为线程安全和线程非安全两类,其中: 线程安全: Vector, ArrayCopyWriteList 线程非安全:ArrayList, LinkedList 2. 底层存储 数组: ArrayList Vecotr ArrayCopyWriteList 链表:LinkedList 3. 使用场景 ArrayList 底层为数组,适合随机访问 动态插入删除可能涉及到数
一灰灰blog
2018-02-06
486
0
JDK容器学习之HashMap (三) : 迭代器实现
hashmap
容器
java
jdk
HashMap 迭代器实现方式 java的容器类,实现Collection接口的都会实现迭代器方式,Map则有点特殊,它不实现Collection接口,它的迭代使用方式则主要借助Collection来实现 1. Map的遍历方式 对于List,Set,我们可以直接用 foreach 来实现遍历,而Map则不能直接这么用,通常Map的遍历方式有三种 Entry的遍历 for(Map.Entry entry: map.entrySet()) { // xxx } Key的遍历 for(Object key
一灰灰blog
2018-02-06
687
0
JDK容器学习之HashMap (二) : 读写逻辑详解
java
容器
jdk
Map读写实现逻辑说明 前一篇博文 JDK容器学习之HashMap (一) : 底层存储结构分析 分析了HashMap的底层存储数据结构 通过put(k,v)方法的分析,说明了为什么Map底层用数组进行存储,为什么Node内部有一个next节点,这篇则将集中在读写方法的具体实现上 本片博文将关注的重点: 通过key获取value的实现逻辑 新增一个kv对的实现逻辑 table 数组如何自动扩容 如何删除一个kv对(删除kv对之后,数组长度是否会缩水 ?) 1. 根据key索引 get(key) 作为m
一灰灰blog
2018-02-06
695
0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档