![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码
文章平均质量分 87
IT资源 itit2022
IT资源 itit2022
展开
-
深度解析go context实现原理及其源码
目录Context 基本使用方法Context 使用场景valueCtx使用示例结构体WithValuecancleCtx使用示例结构体WitCancelWithTimeoutWithDeadline使用示例WithDeadline总结Context 基本使用方法首先,我们来看一下 Context 接口包含哪些方法,这些方法都是干什么用的。包 context 定义了 Context 接口,Context 的具体实现包括 4 个方法,分别是Deadli原创 2021-02-26 21:51:14 · 309 阅读 · 0 评论 -
深度解析sync WaitGroup源码及其实现原理
目录WaitGroup介绍WaitGroup的实现AddDoneWaitWaitGroup介绍waitGroup ,也是在go语言并发中比较常用的语法,所以在这里我们一起剖析 waitGroup 的使用方式及其源码解读。WaitGroup 也是sync 包下一份子,用来解决任务编排的一个并发原语。它主要解决了并发-等待问题:比如现在有三个goroutine,分别为goroutineA,goroutineB,goroutineC,而goroutineA需要等待goroutineB和.原创 2021-02-23 14:31:59 · 1066 阅读 · 4 评论 -
深度剖析Golang sync.Once源码
目录什么是sync.Once如何使用sync.Once源码分析什么是sync.OnceOnce 可以用来执行且仅仅执行一次动作,常常用于单例对象的初始化场景。Once 常常用来初始化单例资源,或者并发访问只需初始化一次的共享资源,或者在测试的时候初始化一次测试资源。sync.Once 只暴露了一个方法 Do,你可以多次调用 Do 方法,但是只有第一次调用 Do 方法时 f 参数才会执行,这里的 f 是一个无参数无返回值的函数。如何使用sync.Once就拿我负责的一个项目来说,因为项目原创 2021-02-09 13:46:18 · 339 阅读 · 0 评论 -
【7天从零实现TORM框架|Day07:支持事务】学完完再不怕面试官问orm框架原理
今天是【7天从零实现TORM框架】的第六天,主要任务是:介绍事务的ACID属性TORM支持事务若对Go中反射的使用不了解的话,我写了三篇关于反射的文章,给小伙伴提供参考,足以应对本项目中所使用的反射知识点。go反射第一弹:https://mp.weixin.qq.com/s/F8yZyqC5UwoewsX0THqy1wgo反射第二弹:https://mp.weixin.qq.com/s/lgZykTL8ls6aG0OMNSbZMwgo反射第三弹:https://mp.weixin.qq..原创 2021-01-29 12:08:00 · 201 阅读 · 0 评论 -
【七天从零实现ORM|Day06:用户CRUD操作API】学完迈入腾讯阿里大厂
今天是【7天从零实现TORM框架】的第五天,主要任务是:torm中数据库配置信息API编写。利用 client 类包装用CRUD操作API,代码200行左右。若对Go中反射的使用不了解的话,我写了三篇关于反射的文章,给小伙伴提供参考,足以应对本项目中所使用的反射知识点。go反射第一弹:https://mp.weixin.qq.com/s/F8yZyqC5UwoewsX0THqy1wgo反射第二弹:https://mp.weixin.qq.com/s/lgZykTL8ls6aG0OMNSbZM.原创 2021-01-28 12:18:09 · 170 阅读 · 0 评论 -
【七天从零实现ORM|Day05:条件组件API】学完迈入腾讯阿里大厂
今天是【7天从零实现TORM框架】的第四天,主要任务是:利用 statement 类包装条件组件API,代码40行左右。若对Go中反射的使用不了解的话,我写了三篇关于反射的文章,给小伙伴提供参考,足以应对本项目中所使用的反射知识点。go反射第一弹:https://mp.weixin.qq.com/s/F8yZyqC5UwoewsX0THqy1wgo反射第二弹:https://mp.weixin.qq.com/s/lgZykTL8ls6aG0OMNSbZMwgo反射第三弹:https:/.原创 2021-01-26 12:07:44 · 99 阅读 · 0 评论 -
【七天从零实现ORM|Day04:条件组件库】学完迈入腾讯阿里大厂
今天是【7天从零实现TORM框架】的第三天,主要任务是:利用 generators 类构建关键词SQL语句,代码100行左右。利用 Clause 类构建条件组件,120行左右。若对Go中反射的使用不了解的话,我写了三篇关于反射的文章,给小伙伴提供参考,足以应对本项目中所使用的反射知识点。go反射第一弹:https://mp.weixin.qq.com/s/F8yZyqC5UwoewsX0THqy1wgo反射第二弹:https://mp.weixin.qq.com/s/lgZykTL8ls6.原创 2021-01-24 20:56:13 · 161 阅读 · 0 评论 -
【七天从零实现ORM|Day03:对象表结构映射】学完吊打面试官
今天是【7天从零实现TORM框架】的第二天,主要任务是:使用反射(reflect)获取struct结构体中的字段属性,将其映射到数据库中的表信息。代码100行左右。若对Go中反射的使用不了解的话,我写了三篇关于反射的文章,给小伙伴提供参考,足以应对本项目中所使用的反射知识点。go反射第一弹:https://mp.weixin.qq.com/s/F8yZyqC5UwoewsX0THqy1wgo反射第二弹:https://mp.weixin.qq.com/s/lgZykTL8ls6aG0OMNS.原创 2021-01-21 12:08:36 · 120 阅读 · 0 评论 -
【七天从零实现ORM框架|Day02:database/sql基础】学完吊打面试官
今天是TORM框架的编写的第一天,主要完成几个任务:Go-SQL-Driver驱动的简单使用使用 Go 语言标准库 database/sql 连接并操作 MySQL 数据库,并简单封装。源代码:在【迈莫coding】中回复关键字「 torm 」获取github地址链接。后续会为【七天从零实现TORM框架】录制视频,文章+视频+代码驱动选型Go支持的MYSQL的驱动种类目前非常多,在这里我查阅资料,列出几种mysql驱动,他有些是支持database/sql标准,但有些是采用了自己的实现.原创 2021-01-19 12:14:06 · 152 阅读 · 0 评论 -
【七天从零实现ORM框架|Day01:序言】学完吊打面试官
TORM框架介绍TORM 为对象-关系映射(Object-Relational Mapping,简称ORM)框架 ,是【七天系列】中的其中一篇关于ORM框架的项目,写这项目的目的主要有以下几点:用最少的代码来实现一款ORM框架通过TORM进而理解ORM实现原理去了解框架设计的奥妙代码实现过程关注【迈莫coding】,查看TORM实现过程文章,代码+文章+视频(后期会录)架构图函数调用图操作手册Insert操作手册Delete操作手册Update操作手册**Find原创 2021-01-17 17:09:49 · 208 阅读 · 0 评论 -
面试官问我go反射 我怀疑他要给我60k
该文章始发于公众号【迈莫coding】链接:https://mp.weixin.qq.com/s/vFt06c9herwTrx1LTxNaKggo发射第一弹【typeOf使用】链接:https://mp.weixin.qq.com/s/F8yZyqC5UwoewsX0THqy1wgo反射第二弹【valuef使用】链接:https://mp.weixin.qq.com/s/lgZykTL8ls6aG0OMNSbZMw目录isNil()/isValid()反射创建对象Call().原创 2021-01-13 13:33:30 · 308 阅读 · 0 评论 -
go那些事儿|go反射使用第二弹(ValueOf)
该文章始发于公众号【迈莫coding】地址:https://mp.weixin.qq.com/s/lgZykTL8ls6aG0OMNSbZMw目录概念ValueOf使用格式反射获取值对象(ValueOf)通过canSet方法修改值判断及获取元素的相关方法值修改相关方法值修改条件:可寻址结构体值的非导出字段不能通过反射来修改通过ValueOf访问成员对象闲聊欢迎加入我的公众号【迈莫coding】 一起pk大厂概念在程序运行期间,如果想要获取某个接口所代表的值,那么可.原创 2021-01-12 12:17:41 · 673 阅读 · 0 评论 -
go那些事儿|go反射使用第一弹(TypeOf)
文章始发于公众号【迈莫coding】地址:https://mp.weixin.qq.com/s/F8yZyqC5UwoewsX0THqy1w即将用Go语言从零到一编写ORM框架,目前先把所用技术讲一遍,大家可以尽情期待,可以关注【迈莫coding】,了解最新状况。目录反射概念reflect包反射类型(Type)和种类(Kind)反射类型(Type)使用反射类型对象(TypeOf)使用结构体对象变量常量指针反射获取结构体的成员类型介绍structField结构演.原创 2021-01-10 21:26:42 · 833 阅读 · 0 评论 -
阿里面试,死磕ThreadLocal源码,原来是这样回答的
前言我朋友cute轩前几天面试,正好阿里爸爸看他读过JUC包下源码,直接提起面试官小哥哥的兴趣,直接死磕ThreadLocal源码,面完试已经汗流浃背了,犹如一场高手对决,辛亏他看完源码。咱也看看ThreadLocal运行原理是什么,今天就好好分析ThreadLocal源码。ThreadLocal是什么?ThreadLocal是JUC包下提供的,它提供了本地变量,也就是让每个线程都有自己的独立空间来存储变量,且该变量不会受到其他线程的影响,也可以理解为每个线程都可以在自己的独立空间中操作变量,不会影响原创 2020-07-03 23:57:15 · 861 阅读 · 0 评论 -
大厂面试必备:LRU算法-删除最近最未少使用算法(详细附源代码)
LRU算法什么是LRU算法LRU算法又叫删除最近最未使用算法,是一种缓存淘汰策略。计算机中的容量是有限的,如果内存满了的话,那么就要删除旧的数据来满足让新数据可以填充进入,那么问题来了,什么样的数据就是要被删除的数据?LRU缓存算法是一种常用的策略。全名又称Least Recently Used,也就是说我们认为最近使用过的数据应该是是「有用的」,很久都没用过的数据应该是无用的,内存满了就优先删那些很久没用过的数据。使用场景比如说现在有一个鞋柜,里面可以存放6双鞋,每新买一双鞋,你都要将新鞋存原创 2020-06-27 15:13:14 · 448 阅读 · 0 评论 -
List集合源码解析
List集合源码解析由图所知,List接口实现类有ArrayList,Vector,LinkedList,其中ArrayList和LinkedList最为常用,下面着重介绍这个实现的源码ArrayListpublic class ArrayList<E> extends AbstractList<E> implements List<E>...原创 2019-12-12 19:43:36 · 222 阅读 · 0 评论