关于动态代理,我之前写过一篇文章《10分钟看懂动态代理设计模式》。在这篇文章中,我收到了一些关于动态代理的提问,也有同学在微信公众号给我私信,询问关于动态代理的问题。再次Re...
关于动态代理,我之前写过一篇文章《10分钟看懂动态代理设计模式》。在这篇文章中,我收到了一些关于动态代理的提问,也有同学在微信公众号给我私信,询问关于动态代理的问题。再次Re...
动态代理是Java语言中非常经典的一种设计模式,也是所有设计模式中最难理解的一种。本文将通过一个简单的例子模拟JDK动态代理实现,让你彻底明白动态代理设计模式的本质,文章中可...
1. 基本的RPC模型 主要介绍RPC是什么,基本的RPC代码,RPC与REST的区别,gRPC的使用 1.1 基本概念 RPC(Remote Procedure Call)...
索引定义:是一个单独的,存储在磁盘上的数据库结构,其包含着对数据表里所有记录的引用指针. 数据库索引的设计原则: 为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上...
canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB)。 背景 早期,阿里巴...
在程序中使用Json时,有时某个字段其结构是根据其他字段(比如有个类型含义的字段)决定的,这个时候在解析时,需要先解析一部分,进行判断后,再解析出合适的Json结构。这时就需...
由于数据结构的东西涉及到许多的图片啊,流程啊什么的。所以会参考许多网上存在的资料加以总结,我会将参考链接放在文章后面。 B树 B树基本概念 网上的许多资料在讲述数据结构之前都...
介绍 golang 中的 sync 包实现了两种锁: Mutex:互斥锁 RWMutex:读写锁,RWMutex 基于 Mutex 实现 Mutex(互斥锁) Mutex 为...
Go 的select语句是一种仅能用于channl发送和接收消息的专用语句,此语句运行期间是阻塞的;当select中没有case语句的时候,会阻塞当前的groutine。所以...
我们学习通道channel的时候,偶尔会在测试的时候遇到 all goroutines are asleep这样的panic错误,但是这个是怎么造成的呢。本文首先会介绍产生这...
前言 Yaml是一种简洁易懂的文件配置语言,比如其巧妙避开各种封闭符号,如:引号、各种括号等,这些符号在嵌套结构中会变得复杂而难以辨认。对于更加具体的介绍,大家可以去自行Go...
Goland 常用快捷键整理 本文主要梳理笔者在使用Goland这款工具的时候,用到的一些比较好用的快捷键。 Switcher Ctrl +TAB 可以召唤 switcher...
简单使用: 这是golang官网上的例子 跟java的CountdownLatch差不多,也是阻塞等待所有任务完成之后再继续执行。 简单使用就是在创建一个任务的时候wg.Ad...