代码改变世界

阅读排行榜

Java动态代理——框架中的应用场景和基本原理

2020-11-01 21:40 by tera, 8596 阅读, 收藏,
摘要: 前言 之前已经用了5篇文章完整解释了java动态代理的原理,本文将会为这个系列补上最后一块拼图,展示java动态代理的使用方式和应用场景 主要分为以下4个部分 1.为什么要使用java动态代理 2.如何使用java动态代理 3.框架中java动态代理的应用 4.java动态代理的基本原理 1.为何要 阅读全文

google protocol buffer——protobuf的基本使用和模型分析

2020-08-16 13:22 by tera, 5651 阅读, 收藏,
摘要: 这一系列文章主要是对protocol buffer这种编码格式的使用方式、特点、使用技巧进行说明,并在原生protobuf的基础上进行扩展和优化,使得它能更好地为我们服务。 1.什么是protobuf protocol buffer是由google推出一种数据编码格式,不依赖平台和语言,类似于xml 阅读全文

google protobuf的原理和思路提炼

2021-06-27 20:37 by tera, 3433 阅读, 收藏,
摘要: 之前其实已经用了5篇文章完整地分析了protobuf的原理。回过头去看,感觉一方面篇幅过大,另一方面过于追求细节和源码,对protobuf的初学者并不十分友好,因此这篇文章将会站在“了解、使用、特性、原理、改进”的角度重新整理protobuf的相关知识,希望对大家有所帮助。 1.什么是protobu 阅读全文

让面试官心服口服:Thread.sleep、synchronized、LockSupport.park的线程阻塞有何区别?

2020-11-22 18:19 by tera, 3145 阅读, 收藏,
摘要: 前言 在日常编码的过程中,我们经常会使用Thread.sleep、LockSupport.park()主动阻塞线程,或者使用synchronized和Object.wait来阻塞线程保证并发安全。此时我们会发现,对于Thread.sleep和Object.wait方法是会抛出InterruptedE 阅读全文

Redis Hyperloglog的原理及数学理论的通俗理解

2022-01-24 17:06 by tera, 2966 阅读, 收藏,
摘要: redis中有一种数据格式,hyperloglog,本文就此数据结构的作用、redis的实现及其背后的数学原理作一个整理。当然本文不包含任何数学公式,而是希望用直观的例子帮大家理解。 主要内容如下: 1.业务场景 2.使用效果 3.数学原理 4.redis的实现原理 1.业务场景 现在有这样一个业务 阅读全文