自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VMware安装CentOS Stream 8以及JDK和Docker

本篇文章我们的大概讲解了通过VMware安装CentOS Stream 8、JDK和 Docker。由于之前我已经 写过 类似的文章,这里只是简单讲述,详细的安装文档已经在链接中发出来了。

2023-09-23 17:33:11 1836 1

原创 万字详解Java的Lambda表达式

这个方法实现,只能是接口的方法实现,不能是抽象类的方法实现。至于为什么,这里我们先卖个关子。此时代码可以写成这样并运行,我们依然可以打印出一个“喵”。

2023-04-18 22:13:03 1299 1

原创 CPU的一、二、三级缓存

CPU高级缓存,(英语:CPU Cache,在本文中简称缓存)是用于减少处理器访问内存所需平均时间的部件。在金字塔式存储体系中它位于自顶向下的第二层,仅次于CPU寄存器。其容量远小于内存,但速度却可以接近处理器的频率。当处理器发出内存访问请求时,会先查看缓存内是否有请求数据。如果存在(命中),则不经访问内存直接返回该数据;如果不存在(失效),则要先把内存中的相应数据载入缓存,再将其返回处理器。缓存之所以有效,主要是因为程序运行时对内存的访问呈现局部性(Locality)特征。

2023-04-13 17:05:39 9003

原创 Java命令行参数

本文我们介绍一个命令行工具,Apache Commons CLI。在我们执行java的jar包时,常用的命令是我们还可以在执行该命令时添加执行参数,不管是在dos还是Linux上执行该命令,抑或是在IDE工具中配置,都是一样的。Java的命令行参数有很多,本文不做介绍,感兴趣的小伙伴可以自行百度:Java命令行参数。

2023-04-07 17:13:50 1555

原创 Redis 客户端连接服务器失败

这样的绑定只能在服务器上自己连接自己,就像我上面连接的一样,只需要通过./redis-cli命令就登陆上了。公司项目开发环境需要使用到 Redis,申请基础技术支撑平台的 Redis 中间件比较麻烦,项目组也不知道具体流程,而且时间可能比较长。当然为了效率,搭建的是单机版的,采用的是公司提供的安装包与运行脚本。本来这都是很简单的事情,但是安装完毕之后,在服务器上可以正常登陆访问。因为是在本机安装的,也没有密码,这样是直接可以登陆的。现在的情况是,项目因为 Redis 启动报错。

2023-04-07 15:47:53 2346

原创 Docker 安装 Kafka

docker在3.0以前依赖于zookeeper,在安装kafka之前需要先安装zookeeper集群。关于 zookeeper 集群的安装本文不做介绍,大家可以自行百度。

2023-03-21 22:27:31 4719 2

原创 Python安装demjson模块报错:error in demjson setup command: use_2to3 is invalid

demjson 2.2.4 兼容python2和python3,当安装环境为python3时,有一部分代码需要转换,Setuptools从版本58.0.0开始不再支持2to3的builds,所以导致 demjson 2.2.4安装后不再可用,的 distutilsde工具的增强工具(适用于 Python 2.3.5 以上的版本,64 位平台则适用于 Python 2.4 以上的版本),可以让程序员更方便的创建和发布 Python 包,特别是那些对其它包具有依赖性的状况。pip 是一个现代的,通用的。

2023-03-19 20:29:53 10460 5

原创 SpringBoot 整合 Dubbo + Zookpeer 错误

早些年在公司一直用 Dubbo + Zookpeer 这一套的微服务,不过一套架构全部封装得很深,没有认真探究这一套微服务的玩法。后来的工作中一直用的是 SpringCloud 或者 SpringCloudAlibaba,以至于都忘记 Dubbo 这套微服务的玩法了。由于本人的各种中间件都是在虚拟机上,Windows 上没有一个服务,这也导致项目整合的时候一直启动失败。后面经过多次尝试,将这两个新加的参数的值修改为50秒,也就是50000是可以成功的。作者遇到的两个问题,我们也遇到了。

2023-03-16 22:07:59 1496

原创 perl脚本实战总结

perl脚本实战总结。

2023-03-01 19:45:45 1337

原创 Jenkins基于Blue Ocean UI构建流水线

