自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 收藏
  • 关注

原创 Go语言xorm框架

中文文档: https://gitea.com/xorm/xorm/src/branch/master/README_CN.md。注:后续需要增加表的字段只需要在结构体中新增对应字段,然后执行改代码,即可把字段同步至数据库。xorm是一个简单而强大的Go语言ORM库通过它可以使数据库操作非常简便。官网: https://xorm.io/

2023-02-19 14:21:37 979 1

原创 Go语言泛型基础

package main import "fmt" // MyInt 自定义泛型约束 type MyInt interface {if a > b {

2023-02-18 23:59:15 591

原创 快速上手GoWeb开发之Gin框架

Go是一门正在快速增长的编程语言,专为构建简单、快速且可靠的软件而设计。golang提供的net/htp库已经很好了,对于htp的协议的实现非常好,基于此再造框架,也不会是难事,因此生态中出现了很多框架。Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确。具有快速灵活,容错方便等特点。Beego: 开源的高性能 Go 语言 Web 框架。

2023-02-18 14:48:12 907

原创 Go语言基础入门第五章

函数是基本的代码块,用于执行一个任务。Go 语言最少有个 main()函数。你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。函数声明告诉了编译器函数的名称,返回类型和参数。

2023-01-31 22:06:00 310

原创 Go语言基础入门第四章(流程控制)

switch 语句执行的过程从上至下,直到找到匹配项,匹配项后面也不需要再加 break。switch 默认情况下匹配成功后就不会执行其他 case,如果我们需要执行后面的 case,可以使用 fa1through 穿透case。switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上至下逐一测试,直到匹配为止。程序的流程控制结构一共有三种: 顺序结构,选择结构,循环结构。for 循环是一个循环控制结构,可以执行指定次数的循环。顺序结构:从上到下,逐行执行。

2023-01-29 22:13:30 404

原创 Go语言基础入门第三章

iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次(每次增加1)。iota可以理解为const语句块中的索引。整型int和浮点型float32、float64,Go语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。布尔型的值只可以是常量true或者false。iota,特殊常量,可以任务是一个可以被编译器修改的常量。常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。

2023-01-28 22:24:07 577

原创 Go语言基础入门第二章

它可以像其他标识符那样用于变量的声明或赋值(任何类型都可以赋值给它),但任何赋给这个标识符的值都将被抛弃,因此这些值不能在后续的代码中使用,也不可以使用这个标识符作为变量对其它变量进行赋值或运算。使用匿名变量时,只需要在变量声明的地方使用下画线替换即可。了解变量的作用域对我们学习Go语言来说是比较重要的,因为Go语言会在编译时检查每个变量是否使用过,一旦出现未使用的变量,就会报编译错误。Go语言有一个特点就是声明变量可以不指定变量的数据类型,编译器会通过等号右边的值的类型来判断变量的数据类型。

2023-01-27 21:56:09 605

原创 Go语言基础入门第一章

Go语言的语法处于简单和复杂的两极。传统的语言如C++,大家需要花费较多的时间学习如何使用这门语言,而不是如何更好地表达写程序人的思想,同时编译花费的时间太长,对于编写——》编译——》运行这个链条来说周期太长。从并发清理,到降低 STW 时间,直到G0 的 1.5 版本实现并发标记,逐步引入三色标记和写屏障等等,都是为了能让垃圾回收在不影响用户逻辑的情况下更好地工作。鉴于Go语言的简单,高效,并发特性,Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;

2023-01-27 21:07:33 567

原创 使用Dom4j解析多层命名空间的xml

需求:获取所有Item中的内容。

2022-10-21 17:37:45 581

原创 JVM内存分析工具JProfiler的简单使用

4、设置程序运行参数,使其生成内存日志文件。参数-XX:+HeapDumpOnOutOfMemoryError,这个参数是输出内存溢出错误。2、打开idea开发工具,先安装JProfiler插件,如果安装后没有标识,可以试试重启idea。3、对JProfiler进行配置配置,也就是前面安装JProfiler的路径。1、先下载安装JProfiler,可以参考此教程。6、然后双击打开该文件,就可以进行错误分析。5、打开代码所在路径可以发现文件已经生成。...

