摘要:自定义同步器 假如你想要实现一个自定义同步器,官方推荐的做法是将继承了AQS类的子类作为自定义同步器的内部类,而自定义同步器中相关的操作只需代理成子类中对应的方法即可。往下用一个简单的例子看看如何实现自己的锁,由于同步器被分为两种模式,独占模式和共享模式,所以例子也对应给出。 独占式 独占模式采取的 阅读全文
posted @ 2020-12-08 16:49 技术-刘腾飞 阅读(7) 评论(0) 推荐(0) 编辑
摘要:序列化:ProtoBuf 与 JSON 的比较 ! 介绍 ProtoBuf 是google团队开发的用于高效存储和读取结构化数据的工具。什么是结构化数据呢,正如字面上表达的,就是带有一定结构的数据。比如电话簿上有很多记录数据,每条记录包含姓名、ID、邮件、电话等,这种结构重复出现。 同类 XML、J 阅读全文
posted @ 2020-12-08 16:15 技术-刘腾飞 阅读(137) 评论(0) 推荐(0) 编辑
摘要:AOP AOP面向切面编程,生成目标方法所属类的代理类。代理类和目标类的关系:代理类继承目标类,并重载了目标类的方法。代理类重载方法体里加入了切面业务逻辑和目标类方法的调用。 用户如何使用:从容器中获取目标类,实际上是获取代理类的实例, 代理类实例调用重载了父类的方法,就实现了AOP。 AOP为As 阅读全文
posted @ 2020-12-05 18:03 技术-刘腾飞 阅读(14) 评论(0) 推荐(0) 编辑
摘要:ElasticSearch一看就懂之分词器edge_ngram和ngram的区别 1 year ago edge_ngram和ngram是ElasticSearch自带的两个分词器,一般设置索引映射的时候都会用到,设置完步长之后,就可以直接给解析器analyzer的tokenizer赋值使用。 这里 阅读全文
posted @ 2020-11-16 20:18 技术-刘腾飞 阅读(209) 评论(0) 推荐(0) 编辑
摘要:简介 对于用户来说,响应的快慢是判断一个系统的重要指标,缓存就是必不可少的优化工具,在一个高并发的场景中往往占有着非常重要的角色,所以开发人员需要根据不同的应用场景来选择不同的缓存框架,比如分布式缓存redis,或者进程缓存GuavaCache。 收存储的元素,而GuavaCache是一款非常优秀的 阅读全文
posted @ 2020-11-07 14:45 技术-刘腾飞 阅读(57) 评论(0) 推荐(0) 编辑
摘要:struct -- 结构体 struct Go语言中,也和C或者其他语言一样,我们可以声明新的类型,作为其它类型的属性或字段的容器。 例如,我们可以创建一个自定义类型person代表一个人的实体。 这个实体拥有属性:姓名和年龄。这样的类型我们称之struct。 如下代码所示: type person 阅读全文
posted @ 2020-10-27 10:45 技术-刘腾飞 阅读(44) 评论(0) 推荐(0) 编辑
摘要:main函数和init函数 Go里面有两个保留的函数:init函数(能够应用于所有的package)和main函数(只能应用于package main)。 这两个函数在定义时不能有任何的参数和返回值。 虽然一个package里面可以写任意多个init函数,但这无论是对于可读性还是以后的可维护性来说, 阅读全文
posted @ 2020-10-26 16:21 技术-刘腾飞 阅读(16) 评论(0) 推荐(0) 编辑
摘要:传值与传指针 当我们传一个参数值到被调用函数里面时,实际上是传了这个值的一份copy, 当在被调用函数中修改参数值的时候,调用函数中相应实参不会发生任何变化,因为数值变化只作用在copy上。 为了验证我们上面的说法,我们来看一个例子 package main import "fmt" //简单的一个 阅读全文
posted @ 2020-10-26 16:07 技术-刘腾飞 阅读(47) 评论(0) 推荐(0) 编辑
摘要:Go语言中的内建函数new和make是两个用于内存分配的原语(allocation primitives)。简单来说,new只分配内存,make用于slice,map,和channel的初始化。 内置函数new按指定类型长度分配零值内存,返回指针,并不关心类型内部构造和初始化方式。 内置函数make 阅读全文
posted @ 2020-10-26 15:55 技术-刘腾飞 阅读(37) 评论(0) 推荐(0) 编辑
摘要:粘包和拆包 产生粘包和拆包问题的主要原因是,操作系统在发送TCP数据的时候,底层会有一个缓冲区,例如1024个字节大小,如果一次请求发送的数据量比较小,没达到缓冲区大小,TCP则会将多个请求合并为同一个请求进行发送,这就形成了粘包问题;如果一次请求发送的数据量比较大,超过了缓冲区大小,TCP就会将其 阅读全文
posted @ 2020-10-23 15:58 技术-刘腾飞 阅读(56) 评论(0) 推荐(0) 编辑