自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(136)
  • 资源 (1)
  • 收藏
  • 关注

原创 多线程【交替打印1-1000】

多线程:交替打印1-1000。

2023-02-05 20:22:37 2

原创 微信小程序【获取用户昵称头像和昵称(附源码)】

获取用户头像和昵称

2023-02-03 19:31:44 1309 4

原创 微信小程序【练手小页面】

【代码】微信小程序【练手小页面】

2023-01-30 20:32:52 27

原创 微服务自动化管理【IDEA使用Docker插件进行一键部署】

本章目标IDEA使用Docker插件实现springboot项目的一键部署要开两个虚拟机serverregistry。

2023-01-22 23:37:54 1290 1

原创 微服务自动化管理【docker compose】

1.version:指定 docker-compose.yml 文件的写法格式注1:Compose目前有三个版本分别为Version 1,Version 2,Version 3,Compose区分Version 1和Version 2(Compose 1.6.0+,Docker Engine 1.10.0+)。2.services:多个容器集合services:容器1:容器2:3.image:镜像名称或镜像ID。如果镜像在本地不存在,Compose将会尝试拉取镜像4.build。

2023-01-12 19:55:12 859

原创 微服务自动化管理【Docker跨主机集群之Flannel】

环境说明CentOS7方式方式有:Pipework、Flannel、Weave、Open vSwitch(虚拟交换机)、Calico, 其中Pipework、Weave、Flannel是使用的最多。本文介绍的是Flannel1.Flannel是CoreOS提供用于解决Dokcer集群跨主机通讯的覆盖网络工具。它的主要思路是:预先留出一个网段,每个主机使用其中一部分,然后每个容器被分配不同的ip;让所有的容器认为大家在同一个直连的网络,

2023-01-10 22:32:04 610

原创 xshell无法使用rz(没有出现选择文件的对话框)

使用yum安装了好了lrzsz之后,使用rz无法出现选择文件的对话框。然后再使用yun -y install lrzsz重新安装。这里出现的问题可能是安装其他东西的时候这个也安装了。先使用yun -y remvoe lrzsz卸载,

2023-01-09 21:18:06 103

原创 微服务自动化管理【etcd快速集群】

概述1.etcd构建自身高可用集群主要有三种形式:静态发现预先已知etcd集群中有哪些节点,在启动时通过–initial-cluster参数直接指定好etcd的各个节点地址etcd动态发现静态配置前提是在搭建集群之前已经提前知道各节点的信息,而实际应用中可能存在预先并不知道各节点ip的情况,这时可通过已经搭建的etcd来辅助搭建新的etcd集群。通过已有的etcd集群作为数据交互点,然后在扩展新的集群时实现通过已有集群进行服务发现的机制。

2023-01-09 21:06:26 699

原创 微信小程序测试(简单项目测试)

Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross start,结束位置叫做cross end。项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size。

2023-01-07 11:34:16 809

原创 微信小程序框架

事件是视图层到逻辑层的通讯方式。事件可以将用户的行为反馈到逻辑层进行处理。事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。事件对象可以携带额外信息,如 id, dataset, touches。

2023-01-06 11:34:29 4456

原创 微信小程序介绍

util目录下的util.js文件专用于小程序项目中的公共函数定义,可以将项目开发过程中的公共代码方法提取封装到util.js文件中。1.util/util.js中定义公共方法s="你好,"+s;return s;}}2.在指定页面中的js中模块化引入utils的js文件//通过require方式引入整个util//通过import方式引入整个util//引入指定的模块3.利用页面的onLoad事件完成数据赋值展示onLoad() {});})}}

2023-01-05 11:40:57 11116 6

原创 etcd快速入门

etcd是什么etcd是CoreOS团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现。etcd作为服务发现系统,有以下的特点:1.简单:安装配置简单,而且提供了HTTP API进行交互,使用也很简单2.安全:支持SSL证书验证3.快速:根据官方提供的benchmark数据,单实例支持每秒2k+读操作4.可靠:采用raft算法,实现分布式系统数据的可用性和一致性etcd项目地址

