11 2020 档案
摘要:当需要排查各种内存溢出问题、当垃圾收集成为系统达到更高并发的瓶颈时,我们就需要对这些“自动化”的技术实施必要的监控和调节。
阅读全文
摘要:bloom算法类似一个hash set,用来判断某个元素(key)是否在某个集合中。和一般的hash set不同的是,这个算法无需存储key的值,对于每个key,只需要k个比特位,每个存储一个标志,用来判断key是否在集合中。
阅读全文
摘要:RabbitMQ提供了6种消息模型,但是第6种其实是RPC,并不是MQ,因此不予学习。那么也就剩下5种。
阅读全文
摘要:自旋锁(spinlock):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。
阅读全文
摘要:两种锁各有优缺点,不可认为一种好于另一种,像乐观锁适用于写比较少的情况下(多读场景),即冲突真的很少发生的时候,这样可以省去了锁的开销,加大了系统的整个吞吐量。但如果是多写的情况,一般会经常产生冲突,这就会导致上层应用会不断的进行retry,这样反倒是降低了性能,所以一般多写的场景下用悲观锁就比较合适。
阅读全文
摘要:镜像作为 Docker 三大核心概念中,最重要的一个关键词,它有很多操作,是您想学习容器技术不得不掌握的。本文将带您一步一步,图文并重,上手操作来学习它。
阅读全文
摘要:消息队列是分布式系统中重要的组件之一。使用消息队列主要是为了通过异步处理提高系统性能和削峰、降低系统耦合性。
阅读全文
摘要:命令模式就是把命令封装成对象,然后将动作请求者与动作执行者完全解耦
阅读全文
摘要:MySQL索引的分类、何时使用、何时不使用、何时失效
阅读全文
摘要:我们开发中,采用了spring的依赖管理系统,就很少自己去创建对象了,全部交给容器去托管,本文回源塑本,讲述一下java中能够创建一个对象的5中方法。
阅读全文
摘要:Fiddler抓包工具在APP开发过程中使用非常频繁,对开发者理解HTTP网络传输原理以及分析定位网络方面的问题非常有帮助。
阅读全文
摘要:如何查看是否有Java线程死锁?本文介绍两种方法。
阅读全文
摘要:同步模型(synchronous IO)、阻塞IO(bloking IO)、非阻塞IO(non-blocking IO)、多路复用IO(multiplexing IO)、信号驱动式IO(signal-driven IO)、异步IO(asynchronous IO)
阅读全文
摘要:B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。
阅读全文
摘要:I/O多路复用:通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。
阅读全文
摘要:策略模式(Strategy Pattern)定义了算法族,分别封装起来,让它们之间可相互替换,此模式让算法的变化独立于使用算法的客户。
阅读全文
摘要:总结了8方面的缺陷漏测问题以及应对方法,还讲述了遗漏的bug处理流程。
阅读全文
摘要:介绍了软件开发过程模型和测试模型,以及相关的一些测试名词定义。
阅读全文
摘要:Redis的特点、数据类型、以及相关使用场景,并对Big Key问题做了分析。另外讲述了HyperLogLog和发布订阅机制
阅读全文
摘要:认识到拆分已有系统到微服务总体成本会很高而且可能需要多次迭代很重要。
阅读全文
摘要:适配器模式(Adapter),将一个类的接口转换成客户希望的另外一个接口。使原本由于接口不兼容而不能一起工作的那些类可以一起工作。
适配器模式有“类适配器”和“对象适配器”两种不同的形式。
阅读全文
摘要:装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现类的功能。
阅读全文
摘要:一个单身(单一职责)的里氏(里氏替换原则)拿着一把颠倒(依赖倒置)的半开半闭(开闭原则)的扇子,在看一个米老鼠(迪米特)在分离接口(接口分离)问题
阅读全文
摘要:涉及到的类主要有FileInputStream ,InputStreamReader ,BufferedReader 。涉及到的设计模式主要有适配器模式以及装饰者模式。
阅读全文
摘要:「并发」强调的是可以一起「出『发』」,「并行」强调的是可以一起「执『行』」
阅读全文
摘要:日志系统主要有redo log(重做日志)和binlog(归档日志)。redo log是InnoDB存储引擎层的日志,binlog是MySQL Server层记录的日志,两者都是记录了某些操作的日志(不是所有)自然有些重复(但两者记录的格式不同)。
阅读全文
摘要:产生内存溢出与锁表都是由于代码写的不好造成的,因此提高代码的质量是最根本的解决办法
阅读全文
摘要:本文讨论了TCP 在三次握手和四次挥手的时候,出现异常的处理逻辑。大多数情况下,都是依赖超时重传来保证 TCP 的可靠性,本文描述了重传的次数,状态的转换,以及有哪些状态是被系统接管。
阅读全文
摘要:从表象来看,好像sleep和wait都能使线程处于阻塞状态,但是却有着本质上的4个区别。
阅读全文
摘要:Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口;本文讲解了三次握手和四次握手的过程。
阅读全文
摘要:Arrays.sort并不是单一的排序,而是插入排序,快速排序,归并排序三种排序的组合
阅读全文
摘要:一步步分析了什么是一致性Hash算法,主要是考虑到分布式系统每个节点都有可能失效,并且新的节点很可能动态的增加进来的情况,如何保证当系统的节点数目发生变化的时候,我们的系统仍然能够对外提供良好的服务。
阅读全文
摘要:20个比较难记忆,我做了归纳,分为5个方面。
阅读全文

浙公网安备 33010602011771号