自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(193)
  • 资源 (2)
  • 收藏
  • 关注

原创 go-defer的用法及执行原理

Go 中有几个比较特殊的关键字,如 defer,尤其 defer+panic+recover的组合可以发挥出 java 中 try...catch...fanilly 的作用,功能非常强大,值的去深入学习。同时他们每个又有自身的特性,这一节我们先来理解一下 defer。defer 关键字在 go 中的使用率算是非常高的,类似于 finally 与 析构函数的作用,用来做方法的善后工作。1. 怎么使用?defer 后面会接受一个函数,但该函数不会立刻被执行,而是等到包含它的程序返回时(包含它的函数执行了

2020-09-30 16:24:31 1819

原创 go-包引入的不同方式-点,下划线与别名操作

今天在使用go语言进行数据库连接的时候,发现了一种很特别的包导入方式import ( _ "github.com/go-sql-driver/mysql" "github.com/jinzhu/gorm")包前面有个下划线,这是怎么意思呢?怀着好奇的态度去研究了一下包的导入方式,发现有好几种特殊的导入方法,让我们一一去揭开它的神秘面纱。正常导包import ( "fmt" // 标准库 "./hello" // 相对路径导入,当前文件同一及的hello文件夹 "uti

2020-07-30 14:02:08 316

原创 微服务-从零开始用eureka+zuul+cloud config+boot admin+feign+ribbon+zipkin构建微服务脚手架

实战顺序1. 搭建 spring cloud 微服务脚手架2. 基本概念3. 进入实战3.1 创建项目3.2 搭建 eureka 注册中心3.2.1 设置依赖3.2.2 创建启动类3.2.3 创建 `application.yml` 配置文件3.3 搭建生产者服务3.3.1 设置依赖3.3.2 创建启动类3.3.3 创建 `application.yml` 配置文件3.3.4 提供 Controller 服务3.3.5 启动生产者服务3.4 搭建消费者服务3.4.1 设置依赖3.4.2 创建启动类3.4

2020-05-31 22:01:20 635 2

原创 go-error-启动错误-open usrlocalgopkgdarwin_amd64runtimecgo.a: permission denied

用 ide 启动时报下面的错误:open /usr/local/go/pkg/darwin_amd64/runtime/cgo.a: permission denied那进入启动配置项里面,看看启动的时候是否有加 -i 标志/usr/local/go/bin/go build -i -o ...如果有的话,将这个 -i 去掉就可以了参考文章:https://github.com/golang/go/issues/37962...

2020-09-30 16:32:51 1017

原创 go-error-启动错误-import cycle not allowed

今天在启动 go 项目时报出了下面的错误,导致启动失败:import cycle not allowed根据字面意思猜测是导入出现了循环,再查一下资料,确实是这个意思,golang 不允许循环导包, 如果检测到import cycle,会在编译时报错。仔细检查包之间的导入,去掉循环导入就可以了。比如有两个 package,下面两种情况会出现报错:import( "package A" "package B")第一种:如果 package A 中已经导入 package B,而本

2020-09-30 16:30:51 1043

原创 go-在Mac,linux及Windows下进行交叉编译

go语言没有如 java 一样的 jvm 虚拟机,那么它是如何实现在跨平台运行的呢?实际上 go 语言使用了另外一种思路,java是一处编译处处使用,而go是一次代码处处编译吧(可能我这个名字起的不太好)。说句人话,它直接将代码编译成不同平台对应的机器码,在不同平台上直接运行,根本不需要虚拟机,这也是我认为 go 最大的好处了(不过它的语法实在是太扯了)。说到这里,它到底怎么用呢?就不得不提交叉编译这个概念了,因为我们一般是在 windows/mac 开发,在linux上部署。也就是说我们需要在 wi

2020-09-30 16:21:11 1099

原创 go-指针数组与数组指针的区别

首先回顾一点,在go中变量的参数传递都是值传递(也就是拷贝),而引用传递必须用指针来传递地址,这就是与java最大的不同,因为java中的对象传递都是引用传递。1. 结果输出区别red, yellow, blue := "red", "yellow", "blue"// 普通数组colors := [3]string{red,yellow,blue}fmt.Println(colors) // [red yellow blue]// 数组指针var ap *[3]string = &a

2020-09-30 16:16:14 288

原创 go-数据类型没有隐式转换

go语言的静态性体现在类型上,需要显示定义与显示转换,是一种强类型语言。var str string = "hello world"之所以下面这种写法也可以通过,是因为编译器在编译期间自动做了类型推断,编译器会对数据进行类型检查。// 是可以编译通过的str := "hello world"而实际上不同类型的数据是不能赋值与传参的str := "hello world"fmt.Println("str的长度:%d" + len(str)) // 会报错的,字符串无法与数字类型相加go

2020-07-30 14:05:52 688 1

原创 go-基本数据类型及范围-与Java有很大区别

1. 基本数据类型数值型 int浮点型 floatboolbyte2. int 范围int范围int8-128 - 127int16-323768 - 323767int32-2,147,483,648 -> 2,147,483,647int64-9,223,372,036,854,775,808 -> 9,223,372,036,854,775,807uint80 - 255uint160 - 65535uin

2020-07-30 14:04:39 559

原创 git-第一次将本地项目push到远程github或gitlab或码云中

导航下面是你将遇到的三种情况1. 本地创建一个新项目2. 上传一个已存在的项目3. 上传一个已存在的git项目4. 可能出现的问题在执行下面操作时,首先要保证你自己的电脑有设置 ssh 免密通信下面是你将遇到的三种情况1. 本地创建一个新项目git clone ssh://git@XXX/XXX/XXX.gitcd roma-doctouch README.mdgit add README.mdgit commit -m "add README"git push -u origin mas

2020-05-28 21:59:49 1085

原创 git-设置和取消网络代理

文章导航1. 查看代理2. 设置代理3. 取消代理1. 查看代理git config --global http.proxygit config --global https.proxy2. 设置代理git config --global https.proxy [http://127.0.0.1:1080](http://127.0.0.1:1080/)git config --global https.proxy [https://127.0.0.1:1080](https://127.

2020-05-28 21:51:09 492 1

原创 git-ignore文件规范与示例

文章导航1. java开发示例2. .gitignore 规则示例:3. 文件 .gitignore 的格式规范:4. 所谓的 glob 模式是指 shell 所使用的简化了的正则表达式5. .gitignore 规则不生效的解决办法在 git 中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如果没有这个文件,则需自己手工建立此文件)。1. java开发示例下面这个可以直接拿来用,基本包含了常用的 IDE/target/!.mvn/wra

2020-05-28 21:49:12 338

原创 git-在 windows 上安装配置 GUI 界面

文章导航1. 安装git (从官网下载安装包)2. 用命令验证 git 是否安装好3. 配置全局的用户名和邮箱4. 帮助文档1. 安装git (从官网下载安装包)https://git-scm.com/download/gui/win图形化界面安装,一路往下走就可以。2. 用命令验证 git 是否安装好右键点击桌面,选择 git bash here, 会打开git client$ git --version3. 配置全局的用户名和邮箱$ git config --global user.

2020-05-28 21:45:53 476

原创 一年没有用 CSDN , 之后持续更博

很久没有在 CSDN 上更新过博客了,之后决定继续在 CSDN 上更博,而且还会一次性补上这一年的博客。这一年没有在 CSDN 上更新博客,并不是代表着我没有写博客哦!而是我建立了自己的 私人博客 , 很多文章更新在这个上面。其次还有一个原因,是因为我使用本地的 Markdown 编辑器,来记录工作中的技术问题,然后用 github 来保存,这样无论有没有网都不影响查看。但是最后才发现,还是要将自己的思想与大家分享,才能让自己的知识变得更加强大。以后会持续在 CSDN 上更新博客,欢迎各位小伙伴交流分享

2020-05-28 20:00:56 133

转载 eclipse上Lombok插件安装

由于项目中有@Slf4j 注解等,而eclipse需要安装lombok插件才能正常编译。由于之前对lombok 一片空白,查了多个帖子,详细总结了一下在window下eclipse安装lombok。 1. 下载 lombok.jar (https://projectlombok.org/download.html)2. 将 lombok.jar 放在eclipse安装目录下,和 ecl...

2019-02-26 14:24:36 365

原创 AI-整理的各个大厂的人工智能(装逼)平台

各大AI 开放平台一览1、百度AI点击进入 AI2、腾讯AI 开放平台点击进入 AI3、阿里人工智能点击进入 AI4、网易人工智能点击进入 AI5、亚马逊人工智能服务点击进入 AI6、Inter 英特尔人工智能服务点击进入 AI...

2018-11-12 14:35:19 1108

原创 JAVA - 常用JAR包

1. zookeeper官方jar包 zookeeper-X.X.X.jar 更高层的IOItec的包     zkclient-X.X.X.jar 

2018-11-01 09:41:16 203

原创 Gradle - dependencies 的类型与区别

dependencies的类型dependencies的类型可以分为以下几种 - compile - testCompile - androidTestcompile - debugCompile - releaseCompile - implementation - testImplementation - androidTestImplementation - debugI...

2018-10-31 17:08:57 1545 3

原创 数据库 - PostgreSql - postgresql 10.3主从配置(一台windows一台linux)

今天正好有时间整理下主从配置遇到的坑,说实话双系统的主从配置确实比单系统要麻烦的多哦!!! 我最后并没有完全成功(据查,很有可能是网络原因,因为公司的电脑端口都被限制了),不过大体思路是对的。资源windows 10 备库centos 7 主库postgresql 10.3安装同一版本的Postgresql集群机器上最好都安装同一版本的数据库,最大可能的避免错误嘛(...

2018-10-26 14:49:06 1303

转载 rpm 命令|rpm 安装|rpm 卸载|rpm 使用|rpm 删除

在Linux操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。此工具包最先是由Red Hat公司推出的,后来被其他Linux开发商所借用。由于它为Linux使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。下面就给大家介绍一下它的具体使用方法...

2018-10-24 17:52:09 549

转载 Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)

这篇总结的很好,我先摘过来,后面再进行整理!https://www.cnblogs.com/kevingrace/p/8072860.html 在linux系统下,如果下载并安装了应用程序,在启动时很有可能在键入它的名称时出现"command not found"的提示内容。如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了,这种情况下就涉及到环境变量PATH的设置问题...

2018-10-24 16:51:16 137

原创 数据库 - PostgreSql - 常用操作命令记录

Connection options:  -d, --dbname=CONNSTR   connection string  -h, --host=HOSTNAME    database server host or socket directory  -p, --port=PORT        database server port number  -s, --status-int...

2018-10-24 16:42:05 1325

转载 数据库 - PostgreSql - 双机热备技术:使用pgpool搭建高可用PostgreSQL HA的步骤

https://blog.csdn.net/zhousenshan/article/details/52084097?utm_source=blogkpcl4pgpool,功能比较多,具有连接池,复制,负载均衡,并行查询,和HA等。今天博主测试下HA的配置。环境信息:两台虚拟机,ip分别由192 168 56  双机热备特指基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内...

2018-10-23 17:43:02 2581

转载 架构 - 分布式 - spring如何实现分布式事务(XA)

https://blog.csdn.net/u014209975/article/details/56013439当数据量越来越多的时候,我们就会开始考虑跨库查询,读写分离,之前对于数据库读写分离有过一定的了解,但是这里面存在着一个问题,就是A库中有a表,B库中有b表,那如果b表出现了异常,a表这个时候怎么回滚呢?当在一个数据库中直接用事务很好的处理,那如果在多个数据源中呢?其实原理是一样的。...

2018-10-23 16:19:57 1706

原创 架构 - 分布式 - 分布式事务理论

数据库事务在说分布式事务之前,我们先从数据库事务说起。 数据库事务可能大家都很熟悉,在开发过程中也会经常使用到。但是即使如此,可能对于一些细节问题,很多人仍然不清楚。比如很多人都知道数据库事务的几个特性:原子性(Atomicity )、一致性( Consistency )、隔离性或独立性( Isolation)和持久性(Durabilily),简称就是ACID。但是再往下比如问到隔离性指的是什...

2018-10-23 16:17:09 145

转载 架构 - 分布式 - 分布式事务怎么解决?

本文原文连接: http://blog.csdn.net/bluishglc/article/details/7612811 ,转载请注明出处!1.XAXA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管理器(Transaction Manager)和(局部)资源管理器(Resource Manager)之间的接口。XA接口是双向的系统接口,在事务管理器(Tra...

2018-10-23 16:16:06 211

转载 架构 - 微服务 - 命令查询职责分离(CQRS)模式

命令查询职责分离(CQRS)模式http://www.cnblogs.com/yangecnu/p/Introduction-CQRS.html在常用的三层架构中,通常都是通过数据访问层来修改或者查询数据,一般修改和查询使用的是相同的实体。在一些业务逻辑简单的系统中可能没有什么问题,但是随着系统逻辑变得复杂,用户增多,这种设计就会出现一些性能问题。虽然在DB上可以做一些读写分离的设计,但在...

2018-10-23 16:07:19 1718

转载 架构 - 微服务 - 独享数据库好么?

微服务模式系列之九:独享数据库译者评论:微服务模式中最为头疼的问题就是——数据问题,因为数据会散布在多个微服务之间,这通常意味着数据被分散到多个数据库中,这时微服务必须自行保证跨微服务的数据一致性,而无法利用数据库本身的机制解决。随之而来的是微服务滚动升级时数据库同步升级的问题。本系列文章的第九篇和第十篇会初步的呈现这个问题,之后的几篇文章会介绍问题的解决方案,但是这些解决方案实现起来...

2018-10-23 16:04:59 788

转载 架构 - 微服务 - 分布式微服务下的数据一致性

微服务架构 (九): 分布式微服务下的数据一致性我觉得这篇文章说的很好,copy下来!微服务都拥有各自的数据库且微服务都是部署在一分布式的环境下的。所以, 微服务间要维持彼此间数据库中的数据的一致性, 便需采用:BASE – Basic Availability, Soft State, Eventual Consistency。分布式微服务采用 BASE, 以维持彼此间数据库中的...

2018-10-23 16:02:19 192

转载 架构 - 微服务 - Dubbo 与 Spring cloud

我看到过一篇文章,是关于Dubbo 与 Spring cloud架构的 --> 听听八年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构在这里我转载粘贴过来,以便自己的复习和完善。(如有不妥,请作者联系本人哦)微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。虽然微服务架...

2018-10-23 14:07:14 190

原创 架构 - 侵入式和非侵入式框架的区别

侵入式和非侵入式框架的区别什么是框架的侵入性?什么是框架的侵入性?一句话概括就是,你的代码需要依赖框架的代码,如果把框架拿掉或者换一个框架,就需要重新修改代码。举个很简单的栗子啦:如果使用侵入式的框架,一般需要继承或者实现框架的某一个类或接口,这样你把框架拿到以后就会运行不起来,甚至在代码层面会报错哦。那么如同spring这种非侵入式的框架,都是利用反射和动态调用来实例化的,代码中没有任...

2018-10-23 13:59:33 5785 1

原创 Zookeeper - 节点类型CreateMode

CreateMode类型分为4种1.PERSISTENT--持久型2.PERSISTENT_SEQUENTIAL--持久顺序型3.EPHEMERAL--临时型4.EPHEMERAL_SEQUENTIAL--临时顺序型 1、2种类型客户端断开后不会消失3、4种类型客户端断开后超时时间内没有新的连接节点将会消息...

2018-10-22 17:38:30 1391

原创 Bat脚本 - 总纲(各命令实例)

Bat 脚本是windows上开发人员非常常用的一种脚本,简单高效。但是要完全掌握,那可不是一件简单的事。我的个人理解是,要掌握Bat脚本,不仅要知道bat脚本本身的一些语法,更要知道 cmd的一些命令哦!为什么呢? 因为 Bat脚本就是由一个个 cmd 命令组合起来,构成一个完整的功能,做一些流程性的任务。命令成百上千个,谁能记得住? 大家不要灰心,这个东西本身就不是靠记忆的,记住一...

2018-10-22 13:47:41 221

原创 JAVA - 反射 - Type

一直对jdk的ref使用比较模糊,早上花了点时间简单的整理了下,也帮助自己理解一下泛型的一些处理。java中class,method,field的继承体系java中所有对象的类型定义类Type说明:Type : Type is the common superinterface for all types in the Java programming language. ...

2018-10-16 09:37:54 147

原创 JAVA - 反射 - 总纲

 http://developer.51cto.com/art/201103/250028.htmhttps://blog.csdn.net/a327369238/article/details/52621043

2018-10-16 09:36:20 101

原创 Tomcat - Error - consider increasing the maximum size of the cache

最近在Tomcat8上报了以下错误:Tomcat 警告:consider increasing the maximum size of the cache。这是因为tomcat8以上对resource采取了cache,而默认的大小是10M。解决的办法很简单,就是在context.xml中调大缓存。代码如下:<Resources cachingAllowed="true" c...

2018-09-29 17:15:15 602

原创 Maven - POM - 摘抄一个完整的POM文件详解

<span style="padding:0px; margin:0px"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apac...

2018-09-28 09:14:14 469

转载 Eclipse - GitLab - 项目远程导入

参考:https://blog.csdn.net/w410589502/article/details/70762079

2018-09-25 10:14:18 410

原创 Eclipse - 更换新的工作空间后,怎么把上一个工作空间的配置复制过来

有两个方案:1. 创建新的工作目录后,直接把上一个工作空间的 .metadata 文件夹拷贝过来,覆盖当前的对应位置2. 在 eclipse 中切换工作空间时,选择File --> Workspace --> other...  ,再打开的对话框中,点击 copy settings , 勾选两个选项即可拷贝配置到新的工作空间中去。...

2018-09-25 10:11:31 8033

原创 Gradle - 代理配置

在.gradle目录中创建gradle.properties文件,.gradle 目录默认在用户目录下(区别window/linux)#配置HTTP代理systemProp.http.proxyHost=172.22.60.1systemProp.http.proxyPort=8080systemProp.http.proxyUser=userNamesystemProp.http....

2018-09-21 17:40:59 1367 1

SQLserver JDBC驱动(sqljdbc.jar )

经常使用该驱动包,完全可以使用。非常好,需要的可以下载!

2014-10-29

连接mysql的JDBC驱动(mysql-connector-java-5.1.31-bin.jar)

该JDBC我一直在用,绝对没有问题。如有问题请留言

2014-10-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除