Blue Ocean 是基于Jenkins的增强UI插件,提供了一套可视化操作界面来帮助创建、编辑Pipeline任务。Blue Ocean 减少了经典模式下的混乱并为团队中的每个成员增加了清晰度。流水线编辑器,通过可视化的步骤完成流水线的编辑流水线的可视化,可以直观地了解管道的状态多租户个性化适配显示管道中需要注意的地方,促进异常处理并提高生产力,可以精准定位问题所在代码分支的本地集成,最大限度提高开发效率一句话,Blue Ocean是一个基于Jenkins增强插件。

2023-01-08 22:34:20 2712

原创 Docker Compose安装

二进制包在线安装二进制包离线安装国内镜像二进制包在线安装yum源安装说明:我们的Linux操作系统是CentOS8的,所以使用yum源,其他的操作系统使用类似命令,比如wget。以上四种方式,1和2未经验证,3和4验证通过。

2023-01-08 19:09:21 3068 3

原创 Docker安装Jenkins

uroot:是给了 root 用户身份,但并没有真正的 root 权限–privileged:真正让当前用户有了 root 权限。

2023-01-06 23:09:33 2443

原创 Git的标签:tag

目录1. 查看标签1.1 简单查看1.2 匹配筛选标签 2. 创建标签2.1 附注标签2.2 轻量标签2.3 代码提交之后打标签2.4 提交标签3. 删除标签4. 检出标签Git 可以给仓库历史中的某一个提交打上标签,以示重要。 比较有代表性的是人们会使用这个功能来标记发布结点( 、 等等)。本篇文章我们简单介绍一下Git标签。Git 支持两种标签:轻量标签(lightweight)与附注标签(annotated)。轻量标签很像一个不会改变的分支——它只是某个特

2023-01-06 21:46:13 1777

原创 Perl数据类型

其实Java也在弱化类型,比如高版本的JDK中可以使用var来接收变量,而不是具体的某一种强类型变量。这种数据类型的变量可以是数字,字符串,浮点数,不作严格的区分。我们看到,这和Java中的HashMap比较类似,可以说是一类型的东西,key都不可以重复,value可以重复。正因为此,Perl变量不需要指定类型,Perl 解释器会根据上下文自动选择匹配类型。可见,它是无序的,键是不可以重复的,如果重复,后定义的就会覆盖先定义的。Perl 有三个基本的数据类型:标量、数组、哈希。可见它是无序的,值可以重复。

2023-01-02 19:52:15 593

原创 Perl语法

也正是因为Perl的灵活性和"过度"的冗余语法,也因此获得了仅写(write-only)的"美誉",因为Perl程序可以写得很随意(例如,变量不经声明就可以直接使用),但是可能少写一些字母就会得到意想不到的结果(而不报错),许多Perl程序的代码令人难以阅读,实现相同功能的程序代码长度可以相差十倍百倍,这就令程序的维护者(甚至是编写者)难以维护。,并统一代码风格,使用库,而不是自己使用"硬编码"。Perl 的命名是用户编程时使用的名字,在程序中使用的变量名,常量名,函数名,语句块名等统称为标识符。

2023-01-02 17:42:14 1505

原创 Perl语言入门

Perl语言是拉里.沃尔(Larry Wall)在1987年开发的一种编程语言,借鉴了C、sed、awk、shell脚本语言以及其他语言的特性,专门用于文本处理。它可以在各种平台上运行,例如Windows,Mac OS和各种UNIX版本。其中最重要的特性是它内部集成了的功能,以及巨大的第三方代码库。比如,我们在安装nginx的时候一般都需要安装perl库,就是为了使用perl的正则表达式的功能。

2023-01-02 15:47:16 2688

原创 mysql主从同步

若在主从同步的过程中,出现其中一条语句同步失败报错了,则后面的语句也肯定不能同步成功了。例如,主库有一条数据,而从库并没有这一条数据,然而,在主库执行了删除这一条数据的操作,那么从库没有这么一条数据就肯定删除不了,从而报错了。在此时的从数据库的数据同步就失败了,因此后面的同步语句就无法继续执行。这种操作会直接跳过中间的那些同步语句,可能会导致一些数据未同步过去的问题。(1)在从数据库中,使用SET全局sql_slave_skip_counter来跳过事件,跳过这一个错误,然后执行从下一个事件组开始。

2022-12-23 13:12:43 2522

