摘要:                    
ThreadLocal是线程本地变量,每个线程中都存在副本。 实现原理: 每个线程中都有一个ThreadLocalMap,而ThreadLocalMap中的key即是ThreadLocal。 内存泄漏: ThreadLocal变量存储在栈内存中,对应对象存储在堆内存中,这个指向是强引用关系。 同样,                阅读全文
            
        阅读排行榜
MySQL-MVCC
2023-01-02 16:14 by 杭伟, 120 阅读, 收藏,
摘要:                    
首先MVCC不是MySQL才有的概念,它是一种思想,一种方法论。 MVCC全称:Multi-Version Concurrency Control 多版本并发控制 最早于1978年,论文『Naming and Synchronization in a Decentralized Computer S                阅读全文
            
        AQS原理
2022-12-06 18:05 by 杭伟, 118 阅读, 收藏,
摘要:                    
*前置知识: 1,线程的生命周期:新建(new())--就绪(start())--运行(run())--阻塞--死亡; 线程的非运行状态: 等待,挂起,睡眠,阻塞 正常生命周期中运行的线程,如果有同步需求,假如正在竞争一把锁,在没拿到锁时,应该被挂起。(而不是什么都不做) 2,在队列中的线程,应该处                阅读全文
            
        Servlet原理
2022-12-14 09:16 by 杭伟, 108 阅读, 收藏,
摘要:                    
Servlet的本质是一个Java接口,定义了一套处理网络请求的规范。 最主要的是两个生命周期方法init()和destory(),以及一个处理请求的service()。 因为处理一个网络请求,绕不开:初始化?请求处理?销毁? 这三个基本面。 其中:init()和destory()方法各自执行一次,                阅读全文
            
        哈希,哈希表,哈希冲突和哈希函数
2022-11-25 12:00 by 杭伟, 108 阅读, 收藏,
摘要:                    
哈希是什么? 哈希不等于加密。哈希不可逆,一般的加密函数是可逆的。 哈希表: 数组使用下标(序号)和元素进行关系对应,通过数组下标可以直接找到内存地址; 哈希表使用哈希值和元素进行关系对应(key-value),对key进行哈希函数计算即可找到内存地址; 哈希冲突: 解决 1,封闭寻址(拉链) 2,                阅读全文
            
        HashMap实现原理和自动扩容
2022-11-28 17:42 by 杭伟, 101 阅读, 收藏,
摘要:                    
HashMap实现原理: JDK1.7:数组+单向链表(头插) 在并发情况下头插可能出现循环链表(死循环)问题。原因:因为头插,在新数组中链表的元素顺序发生了变化, 如上图,假设线程1在扩容,刚刚调整链表完毕;线程2的指针却指向的还是原来的元素。这时新数组链表中是1->2->3的指向,但是线程2却是                阅读全文
            
        负载均衡原理
2022-12-15 22:54 by 杭伟, 96 阅读, 收藏,
摘要:                    
本人在工作中接触到的负载均衡:F5,DNS,nginx,云平台SLB,在此做个总结。 负载均衡的分类 DNS解析: 因为一个域名可以通过DNS解析到多个IP,这一特性天然使DNS有负载均衡的能力。 现在负载均衡这块主要应用于地理位置服务:实现地理级别的全局负载均衡。比如将南方区域访客流量解析到深圳的                阅读全文
            
        Object o = new Object();
2022-12-05 10:37 by 杭伟, 89 阅读, 收藏,
摘要:                    
对象的创建过程: 1,申请内存,并初始化; 2,构造器初始化; 3,o指向对象。 对象在内存中的存储布局: 使用jol工具打印java对象在内存的存储布局: 其中,对象头的组成: 对象头包括Mark Word和Class Pointer MarkWord包含三个主要信息: 锁信息,GC,HashCo                阅读全文
            
        2-3-4树和红黑树
2022-11-24 15:38 by 杭伟, 82 阅读, 收藏,
摘要:                    
2-3-4树,一种4阶的B树。红黑树的本质是2-3-4树。 其中: 2节点对应红黑树中的黑色节点(所有的2节点直接染黑), 3节点对应红黑树中的上黑下红(这里颜色一定是上黑下红), 4节点对应红黑树中的中间黑两边红。 裂变状态对应红黑树中:上红下黑新增红(新增一定是红),如果上是根节点再转为黑色。                 阅读全文
            
        Java线程中断机制
2022-12-08 09:53 by 杭伟, 67 阅读, 收藏,
摘要:                    
在阅读AQS源码以及juc包很多基于AQS的应用源码过程中,会遇到很多interrupted相关的方法,这里复习一下java线程中断相关。 要点:使用interrupt()中断一个线程,该方法只是标记中断,并不会马上中断。马上中断使用stop(),该方法已过期,不建议使用(立刻中断容易造成生产数据一                阅读全文
            
        
浙公网安备 33010602011771号