- 博客(13)
- 问答 (1)
- 收藏
- 关注
原创 Golang基础包 | reflect包相关 | 反射能力
反射反射是指在程序运行期对程序本身进行访问和修改的能力。如果需要搭建功能强大的框架,那么反射是必学的,他能动态的对属性进行修改。1 变量机制变量包含类型信息和值信息类型信息:reflect.TypeOf,是静态的元信息,是预先定义好的,比如名称、tag信息等值信息:reflect.ValueOf,是动态的,程序运行过程中会改变2 获取、修改信息反射可以在运行时动态获取程序的各种详细信息,根据类型信息,switch分情况处理package mainimport ( "fm
2021-11-25 15:12:25
503
原创 Grpc框架入门,无需视频,资料已上传gitee
GRPC框架源代码:https://gitee.com/g_night/grpc-demo安装go get github.com/golang/protobuf/protogo get google.golang.org/grpcgo get github.com/golang/protobuf/protoc-gen-gogo get google.golang.org/protobuf/reflect/protoreflectgo get google.golang.org/protobu
2021-11-19 21:05:09
494
原创 [Go-框架] Gin框架入门 一天上手教程
Gin框架基本安装1.首先需要安装Go(需要1.10+版本),然后可以使用下面的Go命令安装Gin。go get -u github.com/gin-gonic/gin2.将其导入您的代码中:import “github.com/gin-gonic/gin”使用范例:package mainimport ( "net/http" "github.com/gin-gonic/gin")func main() { // 1.创建路由 r := gi
2021-09-26 16:15:17
2688
2
原创 【GoLang】defer的坑与应用 - 第一节
defer的坑与应用【第一节】一、使用defer修改返回值实际应用中可以使用defer修改有名返回值,具体操作如下:func GetNum() (x int) { x = 10 defer func() { x = 20 }() return}但是需要注意,不要在defer中申请同名参数,如果使用以下形式,那么有由于局部参数的问题,会导致修改失败func hello() (x int) { x = 10 defer func() { x := 20 // 注意改
2021-08-10 23:22:07
682
1
原创 【工厂模式实战】IOC的实现:配置文件版、注解版
工厂模式实现本期是【随手系列】,把自己无聊做的东西发出来。使用过Spring、Springboot的同学可能会疑惑框架是如何实现IOC,这里就不得不谈一下工厂模式的妙用了。本文会介绍一下基本的实现方式,感兴趣就一起动动手吧!IOC:控制反转,实现解耦,通过反射的方式将需要的Bean注入,不再是代码显式new出来。系统架构图:BeanInfo:存储类信息,使用一个Map来实现存储。id为其标识符名称,type记录其全限定类名。BeanFactory:IOC容器的顶级接口,定义了获取Bean
2021-03-31 22:16:56
552
4
原创 Springboot整合Redis哨兵模式(Windows版本学习)
Springboot整合Redis哨兵模式说明:使用3台redis和3个哨兵(sentinel)保证集群可用性哨兵系统的作用: 监控、自动故障转移、配置提供者、通知。本展示基于windows系统仅供参考,实际应用不会部署在同一台机器,也不会部署在windows上设置主从机的redis配置文件主机配置:port 6380loglevel noticelogfile "D:/redis-logs/redis6380_log.txt"appendonly yesappendfilen
2021-03-12 23:51:20
388
1
原创 Redis面试经验
Redis面经总结回答以下问题进行自测:redis常用数据类型?redis常用数据类型包括:string、hash、list、set、zset,特殊数据类型有:geospatial、Hyperloglog 、Bitmaps 。geospatial可以用于记录推算两地距离,其实底层就是zset,Hyperloglog 基数(不重复元素),优点:占用的内存是固定,2^64 不同的元素的技术,只需要占用 12KB内存。缺点:高并发有一定错误率,如果不能接受错误率(0.81%)就用set,不过这个用于纪律
2021-02-25 16:37:56
1012
2
原创 【课程学习】多线程基础应用
多线程基础应用本文讲述简单的多线程应用:1、多线程排序,即把数据存放在一维数组中,首先对数据进行分段,接着对每 一段数据采用经典排序算法实现排序,最后把各段数据进行合并排序。请完成程序编写。2、多线程求数组最大值,即把数据存放在一维数组中,首先对数据进行分段, 接着对每一段数据求得最大值,最后把各段数据最大值进行比较从而得出整个 数组的最大值。请完成程序编写。3、采用线程实现“生产者-消费者”编程的基础模型。第一题:多线程排序先试一下我们不用多线程的情况,以快速排序为例package ad
2020-12-18 00:01:37
4609
5
原创 Docker学习|Java后端必备技能|入门一篇就够了
Docker学习平常的产品发布的时候,我们根据不同平台需要配置不同的环境,大大增加了我们的工作。而Docker就可以简化我们的工作,Docker镜像的设计,使得Docker得以打破过去**「程序即应用」**的观念。透过镜像(images)将作业系统核心除外,运作应用程式所需要的系统环境,由下而上打包,达到应用程式跨平台间的无缝接轨运作。可以想象成Docker就是简单的虚拟机。Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装
2020-08-19 17:39:49
1830
1
原创 [算法专题] N皇后问题|回溯算法|简单易懂效率还高
N皇后难度:困难n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。**注意:**leetcode上有两个n皇后,难度都是困难,其实处理没什么区别,都可以采用回溯法,一个是返回List,一个是返回数字。这里将题目修改为输出:个数 + List,如果你只需要返回List或者返回数字,可以将代码
2020-06-14 13:34:25
644
原创 JUC多线程|从入门到面试题
多线程如果你对多线程没什么了解,那么从入门模块开始。如果你已经入门了多线程(知道基础的线程创建、死锁、synchronized、lock等,并不代表后面不讲,只是后面需要有基础才好深入),那么从juc模块开始。(点此跳转 )入门模块基本概念解释程序:静态代码,一串指令的集合进程:资源分配的单位线程:调度和执行的单位,有独立的运行栈和程序计数器并行:多个CPU同时执行多个任务并发:单个CPU同时执行多个任务多线程的创建 & 使用方法1:继承Thread类步骤:exten
2020-06-11 11:36:59
1903
1
原创 基于阿里云的人脸识别
基于阿里云的人脸识别看到了阿里云的视觉智能开放平台,就用它的功能玩一下,分享一下自己的做的小东西准备事项搜索视觉智能平台(阿里云),注册认证搜索图像分割,目前不收费免费试用开通功能后获取自己的 KA选择地域,我后面的示例使用上海----华东2(上海)编写程序步骤导入依赖<!--阿里云sdk、imageseg依赖--><dependency> <groupId>com.aliyun</groupId> <artifac
2020-05-23 23:52:29
1764
3
原创 必须了解的SpringBoot知识:自动装配原理和自定义starter
SpringBoot自动装配原理 & 自定义starterSpringboot自动装配的原理学了Springboot后,秉承着不能只做框架的搬运工,最好是了解一下框架是如何运行的,方便自己成为更好的搬运工……在主程序入口我们可以看到一个注解 @SpringBootApplication,这个注解的核心三个注解为:@ComponentScan — 扫描组件&自动装配@SpringBootConfiguration — 继承@Configuration注解,加载配置文件@Enabl
2020-05-14 12:02:01
978
空空如也
go get 和 gitee发行版不一致
2021-06-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