
java
文章平均质量分 93
枫火木烈王
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java并发-JUC
Compare and Swap,是基于硬件级别的指令实现的同步原语,Java并发包java.utile.concurrent许多同步类基于CAS构建cas中的value 为volatile,最终执行lock cmpxchgq 2个汇编指定lock :硬件指令集,保证多次内存操作的原子性。通过lock去对要操作的内存的缓存行加一把锁,缓存行超过64字节就上一把总线锁。硬件级别加锁只能针对一个缓存行加锁,如果跨多个缓存行就在总线上帮你加一把锁,总线锁的粒度就很大了。原创 2022-11-10 16:58:36 · 919 阅读 · 0 评论 -
tomcat10.1.0源码分析
server.xmlserver代表一个tomcat实例,可包含多个service,管理所有的service生命周期包含多个connector和一个container容器:负责处理请求只有一个,可包含多个host虚拟主机,虚拟主机允许Tomcat引擎在将配置在一台机器上的多个域名每个虚拟主机又可以支持多个web应用部署在它下边,这就是我们所熟知的上下文对象在上下文中又可以部署多个servlet,并且每个servlet都会被一个包装组件(Wrapper)所包含(一个wrapper对应一个servlet)原创 2022-11-01 17:54:27 · 720 阅读 · 0 评论 -
hash碰撞处理方法
为减少冲突,要求装填因子d较小,故当结点规模较大时会浪费很多空间,其次不能真正的删除,不能简单的将删除节点位置置空,会影响到其他同义词节点的查找路劲,只能在被删节点上做删除标记。将具有相同哈希地址的记录链成一个单链表,m个哈希地址就设m个单链表,然后用一个数组将m个单链表的表头指针存储起来,形成一个动态的结构(hashMap就是这个方法)举个栗子:集合{47,7,29,11,16,92,22,8,3,50,37,89},m = 11,举个栗子:0, 8, 11,伪随机位数列为3,7,11...原创 2022-10-24 10:55:38 · 1541 阅读 · 0 评论 -
ThreadLocal原理解析
ThreadLocal的定义ThreadLocal 提供了线程本地的实例。它与普通变量的区别在于,每个使用该变量的线程都会初始化一个完全独立的实例副本。ThreadLocal 变量通常被private static修饰。当一个线程结束时,它所使用的所有 ThreadLocal 相对的实例副本都可被回收。原理:Thread维护ThreadLocal与实例对象的映射ThreadL...原创 2019-02-25 18:40:43 · 588 阅读 · 0 评论 -
java四种引用
1、强引用只要某个对象有强引用与之关联,JVM必定不会回收这个对象,即使在内存不足的情况下,JVM宁愿抛出OOM错误也不会回收这种对象String str = "hello world"Object obj = new Object这种都是强引用,这种引用保存在栈中,堆存放的是引用内容。当方法运行完后退出方法栈,这种引用不存在,对象才会回收。对于全局变量来说,obj=null,...原创 2019-02-26 17:39:58 · 306 阅读 · 0 评论 -
LinkedList&ArrayList内存分析
jdk版本不同略微不一致。以下是jdk1.8源码LlinkedList为双向链表,每个节点包含prev、item、next transient int size = 0; /** * Pointer to first node. * Invariant: (first == null && last == null) || ...原创 2019-05-06 23:37:41 · 3655 阅读 · 0 评论