- 博客(60)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Go语言入门-方法
Go语言入门-方法概念A method is a function with a receiver. A method declaration binds an identifier, the method name, to a method, and associates the method with the receiver’s base type.方法是一种特殊的函数,绑定一个receiver。 与接收者的基本类型关联。基本语法--官方描述MethodDecl = "func" Re
2020-06-10 15:45:25
507
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Go语言入门-流程控制(for、switch、select、range、break、goto、continue)
Go语言入门-流程控制条件语句 if语句 if语句语法if bool表达式 { //左花括号必须跟随bool表达式 //当bool表达式为true是执行。 Todo....}示例如下:package mainfunc main() { a := 10 if a >= 10 { println("a 大于等于10") //10 } if a <100 { println("a小于等于100") //100 }}/**ou
2020-05-08 23:46:14
904
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Go语言入门-类型
go语言入门-类型基本类型基础数据类型 类型、长度、默认值、说明介绍字面值常量引用类型未命名类型类型转换类型长度 (单位Byte)默认值说明bool1falsebyte10同uint8int4/80默认的整数类型,具体位数取决于平台,32bit的OS长度为4,64位OS长度为8uint4/80无符号整数,具体位数取决于平台,32bit的OS长度为4,64位OS长...
2020-05-07 19:15:44
475
原创 IDEA Maven工程 Process terminated 和Cannot resolve 问题解决
IDEA Maven工程 Process terminated 和Cannot resolve 问题解决背景导入一个新的maven项目1.ReloadAllMavenProjects2.报错:Cannot resolve javax.servlet:javax.servlet-api:unknown报错截图如下:3.进行mavenclean报错:Process terminated4. 检查settings文件配置发现非原来使用的setti...
2020-12-10 19:32:39
1274
原创 DisposableBean接口中的destroy为什么没有执行?
DisposableBean接口中的destroy为什么没有执行?问题示例import org.springframework.beans.factory.DisposableBean;import org.springframework.context.support.AbstractApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;/** * @Au
2020-10-27 21:34:01
2056
原创 设计模式-桥接模式的实现[JAVA]
设计模式-桥接模式的实现[JAVA]decouple an abstraction from its implementation so that the two can vary independently", introduced by the Gang of Four–翻译过来是:将抽象与实现解耦,以便让他们独立变化。直接理解起来确实比较难理解,我个人的理解偏像另一种表述“一个类存在两个或两个以上的独立变化的维度,然后通过组合的方式,让这两个或者多个维度上可以进行独立的扩展。”,个人对这个模式的理
2020-10-16 17:17:09
373
1
原创 记一次排查-undefined symbol libiconv_open的问题
记一次排查-undefined symbol libiconv_open的问题问题描述:开发环境调用某一个库的时候,终端打印:undefined symbol libiconv_open 程序异常退出排查方案:第一反应就是 libiconv_open这个函数在动态库test.so(test.so-做脱敏处理),没有定义啊。1. 在动态库相关的代码目录下找libiconv_open定义的地方两个命令如下:> grep libiconv_open *Binary file
2020-10-16 15:55:40
3086
2
原创 设计模式-代理模式的实现[JAVA]
设计模式-代理模式的实现[JAVA]A proxy, in its most general form, is a class functioning as an interface to something else. The proxy could interface to anything: a network connection, a large object in memory, a file, or some other resource that is expensive or impo
2020-10-15 15:32:07
267
原创 设计模式-原型模式的实现[JAVA]
设计模式-原型模式的实现[JAVA]及问题整理-面试必备-超详The prototype pattern is a creational design pattern in software development. It is used when the type of objects to create is determined by a prototypical instance, which is cloned to produce new objects. This pattern is u
2020-09-23 15:47:05
301
原创 设计模式-生成器模式的实现[JAVA]
设计模式-生成器模式的2种不同实现[JAVA]及问题整理-面试必备-超详摘要The builder pattern is a design pattern designed to provide a flexible solution to various object creation problems in object-oriented programming. The intent of the Builder design pattern is to separate the constru
2020-09-16 20:11:30
383
原创 设计模式-工厂模式的3中不同实现[JAVA]
设计模式-工厂模式的3中不同实现[JAVA]及工厂问题整理-面试必备-超级详细工厂模式简介In Factory pattern, we create object without exposing the creation logic to the client and refer to newly created object using a common interface.可以简单理解为:通过共用的接口或者工厂来创建对象,而不需求关注对象创建细节。调用端与工厂进行交互,与对象进行解耦。3种不
2020-09-15 17:39:18
463
原创 设计模式-单例模式的八种不同实现[JAVA]
设计模式-单例模式-八种不同实现[JAVA]及单例问题整理-面试必备-超级详细单例模式简介the singleton pattern is a software design pattern that restricts the instantiation of a class to one “single” instance.简单可以理解为:一个类在程序运行期类只能创建唯一的一个对象。7种不同的实现版本【JAVA8实现】普通的静态实例实现本质为饿汉式,启动时就加载,实现也比较简单,如
2020-09-14 17:35:18
355
原创 Go语言入门-原子操作
Go语言入门-原子操作什么是原子操作参考笔者博文 原子操作:CAS、TAS、TTAS、FAA浅析Go语言中的atomic包Atomaic包中提供了原子的操作包括:数据读取类函数 LoadXXX()数据写入类函数 StoreXXX()数据自增(FFA)类函数 AddXXX()数据交换类函数 SwapXXX()比较并交换(CAS)函数 CompareAndSwapXXX()方法列表// SwapInt32 atomically stores new into *addr and retu
2020-07-11 15:37:14
655
原创 原子操作:CAS、TAS、TTAS、FAA浅析
原子操作:CAS、TAS、TTAS、FAA浅析什么是原子操作原子操作(atomic operation)是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切换到另一个线程)。保证访问共享资源是唯一的。一般原子操作需要CPU等硬件支持,使用硬件同步原语来实现原子操作。常用的原语有CAS(compare-and-swap)、TES(test-and-set)、FAA(fetch-and-add)CAS什么是CAS在计算机科学中
2020-07-11 15:07:56
5165
1
原创 Go语言入门-并发
Go语言入门-并发什么是并发1. 并发:在同一个时间段能够执行多个任务,把时间段分解为时间片,在不同的时间片通过状态切换来执行不同任务。(单个cpu)提到并发,就得提出另一个相关联的概念并行2. 并行:在同一个时间点执行的任务有多个。(多个cpu的情况)多核情况下并发和并行是可以组合的。而Go语言的并发goroutine也就是协程机制,像java中并发使用的是线程池也就是线程。至于线程和协程的区别。可以从以下进行区分:协程:独立的、更小的栈空间、共享堆、调度可以在用户态控制、没有优先级、没有编
2020-07-10 00:03:34
375
2
原创 Go语言入门-反射
Go语言入门-反射概述定义Reflection in computing is the ability of a program to examine its own structure, particularly through types; it’s a form of metaprogramming. It’s also a great source of confusion.反射(Reflection )在运行时程序检查其自身结构的能力,特别是常用于类型中,能让程序在运行时检查和获取对象
2020-06-22 21:32:01
397
原创 Go语言入门-接口
Go语言入门-接口概述定义An interface type specifies a method set called its interface. A variable of interface type can store a value of any type with a method set that is any superset of the interface. Such a type is said to implement the interface. The value of
2020-06-16 21:08:05
678
原创 Go语言入门-struct结构
Go语言入门-struct结构关键字typeGo语言中使用type关键字自定义类型。The new type is called a defined type. It is different from any other type, including the type it is created from.语法TypeDecl = "type" ( TypeSpec | "(" { TypeSpec ";" } ")" ) .TypeSpec = AliasDecl | TypeDef
2020-06-04 00:46:46
685
原创 Go语言入门-错误处理
Go语言入门-错误处理错误到底是什么?错误在go中是一个接口类型,便于自定义错误扩展。// The error built-in interface type is the conventional interface for// representing an error condition, with the nil value representing no error.type error interface { Error() string}创建第一个错误变量标准库创建错误变量
2020-06-01 21:27:39
338
原创 Go语言入门-异常处理-pannic和recover
Go语言入门-异常处理-pannic和recover简述Go语言try…catch结构化的异常机制,但是可以使用panic进行错误的抛出,使用recover来进行异常恢复处理。基础语法func panic(interface{})func recover() interface{}使用场景Go语言函数中可以抛出一个运行时恐慌后,然后通过defer使用recover来处理运行时恐慌。panic和recover是内置函数。而不是语句。由于panic参数是空接口类型,因此可使用任何对子昂作为
2020-06-01 20:26:47
1228
原创 生成16位、8位的pinblock(JAVA实现)
生成16位、8位的pinblock引言最近在对接某金融行业的改造需要生成国密的pinblock,网上找不到生成16位的pinblock的实现。因此查下网上代码自己实现了一遍pinblock的生成,分别可以生成8位的pinblock和16位的pinblock,此代码的实现使用java版本实现。废话不多上直接上代码代码import java.util.Arrays;/** * * @Package: PACKAGE_NAME * @Description: for pinb.
2020-05-21 17:14:33
1738
1
原创 傻瓜式离线安装VScode插件
傻瓜式离线安装VScode插件本教程绝对简单、明确。下载插件插件市场链接VSCODE插件市场(https://marketplace.visualstudio.com/)1. 点开链接后如下:2. 输入要下载的插件结果如下:3. 选择我自己最喜欢的VIM插件(按需选择)如下:4. 选择路劲保存> 以上下载完成。安装插件看到网上用命令行安装的。。会有各种各样的问题,我这边也遇到了,因为我自己的是绿色版本的vscode,因此要爱给code.exe配置环境变量。。越装越烦。
2020-05-14 20:51:23
1449
原创 AIX相关操作命令整理
AIX相关操作命令整理基本1. 获取AIX位数/usr/bin/getconf HARDWARE_BITMODE2. 查看编译器版本-todocc
2020-05-14 17:36:25
569
原创 Go语言入门-延迟调用-defer
Go语言入门-延迟调用-defer定义语句defer想当前函数注册一个稍微执行的函数调用,它会在主调函数或者方法返回之前但是其返回值(当返回值存在)计算后执行。存在多个defer语句采用后进先出LIFO(Last In First Out)的顺序执行主要用于释放资源、解出锁定、以及错误处理等场景。实例1简单的展示defer函数调用func main() { defer fmt.Println("end") fmt.Println("start")}/**output:start
2020-05-13 23:59:28
395
原创 Go语言入门-函数function类型探索
Go语言入门-函数-function定义Go语言中函数面向过程编程中最小的模块单元,具备输入、输出的功能,完成从输入到输出的转换,主要是把业务逻辑或者算法分解成具备单一功能,独立解耦的程序块。函数签名函数的签名包括:关键字 “func”、函数名称、函数参数、函数返回值。Go语言的函数定义格式://多个返回值,需要用括号包裹起来func functionName([parameterList]) ([returnTypes]) { ... body ...}//返
2020-05-12 21:39:15
724
原创 Go语言入门-常用数据结构之字典-map
Go语言入门-常用数据结构之字典-map定义概述A map is an unordered group of elements of one type, called the element type, indexed by a set of unique keys of another type, called the key type. The value of an uninitialized map is nil.–字典是一种类型的无序元素组,称为元素类型,由唯一键(称为键类型)索引关联其他
2020-05-11 18:09:42
725
原创 Go语言入门-常用数据结构之切片slice
Go语言入门-常用数据结构之切片slice定义概述A slice is a descriptor for a contiguous segment of an underlying array and provides access to a numbered sequence of elements from that array.The number of elements is called the length of the slice and is never negative. The
2020-05-10 22:31:19
456
原创 Go语言入门-常用数据结构之数组
Go语言入门-常用数据结构之数组定义概述An array is a numbered sequence of elements of a single type, called the element type. The number of elements is called the length of the array and is never negative.-数组是单一类型元素(元素类型)组成并且被编号序列。 元素的数量称为数组的长度,绝不能为负。这句话体现数组的几个特点:数组中
2020-05-10 11:16:44
739
原创 goland格式化代码快捷键
goland格式化代码快捷键win快捷键:ctrl + alt +I其他OS或者修改过快键键。可以通过设置中查找具体路径:settings->Keymap->输入 indent搜索->选择code下Auto-Indent Lines 查找指定快捷键。
2020-05-09 16:33:26
10368
原创 Go语言select、switch中使用break有用吗?
Go语言select、switch中使用break有用吗?问题-select中使用break有用吗?直接上select和break的示例func test1() { select { case <-time.After(time.Second): fmt.Println("一秒后执行") //break default: }}func test1() { select { case <-time.Aft
2020-05-09 14:37:42
9074
2
原创 GO语言入门-运算符
GO语言入门-运算符目录GO语言入门-运算符概述:分类:算数运算符关系运算符号逻辑运算符位运算符赋值运算符优先级自增自减概述:go语言内置的运算符号可以分为算数运算符、关系运算符、逻辑运算符、位运算符、赋值运算符。全部的运算符如下:全部运算符号及分隔符列表(来自《go语言学习笔记》) + & += &= ...
2020-05-08 12:59:58
478
原创 Go语言入门-关键词和命名方式
go语言入门-关键字和命名方式关键字go语言只有25个关键词break default func interface select case defer go map struct chan else goto package switch const fal...
2020-05-08 10:30:31
304
原创 go语言入门-常量补充整型最大值最小值
go语言入门-常量补充整型最大值最小值引言go 语言中没有整型最大值最小值常量,查看java源码看以看出是常量值是写死在代码中,如下 @Native public static final int MIN_VALUE = 0x80000000; /** * A constant holding the maximum value an {@code int} c...
2020-04-30 15:43:20
694
原创 go语言入门-常量(const和itoa)
go语言入门-常量定义常量:常量标识恒定不变的值,区别于变量var。var-变量不赋值存在默认值,但是常量声明是必须显示赋值。常量关键字:const常量不能使用 “:=” 语法定义。声明方式普通声明方式const E float64 = 1.602const EE = 1.602 // 类型可以省略批量声明方式常用声明使用方式const ( A = 'A' B = 'B...
2020-04-29 18:04:14
2490
原创 go语言入门-变量
go语言入门-变量变量声明的方式普通声明方式-不赋值var name string //""var score float32 //0.0fvar isFail bool //false批量声明方式-不复制var ( name string //"" score float32 //0.0f isFail bool //false)不管是批量声明还是普通声明方式...
2020-04-28 00:50:59
255
原创 ZooKeeper安装(单机+伪集群模式)-LINUX
ZooKeeper安装(单机+伪集群模式)-LINUX单机安装 地址:zookeeper发行链接 选择择所需要的版本,本地选择 zookeeper-3.4.14 下载 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.ta...
2020-03-30 11:13:28
378
原创 GO语言变量作用域-坑记录
GO语言变量作用域-坑记录1、main包的全局变量,其他文件无法使用。解决办法:全局变量放置在其他包中进行引用2. 同名变量局部变量优先于全局变量,但是在使用 := 进行类型推导时会默认创建一个局部变量,该局部变量若与全局变量同名,则不会影响全局变量值。解决办法:尽量避免直接使用全局变量,使用函数封装。 少用 := 类型推导式示例代码如下:package main...
2019-12-05 10:43:29
575
1
原创 尖括号转义-C语言实现版本
需求:字符串是xml格式的字符串,但是某个标签值存在尖括号,需要把'<'替换成"<",把'>'替换成">"例如:0123456789<Root><>r423><432423<<</Root>3gfdgfd转换后0123456789<Root><&g...
2019-11-26 17:23:12
1052
DB2驱动包 db2jcc4.jar db2jcc4.jar
2018-08-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人