2022-08-28 12:06:40 5208

原创 JMeter进行并发测试

实际使用场景可能是9点钟上班,那么从8:30开始,考勤系统会陆陆续续有人开始登录,直到9:10左右,那么如果完全按照用户的使用场景,设计该测试的时候此处应输入40(分钟)* 60(秒)= 2400。一般情况下,可以估计出登录频率最高的时间长度,比如此处可能从8:55到9:00登录的人最多,那这里设置成300秒,如果“线程数”输入为100,则意味着在5分钟内100用户登录完毕。线程数:这里就是指虚拟用户数,默认的输入是“1”,则表明模拟一个虚拟用户访问被测系统,如果想模拟100个用户,则此处输入100。...

2022-08-27 14:57:50 6774

原创 23种设计模式之建造者模式

建造者模式也属于创建型模式,它提供了一种创建对象的最佳方式。定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示主要作用:在用户不知道对象的建造过程和细节的情况下就可以直接创建负责的对象。用户只需要给出指定复杂的类型和内容,建造者模式负责按顺序创建复杂对象(把内部的创建过程和细节隐藏起来)例子:​ 工厂(建造者模式):负责制造汽车(组装过程和细节在工厂内)

2022-08-24 19:29:57 133

原创 23种设计模式之工厂模式

​ 提供一个产品类的库,所有的产品以同样的接口出现,从而使得客户端不依赖具体的实现。​ 强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量的重复代码。​ 用来生产同一等级结构中的任意产品(对于增加新的产品,需要修改已有代码)​ 围绕一个超级工厂创建其他工厂,该超级工厂又称为其他工厂的工厂。很明显,简单工厂的弊端,我每新增一个汽车种类都需要修改工厂代码。从而将调用者跟实现类解耦。​ 规定了所有可能被创建的产品集合,产品族中扩展新的产品困难。​ 具体产品在应用层的代码隔离,无需关系创建的细节。

2022-08-23 23:30:13 263

原创 SpringBoot自动装配

SpringBoot自动装配启动器<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId></dependency>启动器就是SpringBoot的启动场景比如spring-boot-starter-web,SpringBoot就会自动导入web环境所有的依赖。Spr

2022-08-20 19:02:37 148

转载 Redis配置哨兵模式

安装redis:1、下载安装包2、解压3、编译安装完成后,可以在目录内看到src、conf等子目录4、安装二、部署主从架构(一主二从)由于 src 下文件非常多,我们可以将几个常用的命令和 conf 配置文件复制出来进行统一管理,如下:1、新建bin目录和etc目录说明: redis_master作为master节点配置文件的目录 redis_slave1作为第一个slave节点配置文件的目录 redis_slave2作为第二个slave节点配置文件的目。...

2022-08-16 20:16:33 1624

原创 达梦数据库存储过程脚本

【代码】达梦数据库存储过程脚本。

2022-08-16 09:22:40 1040

原创 RabbitMQ消息发布确任的三种方式

顾名思义就是消息生产方每发送一条消息,服务器都需要返回一条确认消息。优点:每条消息都会进行确认,消息发送失败可以快速定位失败消息。缺点:效率低。

2022-08-07 22:16:38 526

原创 JVM虚拟机入门

作用:加载Class文件。

2022-08-05 22:29:51 171

原创 Lambda表达式

***thread.**}对于函数式接口,我们可以通过lambda表达式老创建该接口的对象。

2022-07-28 23:21:36 92

原创 Java多线程

​正在等待另一个线程执行动作达到指定等待时间的线程处于此状态。​正在等待另外一个线程执行的线程处于此状态。​在Java虚拟机中执行的线程处于此状态。​被阻塞等待监视器锁定的线程处于此状态。​尚未启动的线程处于此状态。​已经退出的线程处于此状态。.........

