自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 go语言网络编程通信案例

【代码】go语言网络编程通信案例。

2024-01-23 17:01:49 525 1

原创 Go语言网络编程介绍以及案例运用

TCP 和 UDP: Go语言支持TCP(传输控制协议)和UDP(用户数据报协议)。TCP提供可靠的、面向连接的通信,而UDP提供无连接的快速数据传输。并发: Go语言的并发模型是通过goroutines实现的。每个网络请求都可以在自己的goroutine中处理,实现高效的并发。Channels: 用于在goroutines之间安全地传递数据。

2024-01-22 14:36:35 677

原创 go语言中反射的应用介绍和案例

使用反射的一个主要场景是处理动态数据结构,例如解析JSON或处理数据库查询结果。它也常用于编写通用的函数和包,这些函数和包可以处理各种类型的值,而不仅仅是特定的类型。方法是用于处理指针和接口类型的反射对象的一个重要方法。这个方法的核心作用是获取一个指针所指向的元素的反射对象,或者是一个接口所持有的值的反射对象。获取一个变量的反射值时,如果这个变量是一个指针或者接口,将得到的反射对象并不直接代表指针指向的值或接口的动态值。的是一个结构体还是一个指向结构体的指针,函数都能正确处理并打印出结构体字段的信息。

2024-01-19 16:08:21 510

原创 go实现判断20000数据范围内哪些是素数(只能被1和它本身整除的数),采用多协程和管道实现

在 Go 语言中,select语句是一种处理多个通道(Channel)的方式。它可以监听多个通道上的发送和接收操作,并且当任何一个通道准备就绪时,select就会执行该操作。如果多个通道同时就绪,select将随机选择一个执行。select语句是非阻塞的,它可以与 Go 的并发特性结合,实现高效的任务处理和通信。

2024-01-18 22:22:41 1197 1

原创 go的协程和管道运用案例

【代码】go的协程和管道运用案例。

2024-01-18 14:03:21 567

原创 go语言GMP模式介绍以及协程案例展示

Go语言的调度模型被称为GMP,这是一个高效且复杂的调度系统,用于在可用的物理线程上调度goroutines(Go的轻量级线程)。GMP模型由三个主要组件构成:Goroutine、M(机器)和P(处理器)。:管道在内部实现了必要的同步机制,因此在多个goroutines访问时是安全的。关闭管道后,不能再向管道发送数据,但仍可以接收管道中已存在的数据。:无缓冲管道在发送或接收时会阻塞,直到另一端准备好。尝试向已关闭的管道发送数据会引发panic。循环从管道接收数据,直到管道被关闭。

2024-01-16 22:26:25 1825 1

原创 go中如何进行单元测试案例

测试文件通常与要测试的代码文件位于同一个包中。测试文件的名称应该以_test.go结尾。例如,如果你要测试的文件是math.go,那么测试文件可以命名为。

2024-01-15 23:49:30 1001

原创 go中拷贝文件操作

【代码】go中拷贝文件操作。

2024-01-12 15:41:19 626

原创 go语言中对文件的基本操作

【代码】go语言中对文件的基本操作。

2024-01-12 15:40:25 345

原创 go语言中对文件的基本操作

【代码】go语言中对文件的基本操作。

2024-01-12 14:28:30 342

原创 GO实现结构体切片的自定义排序规则

结构体排序需要实现Interface接口,实现其中三个方法。

2024-01-05 10:15:46 364

原创 GO语言实现冒泡排序、顺序查找、二分查找

【代码】GO语言实现冒泡排序、顺序查找、二分查找。

2023-12-26 15:33:30 356

原创 GO语言基础案例讲解

二. 类型转换三.包类型转换四.包的应用五.的使用和牛顿法逼近平方根六. 指针的使用和自定义结构体七. 🔺数组和切片八. 切片和切片数组的使用(make)九.切片的遍历十. 自定义数值生成二维数组十一. 🔺映射十二. 映射练习十三. 函数也可当作值传递十四. 🔺函数闭包十五. 斐波那契数闭包练习十六. 🔺方法方法的定义类似于函数,但在方法名之前有一个额外的参数(接收者),它定义了这个方法可以被哪个类型的实例调用。十七. 🔺接口十八.

2023-12-11 10:47:02 1236

原创 用java比较两个二叉搜索树是否等价

