自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

麦田

瞎学点啥

  • 博客(29)
  • 资源 (12)
  • 收藏
  • 关注

原创 10-Docker安装与配置镜像

微服务架构中,服务会比较多,并且所依赖的环境会比较多。不同的应用装在Linux系统中还要依赖底层依赖库,不同的操作系统所依赖的库不同,这就导致环境出现部署难题。

2023-03-15 23:45:00 151

原创 7-Nacos集群

企业中要求高可用,所以nacos通常为集群方式搭建:SLB表示负载均衡器,可以是nginx进行负载均衡,分发请求到其他的nacos:为了解决数据共享问题,数据库是同一个服务,使用数据库集群的方式来完成。

2023-03-15 23:30:00 103

原创 8-Feign远程调用

basic:基本信息,发送时间/结束时间/耗时headers:基本信息+请求头信息full:基本信息+请求头信息+请求体+响应体。

2023-03-15 23:30:00 146

原创 9-Gateway服务网关

网关用来拦截所有从客户端访问的请求,进行身份的验证以及具体服务的路由,再就是负载均衡,服务限流等功能:网关就是对服务的一种保护,保护服务的访问量以及敏感数据权限管理等。网关可以用gateway和zuul来实现:创建新的项目并继承付父项目引入依赖:网关是作为一个服务要注册到nacos的,所以要引入nacos客户端依赖并注册到nacos。在此项目的配置文件中,将服务注册到nacos,并且配置路由的相关信息:其中routes中要写一个对象,其中uri可以写路径,或者些lb类型路径,lb类型路径能

2023-03-15 23:30:00 153

原创 5-Nacos注册中心

nacos是阿里巴巴的产品,是spring cloud的组件,nacos不仅可以作为注册中心,还可以做配置中心:spring cloud commons组件提供了组件规范,也就是说进行依赖修改之后再进行配置就可以完成集成:在经过上文操作之后,直接可以用消费者访问提供者即可。

2023-03-15 19:07:04 68

原创 4-Ribbon负载均衡

在刚刚进行远程调用的时候,实际上进行了服务拉取,然后负载均衡访问了服务提供者来获取的数据。在消费者方使用的链接是无法直接访问的,而是由ribbon进行解析然后进行负载均衡和远程调用来获取的真实地址进行的访问。

2023-03-15 19:06:19 89

原创 6-Nacos配置中心

注册中心注册的服务可能达到很多,每个微服务的配置都要单独设置,配置完成之后都要重启启动。需要一个配置管理服务统一管理所有服务的配置加上本地的配置进行结合来使用。并且每个配置修改之后还要完成热更新情况,这样无需重启服务即可更新配置。

2023-03-15 19:05:51 263

原创 3-Eureka注册中心

每个服务可能是服务提供者也可能是服务消费者,这两个概念来源于一套代码调用中哪个服务被调用和哪个服务主动调用其他服务。服务提供者与消费者只是两个服务之间调用关系的区分,无论多长的调用链,提供者与消费者也仅仅是两个服务之间的关系,而与其他服务无关。

2023-03-15 19:03:54 52

原创 2-微服务技术选型

微服务架构是一种架构思想,具体的功能实现还要有具体的框架技术支持来落地。无论是哪个框架,都有共同的功能:服务要进行拆分并进行集群,服务之间的交流也通过注册中心来进行交流,所有服务的配置也进行统一的管理放到配置中心,服务网管进行路由和鉴权以及服务保护/隔离/容灾等功能,只是框架的实现方式不同。:并不是一个独立框架,而是一个整合中心,将很多插件和框架通过标准进行整合可方便的插拔。也支持了所有微服务中所需要的所有插件;:2012开源,并非是纯粹的微服务体系,主要是用作远程调用,并且注册中心也不是专业的支持。

2023-03-15 19:02:57 177

原创 1-微服务概述

微服务架构图:微服务技术栈:单体架构:业务所有功能在一个项目中,作为一个包发布;好处是架构设计简单,部署成本也比较低,面相简单的项目;缺点是业务之间的耦合度高,扩展难度高,如果项目变大那编译和运行时间都会变慢;分布式架构:根据业务进行拆分,每个模块作为独立的服务。服务之间相互调用来回去数据;好处是服务之间耦合度降低了,可以进行扩展或者升级,缺点是部署将变得很麻烦,如果需要做集群模式的话还要考虑远程调用和负载的情况;所以在微服务架构设计中,就要考虑在多个服务相互远程调用并存在集群情况是会出现的问题:

2023-03-15 19:02:11 63

