首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
受苦人梦想嘉
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
12
文章 12
沸点 0
赞
12
返回
|
搜索文章
最新
热门
Spring AOP 代理总结:静态代理和动态代理
自己手动创建Proxy类,并将RealSubject类注入。 ==运行时增强==:动态代理就是说AOP框架==不会去修改字节码==,而是在==内存中临时为方法生成一个AOP对象==,这个AOP对象包含了目标对象的全部方法,并且在特定的切点做了增强处理,并回调原对象的方法。 ==…
Java Short类型比较的坑
JavaShort类型比较的坑前提约定:精度小于int的数值==运算的时候(定义时不会)==都会被自动转换为int后进行计算
CopyOnWriteArrayList/Set 源码解析
HashMap ⇒ HashTable/Collections.synchronized.. ⇒ ConcurrentHashMap ArrayList ⇒ Vector/Collections.synchronized.. ⇒ CopyOnWriteArrayList Cop…
ConcurrentHashMap源码解析
红黑树旋转时,会锁住根节点,保证旋转时的线程安全。
AQS原理与源码剖析(结合ReentrantLock源码)
2. AQS数据结构 维护一个由==双向链表==实现的等待队列,链表元素被封装为一个==Node对象(其中包含线程信息)==,这些节点都尝试通过==CAS获取/修改state==。 注意:head节点(队头)是一个虚节点(thread字段为null),仅保留waitStatus…
Java线程池工作原理(ThreadPoolExecutor 源码简析)
线程池提供了一种限制和管理资源(包括执行一个任务)。 每个线程池还维护一些基本统计信息,例如已完成任务的数量。 1. ThreadPoolExecutor源码简析 2. 线程池大小的确定 ==CPU 密集型任务(N+1):== 这种任务消耗的主要是 CPU 资源,可以将线程数设…
Java并发队列BlockingQueue总结与源码浅析
新增有多种方法,如:add、put、offer,三者的区别上文有说。我们拿 put 方法为例,put 方法在碰到队列满的时候,会一直阻塞下去,直到队列不满时,并且自己被唤醒时,才会继续去执行,源码如下: 以take为例,整体流程和 put 很相似,都是先上锁,然后从队列的头部拿…
HashMap源码解析
假设有两个线程t1,t2,它们都执行完了2.1中putVal函数的28行,此时t1挂起,t2执行29行,t2执行完后t1再执行。这样会导致t2所插入的节点被抹掉了。 当put中执行resize时,由resize的实现可见,在完成扩容后,==还未转移元素之前,就将新哈希表赋值给了…
个人成就
文章被点赞
9
文章被阅读
5,749
掘力值
79
关注了
1
关注者
0
收藏集
0
关注标签
23
加入于
2016-08-31