2023-01-01 23:02:29 608

原创 RabbitMQ之延迟队列

RabbitMq支持对消息和队列设置TTL,对消息这设置是在发送的时候指定,对队列设置是从消息入队列开始计算, 只要超过了队列的超时时间配置, 那么消息会自动清除。通过DLX和TTL模拟出延迟队列的功能,即,消息发送以后,不让消费者拿到,而是等待过期时间,变成死信后,发送给死信交换机再路由到死信队列进行消费。如果两种方式一起使用消息对TTL和队列的TTL之间较小的为准,也就是消息5s过期,队列是10s,那么5s的生效。设置队列的过期时间用 x-expires 参数,单位毫秒,注意,不能设置为0。

2023-01-01 20:59:23 577

原创 Rabbitmq交换机

Exchange(交换机)的作用在RabbitMQ中,生产者发送消息不会直接将消息投递到队列中,而是先将消息投递到交换机中,在由交换机转发到具体的队列,队列再将消息以推送或者拉取方式给消费者进行消费生产者------------>交换机------------>队列------------>消费者交换机原理图见:images/01Exchange(交换机)的类型1.直连交换机:Direct Exchange。

2022-12-31 11:44:24 858

原创 docker之Nacos的持久化和集群部署

mysqldump -u 用户名 -p 密码 -d 数据库名 > 数据库名.sql。2. nacos-docker镜像安装nacos并配置数据库(nacos单机版)注:后面的mysql标签是版本号,可选择,有:5.5/5.6/5.7/8.0。数据保存到宿主机中,下次需要的时候重启容器,原有数据都能被加载,不会丢失数据。mysqldump -u 用户名 -p 密码 数据库名 > 数据库名.sql。mysql -u 用户名 -p密码 数据库名 < 数据库名.sql。

2022-12-29 13:38:33 425 1

原创 docker之安装nginx

自定义网络相关命令1.创建自定义网络参数说明–driver bridge 设置网络模式–subnet 192.168.0.1/16 设置子网–gateway 192.168.0.1 设置网关mynet 自定义网络的名称2.删除自定义网络mynet(没有容器使用此网络才能删除)3.查看docker中已安装的所有网络4.查看自定义网络mynet中的配置信息启动容器时,指定网络、IP。

2022-12-29 13:28:05 90

原创 Docker之网络配置

Docker网络模式Docker在创建容器时有四种网络模式:bridge/host/container,bridge为默认不需要用–net去指定,其他三种模式需要在创建容器时使用–net去指定。

2022-12-25 20:23:06 1537 4

原创 RabbitMQ如何确保消息发送和消息接收

通过实现ReturnCallback接口,启用消息失败返回,此接口是在交换器路由不到队列时触发回调,该方法可以不使用,因为交换器和队列是在代码里绑定的,如果消息成功投递到Broker后几乎不存在绑定队列失败,除非你代码写错了。消费者收到消息后,手动调用Basic.Ack或Basic.Nack或Basic.Reject后,RabbitMQ收到这些消息后,才认为本次投递完成。RabbitMQ消息确认机制(ACK)默认是自动确认的,自动确认会在消息发送给消费者后立即确认,但存在丢失消息的可能。

2022-12-23 19:24:00 1370

原创 String ,StringBuffer,StringBuilder的区别和应用场景

3)StringBuilder 是java5中引入的,它和StringBuffer的方法完全相同,区别在于它是单线程环境下使用的,因为它的所有方法都没有被synchronize修饰,因此他的效率理论上比StringBuffer 高,安全性比StringBuffer低。2)StringBuffer/StringBuilder 表示的字符串对象可以直接进行修改。1)String是只读字符串,也就意味着String引用的字符串内容是不能被改变的。