原创 Java基础:线程就像织毛衣,又麻烦又多样

线程的常用操作学习线程要注意,线程的执行与从前学习流程控制时所执行程序的顺序有所不同,曾经的主函数所运行的单线程程序只需要梳理一个线程的运行顺序就可以了,但在多线程的程序里是多个线程同时并发的,并且线程的执行时随机的,并不能预知具体哪个线程在哪个时间点执行哪个语句。线程的操作可以操作当前执行的线程的状态,让当前线程与其他线程之间产生协作。休眠 sleep休眠也就是暂停,让当前运行的线程暂停运行一段时间。sleep是静态方法,阻塞的是当前正在运行的线程而不是调用它的线程,只对正在运行的线程有效。也就

2021-12-01 22:51:59 466 1

原创 Java基础:如果我三心二意多线程,会爱你的方方面面好几生

线程计算机在运行一个程序的时候,会开辟一个进程来运行相关的代码,线程是在进程中进行具体运行的单位。进程将由系统调配系统资源,是操作系统运行的基础。一个进程包括着多个线程,线程是计算机操作系统运行程序能够调度的最小单位,是单一的执行流程。在Java中,JVM的启动就是一个进程的启动,每一个程序中运行时,主函数将自动的创建一个线程加入到进程中运行代码。多线程看起来是并行的,但实际上多线程在实际运行时是串行的,只是线程在运行时会分时间段的获取可执行自己程序的权利,并在程序没有运行完成的时候就交出执行权由其他

2021-11-29 22:28:28 176

原创 Java基础:异常的概念及处理方式

异常异常表示在程序运行中出现的错误,也就是在方法进行运算的时候出现的问题。例如运算异常或者数组下标不存在等异常。语法异常在编译时就无法通过,不属于异常的范围。异常出现之后通常程序会停止运行并且在控制台描述异常的具体内容,Java存在容错性的特点,也就是说在程序运行中允许出现异常,并且在出现异常之后仍继续运行。异常对象Java将程序中可能出现的异常通过类的方式进行了描述,所有的异常都可以进行记录和抛出,所以最终极的类Throwable,表示可抛出的。Throwable:所有异常的根类,表示可抛出

2021-11-28 17:10:24 509

原创 Java基础:枚举的概念及应用

枚举枚举是一种特殊的类,普通的类可以拥有无限多的对象,但枚举所拥有的对象是有限的。枚举同样拥有方法和属性,同样可以实现接口来实现功能,但却不能继承和拥有子类。枚举所拥有的实例已经在自己类中定义了,并不能通过new的方式创建。在程序运行时可以直接通过类名调用枚举中的对象来调用其中的属性或者方法。在枚举中定义好的对象通常都指定了属性的值,来区分不同的对象,并且属性可以让不同的对象具有特殊的含义。通过枚举获取到的枚举对象都是单例的,并且无法通过反射获得。枚举中创建好的实例称为枚举的元素,外部是无法创建枚举

2021-11-27 00:06:35 366

原创 Java基础:单例模式练习

单例模式单例也就是单个一个实例,单例模式也就是在程序运行过程中,单例模式设计的类只会出现一个实例。因为创建对象都是要调用构造函数的,所以每一种单例模式的第一步都是将构造函数私有化。懒汉模式懒汉模式表示不会提前创建好对象的实例,而是在需要到此类对象时才去创建。私有化构造函数,使其在外部无法创建对象。提供对外的获得此类对象的接口(getA方法)。创建一个静态的全局本类类型属性,之所以是静态的,是因为只会创建一次,只有一个空间。为了防备外部直接调用静态的属性而获得此类对象,需要将全局属性私有化。

2021-11-27 00:05:47 372

原创 Java基础:接口的概念及应用

接口接口类型是与类相似的一种类型,类主要用来对事物进行实际的描述,创建对象实例来具体的描述某一个事物。接口的作用是对功能的概括,并且对外进行展示。例如在程序中,存在一个支付的功能,那支付并不是一个具体的操作,而是存在支付、退款、统计等等的细节操作,支付这件事情也并不适合采用类来进行描述,因为支付是一个动作,对其进行细致的分析之后,发现其业务都是一些流程化的东西。注意支付并不能用类来描述,但是订单是可以的。也就是说订单更适合用类来描述一个实体,但支付好像只是一些流程,不太适合使用描述实体的类来描述。并

2021-11-27 00:03:59 217

原创 Java基础:三大修饰符(static、final、abstract)

