朝花夕誓
12
16
结构型-门面模式 结构型-门面模式
一、介绍门面模式(也叫外观模式,Facade Pattern)在许多源码中有使用,比如 slf4j 就可以理解为是门面模式的应用。 有一个接口,我们可以在不改变接口原有实现类的情况下,提供一个门面类,通过调用门面类的方法,让门面类帮我们决定
2022-12-16
15
结构型-装饰模式 结构型-装饰模式
一、介绍装饰模式是一种结构型设计模式, 允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。 其实是装饰对象和被装饰对象都实现了同一个接口,装饰对象有一个成员变量指向被装饰对象,在调用装饰对象方法时,执行装饰者的扩展方法后,
2022-12-15
08
08
MyBatis源码(5)-缓存机制 MyBatis源码(5)-缓存机制
一、MyBatis 缓存简介①、一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap
2022-12-08
06
MyBatis源码(4)-插件机制 MyBatis源码(4)-插件机制
一、介绍一般开源框架都会提供扩展点,让开发者自行扩展,从而完成逻辑的增强。 通过Mybatis插件可以实现对框架的扩展,来实现自定义功能,并且对于用户是无感知的。 基于插件机制可以实现了很多有用的功能,比如说分页,字段加密,监控等功能,这种
2022-12-06
03
线上诊断工具Arthas 线上诊断工具Arthas
一、介绍Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题
2022-12-03
11
27
time time
一、时间类型1、TimeGo 语言中使用time.Time类型表示时间。我们可以通过time.Now函数获取当前的时间对象,然后从时间对象中可以获取到年、月、日、时、分、秒等信息。 // timeDemo 时间对象的年月日时分秒 func
2022-11-27
23
函数 函数
一、函数语法1、函数定义Go语言中定义函数使用func关键字,具体格式如下: func 函数名(参数)(返回值){ 函数体 } 其中: 函数名:由字母、数字、下划线组成。但函数名的第一个字母不能是数字。在同一个包内,函数名也称不能
2022-11-23
22
flag flag
一、os.Args如果你只是简单的想要获取命令行参数,可以像下面的代码示例一样使用os.Args来获取命令行参数。 package main import ( "fmt" "os" ) //os.Args demo fu
2022-11-22
22
log log
Go语言内置的log包实现了简单的日志服务。本文介绍了标准库log的基本使用。 一、使用Loggerlog包定义了Logger类型,该类型提供了一些格式化输出的方法。本包也提供了一个预定义的“标准”logger,可以通过调用函数Print系
2022-11-22
21
结构体 结构体
一、Go面向对象说明 Golang也支持面向对象编程(OOP),但是和传统的面向对象语言有区别,不是存粹的面向对象语言。所以说Golang支持面向对象编程特性更合适。 Golang中没有类(Class),Go语言中的结构体(struct)和
2022-11-21
21
fmt fmt
fmt包实现了类似C语言printf和scanf的格式化I/O。主要分为向外输出内容和获取输入内容两大部分。 一、向外输出标准库fmt提供了以下几种输出相关函数。 PrintPrint系列函数会将内容输出到系统的标准输出,区别在于Print
2022-11-21
2 / 6