自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 06-微服务-SpringAMQP

多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量交换机的作用是什么?接收publisher发送的消息将消息按照规则路由到与之绑定的队列不能缓存消息,路由失败,消息丢失FanoutExchange的会将消息路由到每个绑定的队列声明队列、交换机、绑定关系的Bean是什么?QueueBinding描述下Direct交换机与Fanout交换机的差异?Fanout交换机将消息路由给每一个与之绑定的队列。

2024-01-04 19:19:50 1023

原创 05-微服务-RabbitMQ-概述

基本消息队列的消息发送流程:建立connection创建channel利用channel声明队列利用channel向队列发送消息基本消息队列的消息接收流程:建立connection创建channel利用channel声明队列定义consumer的消费行为handleDelivery()利用channel将消费者与队列绑定学习笔记,整理自黑马程序员教程。

2024-01-03 17:16:07 1452

原创 04-微服务-Nacos

国内公司一般都推崇阿里巴巴的技术,比如注册中心,SpringCloudAlibaba也推出了一个名为Nacos的注册中心。

2024-01-03 17:10:59 1154

原创 03-微服务-Ribbon负载均衡

SpringCloudRibbon的底层采用了一个拦截器,拦截了RestTemplate发出的请求,对地址做了修改。用一幅图来总结一下:拦截我们的RestTemplate请求http://userservice/user/1RibbonLoadBalancerClient会从请求url中获取服务名称,也就是user-serviceDynamicServerListLoadBalancer根据user-service到eureka拉取服务列表。

2024-01-03 17:05:45 1527

原创 02-微服务-Eureka注册中心

假如我们的服务提供者user-service部署了多个实例,如图:大家思考几个问题:这些问题都需要利用SpringCloud中的注册中心来解决,其中最广为人知的注册中心就是Eureka,其结构如下:回答之前的各个问题。问题1:order-service如何得知user-service实例地址?获取地址信息的流程如下:问题2:order-service如何从多个user-service实例中选择具体的实例?问题3:order-service如何得知某个user-service实例是否依然健康,是不是已经宕机?

2024-01-03 17:03:42 1492 1

原创 01-SpringCloud微服务入门

随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢?

2024-01-03 17:01:15 751

原创 软件过程模型

软件过程模型习惯上称为软件开发模型,它是软件开发全部过程、活动和任务的结构框架。典型的软件过程有瀑布模型、增量模型、演化模型(原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式化方法模型等。

2023-09-02 22:48:21 815

原创 软件工程概述

软件工程指的是应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,目的是提高软件生产效率、提高软件质量、降低软件成本。

2023-09-02 20:52:19 834

原创 CSS基础

CSS Margin (外边距)属性定义元素周围的空间。CSS Margin 属性接受任何长度单位、百分数值甚至负值。CSS 盒模型本质上是一个盒子,封装周围的 HTML 元素,它包括:内边距,外边距,边框,内容。CSS Padding(填充)属性定义元素边框与元素内容之间的空间。在样式表中有很多具有相同样式的元素就可以用分组选择器。当我们想精准找到某元素的时候要就id选择器。适用于选择器内部的选择器样式。

2023-09-02 15:56:21 361

原创 数据库中的锁

表级锁是MySQL中锁定粒度最大的一种锁,表示对当前操作的整张表加锁,它实现简单,资源消耗较少,被大部分MySQL引擎支持。就像酒店的房间,如果大家随意进出,就会出现多人抢夺同一个房间的情况,而在房间上装上锁,申请到钥匙的人才可以入住并且将房间锁起来,其他人只有等他使用完毕才可以再次使用。当数据库有并发事务的时候,可能会产生数据的不一致,这时候需要一些机制来保证访问的次序,锁机制就是这样的一个机制。排他锁只可以加一个,他和其他的排他锁,共享锁都相斥。锁定粒度最小,发生锁冲突的概率最低,并发度也最高。

2023-08-29 21:39:52 47

原创 索引简单概述(SQL)

索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),他们包含着对数据表里所有记录的引用指针。索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查找、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。更通俗的说,索引就相当于目录。为了方便查找书中的内容,通过对内容建立索引形成目录。索引是一个文件,他是要占据物理空间的。

2023-08-29 20:27:38 295

原创 SQL语句基本命令

日常学习笔记,不喜勿喷,欢迎纠错与探讨!

2023-08-28 21:30:20 120

原创 事务(SQL)