三大修饰符关于修饰符的知识,分为访问修饰符和三大修饰符,访问修饰符用于控制方法或者属性的使用范围,三大修饰符各自具有不同的特性,可以修饰类、属性、方法。static(静态)在主函数中和学习方法的时候,方法上都添加了static作为修饰符,在学习本章之后,将知道static的作用是什么,什么时候添加static,什么时候不能添加。静态修饰符可以修饰属性和方法,未来还可以修饰代码块。静态的含义也就是不加入任何一个对象,而是在内存中的一个独立的空间存储。静态修饰符所修饰的内容是写在类里的,但是无论类创建了

2021-11-26 20:57:34 686

原创 Java基础:数组的构建和应用练习

数组区别于普通的单个值变量,数组可以有序的存储多个值在同一变量中。数组属于对象类型,其变量存储的是数组所占用的空间在内存中的地址,数组占用的是连续的多个同一类型的内存空间。数组在创建之初就要确定其存储的所有值的统一数据类型,以及数组所占空间的长度,也就是值的数量。并且在数组创建之后,其空间大小和数据类型都无法再改变。数组是有序存储多个值的空间,存在以下术语:长度:数组所占用的空间数,也就是能存储多少个同类型数值。元素:数组中存储的每一个值对于数组来说,都是数组的元素。下标:数组中的值存在顺序,

2021-11-25 21:04:05 410 1

原创 Java基础:面向对象特性(多态)

多态多态表示事物的多种表现形态。在程序中,父类通常描述的是多个子类的共性,子类对象就可以作为一个有个性的父类出现,例如狗类可以作为动物类使用,猫类也可以作为动物来使用。多态的表现需要在两个类存在继承关系的前提下,子类对象赋值给父类类型引用,例如:Animal a = new Dog();,这样的语法是对的,因为狗类可以称作是一个动物类。可以结合基本类型的自动类型提升来描述多态,父类表示数据类型较大的变量,子类表示数据类型较小的值,使用较大变量接收较小的值是可以接受的。多态可以屏蔽不同对象之间的差异,

2021-11-25 21:01:25 258 1

原创 Java基础:面向对象特性(封装、继承)

面向对象特性面向对象是一种编程思想,其中具有这样思想的程序通常会存在:封装、继承、多态的三个特征。面向对象会采用抽象的方式将一类事物的共性进行提取,制作成一个类模板,再通过类模板来创建具有具体特征的实例。类实例之间也会存在融合和共通的关系,这方便了在开发过程中合理的安排数据使用途径和提高代码重用性。封装封装存在两个说法:将一类实例共性抽取并使用程序(一般是类)的形式描述出来。将类中的各成员(属性和方法)进行私有化控制,并提供可访问的途径进行间接的内容访问。第一种描述实际上就是在上文中对各类

2021-11-24 23:11:12 343 2

原创 Java基础:面向对象思想代码应用

面向对象思想与应用面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。面向过程类的程序更关注于程序执行的流程,而

2021-11-23 14:07:03 385 2

原创 Java基础:包的创建与引入

包与导包Java中的包也就是操作系统中的文件夹,包表示一些Java文件的集合。JDK所提供的程序都存在于各个的包中,并且在实际开发过程中,自定义的每一个Java文件都要存在于一个包里。将同一功能或者同一类型的Java文件放到同一文件夹里,加上公开类的特性能够让开发人员在文件系统中就能看到整个系统的全貌,以及所有Java文件的分布和意义。此前在进行Java文件编译的时候,Java文件所生成的class文件将放置到Java文件的同级目录下:那是因为环境变量中CLASSPATH变量所配置的位置是一个英文点,

2021-11-22 22:58:15 3009 2

原创 Java基础:函数声明与调用

方法函数在接触到Java的第一个程序时就存在函数。主函数是Java中规定写法的一种函数:主函数通常写在公开类中,在执行Java程序的时候自动主函数中的代码。函数的定义:函数是写在类中具有一定特殊功能的代码块,函数是可以自己定义的,只是主函数会被解释器自动扫描和运行,自定义的函数需要进行手动的调用。函数的意义:函数存在的意义实际上是为了让代码能够重复使用。例如将做加法运算的程序写到一个单独的函数中,在使用到加法运算的时候只需要调用这个函数,而无需重新书写新的加法算法。这被称为代码的重用性,也就是对一

2021-11-21 23:32:07 14675 2

原创 Java基础:流程控制语句