原创 yum源安装MySQL

Active是dead的,非运行状态,我们运行mysql。需要输入密码的地方,直接回车即可。8.创建root用户远程访问权限。7.查看MySQL用户登陆信息。5.查看MySQL运行状态。1.搜索MySQL版本。10.退出MySQL。

2022-12-15 21:37:33 504

原创 Docker安装部署Redis集群

概述本篇文章介绍一下通过Docker安装部署Redis集群。基于CentOS8、yum源安装,集群采用3主6从的模式。从节点我们介绍两种方式,一种是随机的从节点,一种是指定从节点的方式。如果是3主6从的模式的集群,也就是在3台服务器上,分别部署1个主节点和2个从节点。如果我们是指定从节点的话,我们的一个集群中的从节点不能和主节点在一台服务器上,这样可以避免一台主机宕机导致的集群整体宕掉后数据丢失问题。虽然可以重启机器,Redis集群做持久化进行回复,但是还是会导致短暂的不可用的情况。因为创建好Redis集群

2022-12-04 23:12:21 8573 3

原创 Linux命令:scp

目录简介一、语法二、示例2.1 将本地文件复制到远程主机目录2.2 将本地目录复制到远程主机目录2.3 将远程主机的文件复制到本机2.4 复制远程主机目录到本机今天我们来介绍一个Linux命令:scpscp — secure copy (remote file copy program),意思安全拷贝,安全复制的意思,是一个远程文件复制程序。准确来说就是不同服务器之间进行文件(包括目录)进行安全复制的命令。scp基于加州大学Regents的BSD源代码中的rcp程序。如何安全的呢?通过 SSH 协议安全地将

2022-12-04 13:06:06 58693 5

原创 Docker以标准方式安装部署Redis

docker安装redis的命令很简单,但是很多都是半成品的命令,说白了,就是自己玩玩,一个demo级别的redis而已。本篇文章以最全的命令方式安装部署Redis。注意:本篇只是单机版的,只是公司测试环境使用,或者作为集群方式安装的时候每一个节点的标准安装方式。2. 拉取redis镜像3. 查看所有镜像4. 宿主机创建需要挂载的目录和文件在redis.conf文件中输入内容:解读:容器创建之后会在宿主机的生成aof文件和rdb持久化文件,分别是:容器中则是在/data

2022-12-04 00:26:37 1811

原创 CentOS8克隆虚拟机修改IP,错误:未知的连接 “ens160“

关于CentOS8该如何克隆与修改IP,并设置成静态IP的方法,可以参考我的另一篇文章,我也是一直这么做的。CentOS8拷贝虚拟机、修改ip、主机但是最近我再使用我的这篇文章克隆虚拟机的时候,竟然报错了,本来想删除掉克隆后修改ip失败的虚拟机,但是重试之后发现还是偶尔失败。失败的地方是在我执行最后的命令:请注意,一般地,CentOS8的默认网卡设备名称都是ens160,而CentOS7一般是eth33。失败如下:就一句话: 之前试了不少办法,一直都不行,今天终于搞定了。详细信息参考这篇文章:解决Ce

2022-12-03 23:00:39 4558 1

原创 Docker安装Redis集群失败经历汇总

在程序员的开发过程中,Redis可以说基本上是必不可少的缓存中间件。不管是二进制包还是docker安装Redis的文章在网上都是数不胜数。我之前自己玩Redis的时候基本不是二进制包安装就是docker安装,也没有尝试过集群方式。每次需要的时候,网上百度一篇文章,安装一个单机版的,有的时候行,有的文章不行。也正是因为这个原因,本篇文章就想着自己创建Redis,通过docker方式进行部署。算是记录一下,方便以后使用。最后,然后我们再安装一下Redis集群模式。

2022-11-28 23:23:19 2512

原创 Linux命令:查看CPU、内存、磁盘使用情况

Linux命令:查看CPU、内存、磁盘使用情况。

2022-11-20 00:03:48 1252

原创 Docker安装MySQL

默认的鉴权方式,我们修改为mysql_native_password,不然的话连接会报错。虽然 docker 安装 mysql 不是一个很好的方案,但是为了个人使用方便,使用 docker 安装 mysql 还是没什么问题的。所以,我们在安装之前需要电脑可以联网,不然我们这种方式是安装不了的。当然,你也可以自行下载mysql镜像,然后再通过 docker 安装,不过这不在本文的讨论范围。此时我们使用mysql客户端连接服务器是失败的,因为默认的root不具有远程连接的权限。此时我们需要执行第六步。