事务是一组操作的集合,他是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向西永提交或撤销操作请求。这组操作,要么全部执行成功,要么全部执行失败。事务操作查看/设置事务提交方式-- 查看/设置事务提交方式-- 查看事务的提交方式-- 0为手动提交事务,1为自动提交提交事务-- 提交事务 COMMIT;回滚事务-- 如果事务出现异常我们就要进行回滚事务 ROLLBACK;事务四大特性(ACID)原子性(Atomiicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。

2023-08-28 20:13:38 109

原创 Stream流

但是数组必须是引用数据类型的,如果传递基本数据类型,是会把整个数组当做一个元素,放到Stream当中。中间方法,返回新的Stream流,原来的Stream流只能使用一次,建议使用链式编程。方法的形参是一个可变参数,可以传递一堆零散的数据,也可以传递数组。修改Stream流中的数据,不会影响原来集合或者数组中的数据。先得到一条Stream流(流水线),并把数据放上去。结合了Lanbda表达式,简化集合、数组的操作。使用中间方法对流水线上的数据进行操作。使用终结方法对流水线上的数据进行操作。

2023-08-20 14:05:47 76 1

原创 Java集合Collection接口(超详解)

动态数组LinkedList在内部使用动态数组,因此在进行元素添加、删除和查询操作时,它比静态数组更快。双向插入或删除:可以从头部和尾部进行插入和删除LinkedList支持在头部和尾部进行高效的插入和删除操作,因为它是双向链表。LinkedList不是线程安全的,如果多个线程同时修改它,可能会导致数据不一致的问题。有序性:LinkedHashSet中的元素是有序的,它会按照元素被添加的顺序来维护元素的顺序。

2023-08-10 20:51:50 1153 5

原创 ArrayList的扩容原理(底层代码详解)

当ArrayList的元素数量达到当前容量时,会调用方法来确保ArrayList具有足够的容量来存储更多元素。这个方法会自增修改次数,并检查当前容量是否足够。如果当前容量不足,就会调用grow方法来扩容数组。grow方法会计算新的容量大小,一般是当前容量的1.5倍(如果超过了最大容量限制,则根据实际情况进行调整)。然后,通过调用方法将原有的数组复制到一个新的、更大的数组中,完成扩容操作。这个扩容过程是透明的,对于使用者来说,不需要关心扩容的具体细节。

2023-08-09 20:24:02 175

原创 Java中Math类的基本应用

Java中的Math类包含了一组静态方法,用于执行各种数学运算和操作。这些是Math类中的一些常用函数,可以根据需要进行进一步探索和使用。

2023-08-07 20:34:27 95

原创 枚举详解(Java)

枚举(Enumeration)其实是一种特殊的类,他在创建的时候就声明定义了一组固定的常量,并且枚举的构造函数时私有的(private),所以我们不能通过外界来实例化。枚举在Java中通常被用作一种安全的方式来声明一组固定的常量。

2023-08-07 19:59:15 184

原创 抽象类、接口

接口是一种完全抽象的类,它定义了一组方法的签名(方法名、参数和返回类型)但没有实现方法的代码。一个类可以实现(implement)一个或多个接口,并且必须实现接口中定义的所有方法。接口用于定义纯粹的规范,而抽象类则可以包含具体的方法实现。接口支持多继承,一个类可以实现多个接口,但只能继承一个抽象类。子类继承抽象类时必须实现父类中的所有抽象方法,除非子类本身也是抽象类。在Java中,接口(interface)和抽象类(abstract class)是两种实现代码复用和实现多态性的机制。

2023-08-02 20:46:53 32

原创 Java中的关键字——static 概述

在 Java 中,static 是一个重要的关键字,它被用来表示一个。正确使用 static 关键字可以提高代码的可读性和可维护性。总之,static 关键字在 Java 中有很多用途,它不依赖于外部类的实例,可以直接通过外部类来访问。静态变量、静态方法或静态内部类。

2023-08-02 11:37:07 36

原创 equals和恒等(==)的区别

重写equals()的同时也要重写HashCode()方法,重写HashCode()方法时为了使进行判断相等的两个值的HashCode相等。通过重写hashCode()和equals()方法,可以在需要比较或存储狗对象时进行准确的比较和哈希码计算。– 如果两个对象恒等于(即p1 == p2结果为true),那么equals也相等。– 如果一个对象和另一个对象类型不同对象比较,结果需要返回false。如果未重写equals()方法,则其功能与恒等(==)相同。通常子类需要重写父类的equals方法。

2023-08-01 22:43:01 67

原创 Java 二维数组

二维数组简单概述:Java中的二维数组一般应用在矩阵的一些运算、棋盘游戏中棋盘的实现、二维数据的处理、图表的绘制、数据库的存储等方面。特别是在和等情况下非常有用,可以方便的存储和操作数据。

2023-07-30 00:21:43 2230

原创 栈、堆、方法区(Java内存)

在Java中,

2023-07-28 23:53:42 227

原创 Java 继承

*它允许一个类(称为子类、派生类、扩展类)继承另一个类(称为父类、基类、超类)的属性和方法。**继承让子类能够重用父类的代码,同时添加自己的特性和方法,从而构建出更加灵活、可扩展的程序。**需要注意的是,如果父类没有提供无参构造方法,子类必须显式地调用一个父类的构造方法。方法覆盖:子类可以覆盖**(overload)**父类的方法,即定义一个与父类方法名相同、参数列表不同的方法,并实现自己的逻辑。继承方法:子类可以继承父类的所有非私有方法(public)和保护方法(protected),

2023-07-28 23:47:39 42

原创 构造函数(构造方法)

构造函数(Constructor)是Java中的一个特殊方法,用于在创建对象时初始化对象的状态。构造函数的主要作用是设置对象的初始值,以便对象可以使用。在Java中,每个类都至少有一个构造函数,用于创建该类的对象。

2023-07-26 21:52:33 232

原创 冒泡排序(Java)

接下来,我们可以使用一个for循环来遍历整个数组,每次比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置。这样就可以将最大的元素逐渐移到数组的末尾。在上述代码中,每次比较都需要执行三次算术操作和一次赋值操作,这可能会导致性能问题。我们可以通过交换相邻元素的位置来优化代码,从而减少算术操作的数量。反向冒泡排序与正向冒泡排序类似,但是从数组的末尾开始比较相邻元素的大小,将最小的元素逐渐移到数组的开头。,因此对于较大的数据集,可能会出现性能问题。Java冒泡排序是一种基本的排序算法,通过。

2023-07-25 22:40:28 240

原创 Java数组的内存分配

Java内存模型(JMM)定义了Java程序中线程之间的内存访问行为。Java内存分为几个部分,分别是堆、栈、方法区、本地方法区、PC寄存器等。两个数组指向同一个空间的内存图。数组是如何开辟出一块内存的?

2023-07-25 22:13:38 348

原创 Java中ArrayList类详解

对于ArrayList的理解和应用,需要掌握其容量、扩容条件、add、get、remove、遍历删除等方法的使用,以及其底层数据结构和线程安全性等。

2023-07-24 17:04:29 978 2

原创 Java数组详解与应用

Java中的数组是一种用于存储相同类型数据的数据结构。它们由一组连续的内存空间组成,每个元素都有一个唯一的索引,并且可以通过索引快速访问任何元素。

2023-07-22 22:47:03 271

原创 水仙花数(Java)

​ 水仙花数的概念源于古希腊神话中的纳西索斯(Narcissus),他因为自恋而被神惩罚,最终爱上了自己的倒影。水仙花数(Narcissistic Number)是一个数学术语,是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,在密码学中,水仙花数可以用来生成密码和密钥,因为它们的位数大、容易记忆、难以被破解等特点。​ 总之,水仙花数是一个有趣而富有传奇色彩的数学概念,虽然在实际应用中并不常见,但它仍然是一个被广泛研究的话题,具有理论意义和实际应用价值。

2023-07-21 20:40:27 628

原创 for循环打印特殊图案

for循环打印三角形、心形、风车

2023-07-20 20:29:12 88

原创 for循环打印九九乘法表

【代码】for循环打印九九乘法表。

2023-07-20 19:46:58 68 1

原创 Java 流程控制

流程控制语句——程序运行的过程,程序的跳转和循环

2023-07-20 19:17:47 35

原创 Java中的小工具 Scanner 类

在Java中Scanner方法是一个扫描器,会扫描控制台(Console)中输入的数据,我们可以通过Scanner类获取用户的输入。

2023-07-20 19:13:07 125

原创 Java中的运算

​ 如果 表达式1是false,Java不会走表达式2,因为不论表达式2是true还是false,整体结果都是false,java会进行短路操作。关系运算符:> 、 < 、>= 、

2023-07-19 10:54:53 369

原创 Java变量与基本数据类型

在Java中布尔类型只有两个值:true、false(真值和假值)。布尔类型主要在逻辑判断方面使用。Java中的整数:byte(1字节)、short(2字节)、int(4字节)、long(8字节)整数做除法,结果还是整数,结果并不会四舍五入;浮点数做除法,结果还是浮点数;​ 可以使用科学计数法进行赋值:3.14e2 -> 3.14*10^2。小数(2种):double、float。布尔类型:boolean。​ 浮点数可以存整数;

2023-07-19 10:40:29 42

JSP+Servlet图书管理(增删改查)

这是一个简单的,基于MVC设计模式的JSP+Servlet的图书管理的小demo,基本完成了对数据的增删改查,个人练手的项目。 环境配置:mysql5.7、jdk8、idea、Maven3.6.3

2023-10-10

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

TA关注的人

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