2022-12-23 19:22:38 81

原创 如何处理mysql的慢查询?

2.分析sql语句,看看是否load了额外的数据,可能是查询了多余的行并丢弃掉了,可能是加载了许多结果中不需要的列,对语句进行分析及重写。3.分析语句的执行计划,然后获得其使用索引的情况,之后修改语句或者修改索引,使得语句可以尽可能的命中索引。4.如果对语句的优化已经无法进行,可以考虑表中的数据是否太大,如果是的话可以进行横向或者纵向的分表。1.开启慢查询日志,准确定位到那个sql语句出现了问题。

2022-12-23 19:21:44 104

原创 自定义镜像上传阿里云

注1:docker exec -it 容器ID /bin/sh 默认使用当前帐号(即root)登入,通过whoami命令可以查看当前用户名,2.1 首先下载jre,下载地址是https://www.java.com/en/download/manual.jsp,大概是77M。注1:openjdk:8-jdk-alpine这个镜像就和我们自己创建的镜像是一样,只不过JDK瘦身过了,体积更小。注2:openjdk:8-jdk-alpine这个镜像就和我们自己创建的镜像是一样,只不过JDK瘦身过了,体积更小。

2022-12-23 19:19:19 82

原创 Docker数据卷&dockerfile

新建1个名为beifen的(暂时性,之后会删除)容器,由于volumes-from了db_data,所以在根目录下也会生成1个db_data文件夹,经过执行命令后,将db_data文件下的数据压缩在container_backup文件夹下,并存在宿主机上的host_backup_path下。注1:数据卷 是被设计用来持久化数据的,它的生命周期独立于容器,Docker不会在容器被删除后自动删除数据卷,维护者信息 MAINTAINER。

2022-12-16 20:07:14 103

原创 Docker入门

Docker是什么Docker是一个由GO语言写的程序运行的“容器”(Linux containers, LXCs),它是完整的一套容器管理系统Docker提供了一组命令,让用户更加方便直接地使用容器技术,而无需要过多关心底层内核技术注1:什么是容器一个容器就相当于一个虚拟机注2:docker用途,目前有三大类1.提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境2.提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。

2022-12-13 11:05:41 390

原创 Gateway之限流、熔断

Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景, 例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。完备的实时监控:Sentinel 提供了实时的监控功能。通过控制台可以看到接入应用的单台机器秒。

2022-12-12 20:40:47 114

原创 服务网关之Spring Cloud Gateway

Spring Cloud Gateway是Spring公司基于Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。它的目标是替代Netflix Zuul,其不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安全,监控和限流。性能强劲:是第一代网关Zuul的1.6倍功能强大:内置了很多实用的功能,例如转发、监控、限流等设计优雅,容易扩展。

2022-12-10 13:13:33 93

原创 微服务之Nacos Config服务配置

如果多个share-configs中存在多个相同配置,以谁为准?以数组中最后一个为准如果share-configs与extension-configs中有多个相同配置,以谁为准?nacos-config.yaml与nacos-config-dev.yaml。

2022-12-10 11:39:18 173

原创 RabbitMQ入门

1. 什么是MQ消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已作用:应用程序“对”应用程序的通信方法。2. 应用场景主要解决异步处理、应用解耦、流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构1.异步处理用户注册后,需要发注册邮件和注册短信2.应用解耦用户下单后,订单系统需要通知库存系统3.流量削锋(重点)流量削锋也是消息队列中的常用场景,一般在秒杀或团抢活动中使用广泛应用场景:秒杀活动,一般会

2022-12-07 17:05:20 939

原创 Nacos注册中心和服务消费方式

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。从上面的介绍就可以看出,nacos的作用就是一个注册中心,用来管理注册上来的各个微服务。nacos2.0.1版本: https://pan.baidu.com/s/1hXH5Eq3ZR1T1qZ0YOqD5Cg提取码:8kb01.1:切换单体:startup.cmd -m standalone1.2:访问nacos:打开浏览器输入http://loc