2022-11-13 19:09:16 87928 32

原创 kubernetes专题:k8s核心概念

k8s中的核心概念大致上分为三个,分别是pod、controller和service。我们下面一一进行介绍。

2022-10-26 23:33:42 420

原创 kubernetes专题:k8s概述与特性

k8s是谷歌在2014年开源的容器化集群管理系统,它的前身是Borg系统;使用k8s进行容器化应用部署;使用k8s有利于应用扩展;k8s的目标实施让部署容器化应用更加简洁和高效。k8s最核心的功能就是容器调度,也就是根据整体资源的使用情况,将应用的实例部署到任何地方。注意任何这两个字,预示着你并不能够通过常规的IP、端口方式访问部署的实例。复杂性由此而生。我们学k8s,就要看它要调度哪些资源。以传统的感觉来看,无非就是cpu、内存、网络、io等。

2022-10-26 22:06:09 810

原创 kubernetes专题二:k8s架构

我们期望容器运行多个副本,就是由rc来控制的,一旦副本数量不满足我们的期望值,rc便要将副本数量改写为我们的期望值或者申请到我们的期望值。为了防止BorgMaster的单节点故障,master会有很多副本,这里的副本是奇数个数,一般大于1,一般为3/5/7个的数量。通过几种方式访问BorgMaster,由BorgMaster做分发处理,将任务分发给对应的scheduler(调度器),调度器将任务持久化到Paxos数据库中,Borglet会实时监听数据库,有对应的请求则执行任务。

2022-10-24 23:22:36 577

原创 kubernetes专题一:kubernetes的前世今生

IT行业发展至今,微服务、容器化技术已经非常成熟。随着云原生技术在世界范围内大规模地应用,我们也不得不开始了解、熟悉 、掌握云原生相关的技术体系。关于云原生,百科的说法是:云原生是基于分布部署和统一运管的分布式云 [1],以容器、、等技术为基础建立的一套云技术产品体系。百科定义是:云原生是一种新型技术体系,是云计算未来的发展方向。

2022-10-23 20:59:06 519

原创 架构师技术要求

有这样一句话,Redis搞定,架构师就搞定了一半。作为架构师,有两大工具必不可少,一个叫Redis,一个叫Nginx。但是他们都不简单,源码都是c编写的。下面我们就简单讲一讲架构师的基本技术要求。

2022-10-23 13:07:56 683

原创 Docker简介与安装

Docker是基于Go语言实现的云开源项目,主要目标是:“Build,Ship and Run Any App, Anywhere”,即构建、装载、运行任何应用、任何环境。通过对应用组件的封装、奋发、部署、运行等声明周期的管理,使用户的app(可以是一个web应用或数据库应用等)及其运行环境能够做到“一次镜像,处处运行”。Docker也是Linux容器技术的一种实现。将应用打成镜像,通过镜像成为运行在Docker容器上面的实例。而docker容器在任何操作系统上都是一致的,这就实现了跨平台、夸服务器。

2022-10-13 23:09:37 807

原创 CentOS8拷贝虚拟机、修改ip、主机

两大步直接拷贝一份新的虚拟机,从此再也不用一个一个地创建虚拟机了。第一步,拷贝虚拟机;第二步,修改ip。

2022-10-12 12:44:14 2827

原创 Linux防火墙:查看端口、开放端口、关闭端口

可以通过两种方式控制端口的开放,一种是指定端口号另一种是指定服务名。虽然开放 http 服务就是开放了 80 端口,但是还是不能通过端口号来关闭,也就是说通过指定服务名开放的就要通过指定服务名关闭;通过指定端口号开放的就要通过指定端口号关闭。还有一个要注意的就是指定端口的时候一定要指定是什么协议,tcp 还是 udp。知道这个之后以后就不用每次先关防火墙了,可以让防火墙真正的生效。也有可能返回firewalld is not running,此时需要打开防火墙在开放端口。添加指定需要开放的端口。

2022-10-11 15:32:31 2547