​ 不同二叉树的叶节点上可以保存相同的值序列。例如,以下两个二叉树都保存了序列。Data;/***/@Datapublic class TreeNode { // 比较两个二叉搜索树是否等价// 左边的树结构// 树节点的数值// 右边的树结构// 构造方法Value = x;

2023-12-06 16:03:42 423

原创 java开发中各个环境的适用场景

不过,测试工程师可能比较反感 dev 和 test 环境不隔离,因为他们是按照测试用例,一轮一轮的进行验收。stage 环境的用户是产品经理、测试工程师,连接线上 MySQL 数据库,基于真实的数据,进行功能的全回归测试。一些公司可能不提供 dev 环境,直接使用 test 环境,适合团队规模较小的团队,可以降低服务器的成本。考虑到 test 环境的稳定性,一般建议由测试工程师使用 Jenkins 等工具,完成该环境的部署。test 环境的用户是产品经理、测试工程师,主要用于他们的功能验收。

2023-11-22 10:57:54 1013

原创 虚拟机安装centos系统后配置桥接网络

编辑完成,重启网络设置即可。

2023-10-23 16:43:20 345

原创 idea热加载,JRebel 插件是目前最好用的热加载插件,它支持 IDEA Ultimate 旗舰版、Community 社区版

① 点击地址,下载 2022.4.1 版本。如下图所示:② 打开 [Preference -> Plugins] 菜单,点击「Install Plugin from Disk…」按钮,选择刚下载的 JRebel 插件的压缩包。如下图所示:安装完成后,需要重启 IDEA 生效。③ 打开 [Preference -> JRebel & XRebel] 菜单,输入 GUID address 为,邮件随便写,完成 JRebel 的激活。

2023-10-18 15:52:14 857

原创 如何将前后端分离项目部署到本地的Docker Desktop容器运行并且访问

完成了客户的一个前后端分离项目,要求部署到客户电脑上去展示,那肯定不能直接把代码弄上去跑呀~~~,于是我就想把他们都打包部署到本地的docker容器里面,方便运行和访问,so,以下内容就详细介绍了如何将前后端分离项目部署到本地的docker容器运行。

2023-10-17 17:01:16 1092

原创 解决文件名称包含#号导致访问出错问题

解决方法:只需要将#转义一下就可以正常访问了,截取文件名称然后将其转换再进行字符串拼接或者将整个文件名称进行转义也可正常访问。例如系统有一个pdf文件名是。当访问这个文件时就会报错。

2023-04-13 11:24:52 831 1

原创 如何使用Excel自定义函数并且全局使用

1.选择文件—>选项—>自定义功能区;勾选开发工具。2.选择开发工具—>visual Basic3.选择插入—>模块4.模块命名test5.然后在test模块中就可以自定义函数代码(这里用VB代码实现)Dim bDim length6.然后保存格式为Excel加载宏,自定义命名。7.在Excel界面选择开发工具—>Excel加载项;勾选需要加载的函数8.然后就可以在Excel中使用了。

2023-04-10 10:59:09 1081

原创 设计一个上下拖动分割窗口

props: {},min: {},max: {},},},data() {return {triggerLeftOffset: 0 // 鼠标距滑动器左(顶)侧偏移量},},},},methods: {// 按下滑动器} else {},// 按下滑动器后移动鼠标} else {},// 松开滑动器

2023-03-01 10:17:32 264

原创 编写一个可以增加行和删除行的表格组件

【代码】编写一个可以增加行和删除行的表格组件。

2023-02-09 11:58:49 171

原创 设计模式之适配器模式

适配器模式() :将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。

2023-01-11 15:22:19 374

原创 设计模式之单例模式

单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。单例模式是一种对象创建型模式。单例模式又名单件模式或单态模式。

2023-01-10 16:19:09 252

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

建造者模式():将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式属于对象创建型模式。根据中文翻译的不同,建造者模式又可以称为生成器模式。

2023-01-10 15:30:03 285

原创 设计模式之抽象工厂模式

抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。抽象工厂用于声明生成抽象产品的方法;具体工厂实现了抽象工厂声明的生成抽象产品的方法,生成一组具体产品,这些产品构成了一个产品族,每一个产品都位于某个产品等级结构中;抽象产品。

2023-01-10 14:31:41 193

原创 设计模式之工厂方法模式

工厂方法模式(Factory Method Pattern)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具体产品类。工厂方法模式又称为工厂模式,它属于类创建型模式。在工厂方法模式中,

2023-01-10 09:55:13 310

原创 设计模式之简单工厂模式

简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。创建型模式对类的实例化过程进行了抽象,能够将对象的创建与对象的使用过程分离。简单工厂模式又称为静态工厂方法模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。

2023-01-09 16:49:56 352

原创 一篇带你了解什么是事务及其原理

指作为单个逻辑工作单元(Service方法)执行的一系列操作(数据库操作),要么全部执行,要么全部不执行。事务可以看做是一组任务,通常对应了一个业务方法,这些任务要么全部成功,要么全部失败。本地事务有这么几个特征:一次事务只连接一个支持事务的数据库(一般来说都是关系型数据库)事务的执行结果保证[ACID]会用到数据库锁事务具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)四个特性,简称 ACID,缺一不可。

2022-12-11 16:47:13 1069

原创 Redis的三种集群方式详解

Redis有三种集群方案,主从复制,哨兵,cluster集群,主从复制是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave),数据的复制是单向的,只能由主节点到从节点。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。当主服务器中断服务后,可以将一个从服务器升级为主服务器,以便继续提供服务,但是这个过程需要人工手动来操作。