2022-07-28 22:33:55 126

原创 Rabbitmq的四种类型交换机

在绑定消息队列与交换机之前声明一个map键值对,通过这个map对象实现消息队列和交换机的绑定。直连交换机的特点是消息队列通过routingKey与交换机进行绑定,相同的routingKey会获得相同的消息。应用范围最广的交换机类型,消息队列通过消息主题与交换机绑定。一个队列可以通过多个主题与交换机绑定,多个消息队列也可以通过相同消息主题和交换机绑定。扇出交换机的特点是类似于广播,只要队列与该类型的交换机绑定,所有发送到该交换机的信息都会被转发到所有与之绑定的队列,与routingKey无关。........

2022-07-27 14:36:18 11618

原创 使用stream流构造树形结构

日常使用for循环构造树形结构,但是在遇到数据量较大的时候,使用stream流可以提高效率。所以在此展示如何使用stream流构造树形结构。一、第一步先找出顶层节点(顶层节点的特点就是他的父节点为空,根据此条件先筛选出顶层节点。二、第二步依次遍历全部节点构造树形结构(其中的重点是。当子节点不为空,需要递归遍历子节点再次去构造树形结构。...

2022-07-25 11:53:01 1944

原创 解决下载文件中文名称乱码问题

场景在做下载文件功能时,发现下载的文件名称包含中文会出现乱码问题,查阅很多资料都没用解决,最后使用java.net.URLEncoder.encode对文件名称进行预处理解决该问题。经测试可以解决问题。

2022-07-18 17:34:30 4967

原创 Nginx代理模式

nginx提供的负载均衡策略有2种,内置策略和扩展策略。内置策略为轮询,加权轮询,IPhash。扩展策略,就天马行空,只有你想不到没有做不到。

2022-07-16 21:09:27 570

原创 DockerFile

dockerfile是用来构建docker镜像的文件!就是命令参数脚本。构建步骤1、编写一个dockerfile文件2、dockerbuild构建成为一个镜像3、dockerrun运行镜像4、dockerpush发布镜像(DockerHub、阿里云镜像仓库)

2022-07-16 16:50:40 620

原创 docker commit镜像以及数据卷技术

数据卷容器数据卷什么是容器数据卷服务产生相关数,如果数据都在容器中,我们删除容器,数据就会丢失。需求:数据可以持久化容器之间可以有一个数据共享的技术。Docker容器中产生的数据,同步到本地!这就是卷技术,也就是目录的挂载,将我们容器内的目录挂载到Linux上面,从而可以让数据存在本地,删除容器不会影响数据。总结一句话:容器的持久化和同步操作,容器间也是可以数据共享的。测试数据的同步测试修改主机文件是否会同步到容器内实战数据同步:安装MySQL具名挂载和匿名挂载所有的do.

2022-07-10 22:25:44 526

原创 docker可视化工具

Docker图形化界面管理工具,提供一个后台面板供我们操作使用。

2022-07-09 18:15:05 364

原创 Docker镜像讲解

镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有的内容,包括代码、运行时、库、环境变量和配置文件。所有的应用,直接打包docker镜像,可以直接部署运行。UnionFS(联合文件系统):Union文件系统(UnionFS)是一种分层,轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的铁架,同事可以将不同目录挂在到同一个虚拟文件系统下(unite several directories into a single virt

2022-07-09 18:14:25 369

原创 docker安装Nginx并启动服务

docker安装Nginx并启动服务

2022-07-05 23:15:20 1140

原创 Docker基础命令

docker基础命令

2022-07-02 17:50:42 251

原创 mysql迁移数据后启动报错问题

报错日志:2022-04-18T07:20:25.022069Z 0 [ERROR] InnoDB: The error means mysqld does not have the access rights to the directory.2022-04-18T07:20:25.022073Z 0 [ERROR] InnoDB: Could not find a valid tablespace file for `img_server_test/t_ldap_org`. Please refer

2022-04-18 16:16:57 865

原创 Java把文件压缩然后下载

一边压缩一边下载,前端写法可以参考response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment; filename=pdf.zip"); response.setHeader("filename", fileInfo.getFileVersion() + ".zip"); response.setConten

2022-04-08 17:30:34 2652

原创 Java通过流下载文件以及相关优化

Java下载文件

2022-04-08 17:27:04 2508

原创 ORACLE使用存储过程查询一张表信息存到另一张表

CREATE OR REPLACE PROCEDURE RPADOWNLOADMANAGEDATA AS CURSOR C_DB IS SELECT SCENECODE, VERSION, MAX( UGID ) AS UGID, MAX( YHDM ) AS YHDM, MAX( XSMC ) AS XSMC, MAX( ORGNAME ) AS ORGNAME, MAX( APPPREMISE ) AS APPPREMISE FROM T_PORTAL_RPA_SCENE GRO

2021-12-29 17:54:52 1491

原创 MYSQL使用存储过程查询其他表数据更新另一张表

-- ------------------------------ Procedure structure for rpadownloadmanage-- ----------------------------DROP PROCEDURE IF EXISTS `rpadownloadmanage`;delimiter ;;CREATE PROCEDURE `rpadownloadmanage`()BEGIN DECLARE ASCENECODE VARCHAR(50) DEFAULT ""

2021-12-24 14:41:43 722

原创 leetCode算法题之无重复字符的最长子串

题目描述:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串

2021-12-19 20:30:17 115

原创 leetCode算法题之找到小镇的法官

题目描述:在一个小镇里,按从 1 到 n 为 n 个人进行编号。传言称,这些人中有一个是小镇上的秘密法官。如果小镇的法官真的存在,那么:小镇的法官不相信任何人。每个人(除了小镇法官外)都信任小镇的法官。只有一个人同时满足条件 1 和条件 2 。给定数组 trust,该数组由信任对 trust[i] = [a, b] 组成,表示编号为 a 的人信任编号为 b 的人。如果小镇存在秘密法官并且可以确定他的身份,请返回该法官的编号。否则,返回 -1。 示例 1:输入:n = 2, tr

2021-12-19 14:36:49 186

原创 使用指令在不压缩文件的形式把文件放入压缩包

使用jar命令替换jar包中指定文件一、jar命令用法 -c 创建新的归档文件 -t 列出归档目录和文件 -x 解压缩已归档的指定(或所有)文件 -u 更新现有的归档文件 -v 在标准输出中生成详细输出 / 提供更详细输出信息 -f 指定归档文件名 / 为压缩包指定名字 -m 包含指定清单文件中的清单信息  -e 为捆绑到可执行 jar 文件的独立应用程序指定应用程序入口点 -0 仅存储,不压缩,只是打包;不使用任何 ZIP 压缩 -M 不创建条目的清单文件 META-INF/MA

2021-12-15 09:38:37 1025

原创 ORACLE利用存储过程新增字段

DECLARE -- 功 能: XXXX -- 作 者: XXXX -- 脚本类型: 手工整理 -- 生成时间: 2021-12-06 11:25:06 V_COUNT NUMBER(10);BEGIN SELECT COUNT(*) INTO V_COUNT FROM USER_TAB_COLUMNS WHERE TABLE_NAME='表名' AND COLUMN_NAME='字段'; IF V_COUNT=0 THEN EXECUTE IMMED

2021-12-11 15:32:40 780

原创 MySQL利用存储过程新增字段

DROP PROCEDURE IF EXISTS '存储过程名称';DELIMITER // -- 功 能: XXXX -- 作 者: XXX -- 脚本类型: 手工整理 -- 生成时间: 2021-12-09 11:25:06CREATE PROCEDURE '存储过程名称'() BEGIN IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=database() AND

2021-12-11 15:29:59 660

空空如也

空空如也

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

TA关注的人

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