原创 Nginx代理转发Nacos集群:基于Nacos2.0.3版本

本文主要讲述采用Nginx代理转发Nacos2.0.3版本集群,涉及内容包括:1.Nginx的安装与配置;2.Nacos服务注册失败问题汇总与解决方案;3.Nacos1.x版本和2.x版本的差异,以及Nginx配置的差异。废话不说,我们直接进入正题。

2022-10-10 18:07:23 5819

原创 Linux系统安装部署nacos集群:基于nacos2.0.3

最后我们做一个总结:1.必须安装jdk;2.下载nacos-server-2.0.3.tar.gz压缩包;3.上传压缩包;4.解压压缩包;5.修改conf目录的application.properties文件的数据库连接;6.修改conf目录的cluster.conf的集群配置;7.将修改好的文件复制三份(如果部署多个,可以是多份);8.分别修改三个nacos的application.properties文件的端口;9.分别运行三个nacos的bin目录的startup.sh文件;

2022-10-05 21:26:32 13329 8

原创 通过命令设置Maven/JDK环境变量

在我们日常开发中,经常需要设置maven或JDK的环境变量——当然不设置也不影响开发。不过,偶尔可能会有一些影响,比如,一些二方库或者是三方库需要手动安装到本地仓库中,如果没有设置45aven环境变量就没有办法通过maven安装这些二方库或者三方库。当.网络上安装maven或者jdk的文章数不胜数,基本都是通过 我的电脑-高级设置。。。这种方式在电脑上添加的。这种方式当然很好,网上文章很多,很多老程序员甚至可以直接操作完全不需要文档。

2022-09-19 22:47:31 778

原创 SpringCloud的nacos多项目、多环境的命名空间和分组配置

用过SpringCloudAlibaba的小伙伴都知道nacos的配置有一个namespace和group的概念,这两个概念的字面意思都很容易理解,但是实际项目中使用起来,却不是那么回事了。这就好比,你面试的时候问一个人,分布式事务的解决方式有哪些,他可能会告诉你两阶段提交、三阶段提交等等,然后针对各个方式是如何实现的、原理是什么,说的也很清楚。这个时候你如果问题,那如何落地呢?不少人,此时就会傻眼了!你是不是这个样子呢?

2022-09-17 16:04:03 18611 18

原创 Knife4j 3.0.3 整合SpringBoot 2.6.4

关于 swagger 本文不再赘述,网上文章很多。本文要讲的是 Knife4j 3.0.3 整合SpringBoot 2.6.4,因为 knife4j 3.x版本(目前只有这一个版本)和2.x版本还是有一些区别的,如果配置注解方面使用不当,很容易导致文档页面打不开。同时,SpringBoot 2.6.4的版本也是相对较高的版本,在SpringBoot 2.4以上的版本和之前的版本还是不一样的,这个也容易导致一些问题。本文就这两个版本的整合做一个实战介绍。

2022-09-12 22:05:09 7118 5

原创 SpringCloudAlibaba的nacos控制台不断输出日志

SpringCloudAlibaba已经火了几年了,nacos同样也已经被大家使用很久了。我之前使用nacos的时候偶尔也会遇到一些问题,不过很快解决了,也就没有记录什么东西。组件公司版本稳定版本2.7.3Hoxton.SR82021.0.42021.1看上图,我们就发现,公司使用的这三大组件的版本太低了,距离现在最新的稳定版差距还是很大的。更重要的是,这是把各种公司需要的依赖添加进去,作为一个基础包使用的一个项目,使用这样低的版本,很容易影响使用者的。

2022-09-12 18:41:45 5342

原创 Mybatis的collection三层嵌套查询(验证通过)

查询class的信息,以及对应的学生列表,采用2个SQL的写法处理,其中select是查询这个studentList的SQL的id,即queryStudentInfo。在Mybatis中存在很多1对N查询的场景,比如在打开一个编辑页面时,需要带出对应的新增时添加的数据,如果页面有一些多个层级一对多的情况,那么在编辑时就需要查询出所有的层级。查询学生的信息,以及爱好列表,采用单个SQL的查询方式,直接把爱好的字段直接放在了collection中。但是如果是三层,乃至于多层的嵌套就不太好处理了。...

2022-08-18 15:23:32 4251 9

空空如也

空空如也

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

TA关注的人

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