2022-12-11 12:02:08 4461

原创 常见中间件ES和RocketMQ的面试题

MQ的消息生成到消费主要经历三个阶段:MQ消息生产、RocketMQ Broker存储消息、消费者消息对应的消息。如下图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8dqqseoF-1670469665756)(https://raw.githubusercontent.com/lqs-blog/picgo/main/img/20221208092750.png)]消息生产者将消息发送到RocketMQ Broker的这个过程可能出现消息丢失。生产者只要接收到返回的ack

2022-12-08 11:22:28 1201

原创 常见的并发线程面试题

继承Thread类:需要实现 run() 方法。通过 Thread 调用 start() 方法来启动线程。实现Runnable接口:同样也是需要实现 run() 方法,并且最后也是调用 start() 方法来启动线程。实现Runnable接口:与 Runnable 相比,Callable 可以有返回值,返回值通过 FutureTask 进行封装。使用ExecutorService、Callable、Future实现有返回结果的多线程。实现接口会更好一些,因为:Java 不支持多继承,因此继承了 Thread

2022-12-07 15:07:49 531

原创 JVM常见面试题

程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。虚拟机栈与程序计数器一样,Java虚拟机栈(Java Virtual Machine Stack)也是线程私有的,它的生命周期与线程相同。每个方法被执行的时候,Java虚拟机都会同步创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态连接、方法出口等信息。每一个方法被调用直至执行完毕的过程,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。本地方

2022-12-06 15:49:07 416 1

原创 MySQL中的锁和Redis的分布式锁的详细介绍,看这一篇就够啦!

当多个事务[并发]操作同一批数据的时候,如果不加锁,就无法保证事务的隔离性,最后导致数据错乱。加锁是为了保证并发操作下数据的正确性。什么是共享锁(share Lock):允许事务读一行数据,具有锁兼容性质,允许多个事务同时获得该锁。共享锁(share lock):共享锁又称读锁,简称S锁;。共享锁的特性主要是为了支持[并发]的读取数据,读取数据的时候不支持修改,避免出现重复读的问题。。什么是排它锁(exclusive Lock):排他锁又称写锁,简称×锁;当。排他锁的目的是在,也不允许其他人读取,

2022-12-05 23:32:58 2056

原创 常见数据库优化面试题

在 SQL 语句前加上 explain,结果中的 key 就是实际用到的索引产生场景锁表通常发生在 DML( insert 、update 、delete )语句中,例如:程序 A 对 A 表的 a 数据 进行修改,修改过程中产生错误,没有 commit 也没有 rollback ,这个时候程序 B 对 A 表的 a 数据进行修改,会产生资源正忙的异常,也就是锁表。DDL也会引发锁表,例如在 MySql 操作一张大表,利用 alter 语句修改或新增字段的时候,恰巧有一个长事务(包括读)在操作此表,会触发修

2022-12-05 20:01:10 7115 1

原创 使用minio进行文件存储

二. 启动一个miniio容器账号是minio; 密码是minio123端口9090或9999(确保在服务器放行相关端口即可访问)点击 create a Bucket 创建一个bucket(桶), 这里的Bucket 我们可以理解为文件存储的目录输入 bucket name ,点击create bucket 。可以通过 upload 上传文件到bucket中。测试类(需要输入自己的账号密码和IP)五. 配置权限如果我们需要我们上传的文件可以被匿名用户访问,那么需要添加访问权限:找到文件存储

2022-11-18 10:33:59 5428

原创 使用SpringBoot的定时任务发布秒杀活动到redis

【代码】使用SpringBoot的定时任务发布秒杀活动到redis。

2022-11-10 14:19:23 395

原创 Springboot使用Quartz定时任务删除redis中的物品

/缓存的配置 @Configuration public class RedisConfig {//使用JSON进行序列化 @Bean public RedisTemplate < Object , Object > redisTemplate() {//JSON格式序列化 GenericFastJsonRedisSerializer serializer = new GenericFastJsonRedisSerializer();

2022-11-06 14:22:20 160

原创 在maven中使用RocketMQ发布消息和消费消息

然后事务发送方执行本地事务,并发送commit给MQ,如果是执行失败就会发送rollback给MQ;MQ搜到commit指令,代表本地事务执行成功,之前的half消息就会成为可以被commit提交的消。如果事务参与方并没有发送commit或者rollback指令MQ,MQ回调用事务发送方的回到方法来检。首先事务发起方:往MQ中发送一个事务消息-half半消息(准备消息),该消息不可被消费;异步消息是指发送的消息到MQ队列不用等待其返回结果,继续发送其它消息,效率快。同步发送是指发送的消息需要。

2022-11-03 10:59:08 2121

原创 怎么实现对登录用户访问权限的拦截

*** 自定义注解}

2022-10-26 12:51:38 350

空空如也

空空如也

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

TA关注的人

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