2022-12-07 15:53:02 489

原创 springcloud入门

微服务架构, 简单的说就是将单体应用进一步拆分,拆分成更小的服务,每个服务都是一个可以独立运行的项目。一旦采用微服务系统架构,就势必会遇到这样几个问题:对于上面的问题,是任何一个微服务设计者都不能绕过去的,因此大部分的微服务产品都针对每一个问题提供了相应的组件来解决它们。springcloud:Spring Cloud是一系列框架的集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Sprin

2022-12-06 21:23:53 193

原创 springboot集成mybatis plus

springboot集成mybatis plus

2022-12-06 21:05:23 66

原创 实现未支付订单倒计时

因为是使用freemaker的list遍历,所以我们使用ajax局部页面刷新的时候用动态id值来绑定,以此实现局部时间刷新。

2022-11-27 09:14:37 74

原创 freemarker 后端传值的位数超过三位会出现逗号

后端的值传到前端展示,每隔3位数会出现一个逗号,此文章为记录一下问题。这样展示,如果位数超过三位则会出现问题。

2022-11-27 09:06:23 226

原创 自定义参数解析器(代码案例)

代码案例

2022-11-17 01:06:48 79

原创 无法解析MVC视图

注意template-loader-path的路径配置,看你的ftl文件是否在该文件夹下。

2022-11-15 11:26:46 812

原创 MBG逆向工程(代码案例)

注:可以把该类的class文件放入mybatis的jar包中,下次就不用配置了。

2022-11-15 09:28:15 71

原创 响应封装类(枚举)

【代码】响应封装类(枚举)

2022-11-14 16:46:29 92

原创 springboot入门

Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。3、命令行接口:(Command-line-interface, CLI):SpringBoot的CLI发挥了Groovy编程语言的优势,并结合自动配置进一步简化Spring应用的开发;2、自动配置:SpringBoot的自动配置特性利用了Spring4对条件化配置的支持,合理地推测应用所需的bean并自动化配置他们;

2022-11-12 11:37:26 447

原创 springboot之自定义注解

Java注解(Annotation)Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解相关类都包含在java.lang.annotation包中。Java注解分类2.1 JDK基本注解2.2 JDK元注解2.3 自定义注解JDK基本注解重写已过时压制编辑器警告JDK元注解元注解用于修饰其他的注解(纪委:管干部的干部)4.1 @Retention:定义注解的保留策略。

2022-11-11 20:58:53 81

原创 Quartz之数据库存储(代码案例)

这主要分享我的代码案例:pom依赖:conf:job:pojo:ScheduleTrigger :ScheduleTriggerData :mapper:ScheduleTriggerDataMapper:ScheduleTriggerMapper :serviceimpl:因为service接口没什么就不写啦!直接上实现类ScheduleTriggerDataServiceImpl :ScheduleTriggerServiceImpl :util:DruidConnecti

2022-11-11 19:07:07 622

原创 spring注解式缓存+Redis

配置在方法或类上,作用:本方法执行后,先去缓存看有没有数据,如果没有,从数据库中查找出来,给缓存中存一份,返回结果,key 缓存的 key,可以为空,如果指定要按照 SpEL 表达式编写,如果不指定,则缺省按照方法的所有参数进行组合。condition:触发条件,满足条件就加入缓存,默认为空,表示全部都加入缓存,支持SpEL。key:缓存的key,默认为空,表示使用方法的参数类型及参数值作为key,支持SpEL。key:缓存的key,默认为空,表示使用方法的参数类型及参数值作为key,支持SpEL。

2022-11-11 09:14:12 611

JavaWeb学习思维导图

我大概的总结了一下我的web学习历程,总结出了这张web思维导图,适合初学者观看阅读,希望可以帮助到大家

2022-04-29

空空如也

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

TA关注的人

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