流程控制计算机不仅仅能够提供运算数据的能力,通过程序编码还可以使其具有决策和批量执行的能力。实际上在程序的开发过程中,大量的时间都会考虑流程的执行分支和批量数据的筛选或者重复的操作。流程控制的代码让计算机具有了思考能力,通过编码决定具体的决策可以使其完成特定情况下的程序执行,以及重复的频繁操作。条件分支在计算机运行过程中,会在同一个步骤下出现多种运行可能,具体运行那一条子流程取决于某些特定的参数。实际上对于某一个步骤来说只会有两种可能,也就是执行或者不执行。所以决定流程是否启动的关键参数就是一个布尔

2021-11-20 23:45:03 553 7

原创 Java基础:运算符与字符串加法

运算符计算机的主要作用就是运算,运算是计算机中最原子的操作。Java提供了丰富快捷的运算符号实现二目数据运算1和三目逻辑运算2,并且因为计算机理解数据都是二进制的,所以还提供了有关二进制的运算符,使用快捷的运算方式实现较为复杂的算法。Java的运算符很像普通数学中应用到的运算符号,也存在优先级,运算顺序等规律,所以在学习Java运算符的时候,可以套用一些数学中常用的运算常识。运算中常用的是二目运算,在学习一个运算符的时候要时刻提问自己以下两个问题:运算符链接的是什么类型的数据。运算结果是什么类型的

2021-11-20 16:19:18 1542 1

原创 Java基础:数据类型与变量

数据类型Java是一种强数据类型语言,每一个变量在声明时都必须规定其数据类型,在运行中也不允许其改变数据类型。数据类型的作用其实就是规范变量存储数据的大小,从而合理利用计算机内存空间。在程序运行过程中出现的数值都要使用变量进行承接,因为变量规定了存储数据的大小,所以要预判运行中出现的数据大小从而规定变量的数据类型。十进制与二进制的转换在了解Java数据类型之前要具备一定计算机进制运算常识,因为计算机运算中通常只使用二进制,所以对进制的转换有利于对Byte等二进制计量单位的理解和演算。十进制转换为二

2021-11-19 21:12:40 596 4

原创 Java基础:入门程序练习与注释

入门程序Hello World 中文意思是『你好,世界』。因为 《The C Programming Language》 中使用它做为第一个演示程序,非常著名,所以后来的程序员在学习编程或进行设备调试时延续了这一习惯。在写代码前的准备工作编辑工具的选用程序专用的开发工具有很多,但在初学阶段仍然建议使用最简单最普通的文本编辑工具来实现编码,这样在编译和运行过程中能够观察到class文件的生成和变化,以及锻炼手写代码的能力。Windows虽然自带了写字本工具能够进行编码输入,但在书写代码方面更推荐能够

2021-11-18 20:31:19 470 2

原创 Java基础:JDK安装与环境配置

安装与配置开发Java的Sun公司已经被Oracle收购,关于Java的安装包可以在Oracle官网下载。Java在不断更新中,但推荐使用Java8版本,因为市面上大多软件开发都采用1.8版本。以下安装步骤将在Windows环境下进行,Win7和Win10环境中对系统菜单和按钮的寻找大同小异,如果有不明白的区别可以参考网络搜索结果。软件安装检测并去除原Java在安装Java之前,要先检查计算机中是否存在已经安装的Java,先将曾安装到计算机中的Java卸载,否则同一个计算机中存在两个Java可能会

2021-11-18 12:28:47 375 1

原创 Java基础:编程语言、软件与Java语言概述

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-11-17 18:00:18 499 2

伽卡课堂 课堂管理软件 局域网控制

伽卡课堂 课堂管理软件 局域网控制

2021-11-27

GongPing 共享屏幕

GongPing 共享屏幕软件

2021-11-27

FSCapture windows

FSCapture录屏软件 windows系统

2021-11-27

PowerDesigner15 Evaluation windows

PowerDesigner15 Evaluation 数据库表关系设计工具 windows系统

2021-11-27

Typora Linux

Typora MarkDown编辑器 Linux系统

2021-11-27

Notpad++ 7.5.8 windows

Notpad++文本编辑器 7.5.8版本 windows平台

2021-11-27

LiteIDEx 37.4 (win64-qt5.14.2).zip

Go语言开发工具x,版本37.4,使用win64平台

2021-05-21

GoLang 1.16.4(win64).msi

Go语言安装环境,win64平台,版本1.16.4

2021-05-21

Pandoc 2.2.1(win64).msi

可以配合typora进行markdown转doc格式,或单独使用

2021-05-18

RabbitMQ 3.8.16(win64).exe

RabbitMQ 安装文件,版本 3.8.16,适用于Windows

2021-05-18

Erlang 24.0(win64).exe

Erlang 语言环境安装包,版本24.0,适用于Windows

2021-05-18

空空如也

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

TA关注的人

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