自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 商品秒杀总结

分为两种模式一个是限时购买,一个是限裤购买。我们这里使用的是指定时间段下面的限库购买单独使用一个库来存储数据,下面有两张表,一张表是具体的商品,一张表是订单。用户下的订单数据都要放到redis 中,等到最后用户抢到商品并成功支付之后,在录入到数据库中,这样可以减轻数据库的压力,不会导致数据库宏机的现状。秒杀商品的过程:在这个时间段内,用户直接下单,抢到并且支付成功之后,才可以更新到数据库中,如果没有支付成功的话,那么数据就要回滚,保证库存量正好。

2024-01-09 22:53:27 1294

原创 auth2和JWT的一些了解和使用

比如要登录一个网站,需要第三方登录的话,那就要使用第三方的认证,获取到第三方的授权码以后才可以去认证框架哪里获取命令,有了命令就可以访问网站下面的任意资源服务器的模块(其中去第三方获取 授权码是看不见的 有了授权码才可以去认证框架哪里获取令牌 有了令牌就可以去访问其它的资源服务,才可以访问资源)答案是否定的,服务提供商会给批准接入的客户端一个身份,用于接入时的凭据,有客户端标识和客户端秘钥,在这里配置批准接入的客户端的详细信息。设置后,将支持 password 授权类型,并验证来自客户端的用户名和密码。

2024-01-03 17:27:08 1258

原创 rabbitmq使用总结

1、进入rabbitmq的sbin目录,进入CMD2、输入./rabbitmq-plugins enable rabbitmq_management启用管理服务。3、输入./rabbitmqctl start_app启动服务。查看是否启动成功1、浏览器访问下载erlang找到 otp_win64_20.3.exe,以管理员方式运行此文件,安装。erlang安装完成需要配置erlang环境变量:这两个都加入到系统盘中去在path中添加%ERLANG_HOME%\bin;

2023-12-28 11:53:11 802

原创 seata的个人使用

9. namespace = "f5b28d8e-8e11-4d7c-9c46-057a77bf2fdf" -一定要换成自己的配置中心的id。namespace: f5b28d8e-8e11-4d7c-9c46-057a77bf2fdf #配置上面的namespace。tx-service-group: order-server #和上面的nacos的上面的配置一致。12. password = "nacos" -- 配置中心的密码。32. user = "root" -- 设置自己的数据库名。

2023-12-20 17:22:20 365

原创 thymeleaf的个人总结

html lang="en" xmlns:th="http://www.thymeleaf.org"> // 在线加载这个Thymeleaf 的使用 来动态展示数据。//在thymeleaf 包下面的用来存放数据的 来切换静态页面的数据 上下问对象。file.exists()){ // 路径存在就跳过,不存在就创建一个。// Map<String,Object> 的参数 将数据传到 静态页面域中。@Value("${pagepath}") // 在这里读取配置文件中的路径。// 创建一个文件路径。

2023-12-20 12:48:59 881

原创 内部类的使用

/ 这里创建一个对象。// 这个是内部接口的使用方法。// 这个是内部接口的使用方法。System.out.println("我爱你");System.out.println("我爱你");// 内部类的成员变量。// 创建一个内部静态对象。

2023-12-18 11:00:49 338

原创 Elasticsearch的使用总结

MultiMatchQueryBuilder multiMatchQueryBuilder = QueryBuilders.multiMatchQuery("实战语言", "name", "description");.multiMatchQuery("spring框架", "name", "description");// 添加一个给高亮的条件。// setTypes("article").setQuery(QueryBuilders.termQuery("title","搜索 "));

2023-12-17 21:18:55 1789 1

原创 Canal了解和使用

个人理解有不好的地方希望大家多多指教

2023-12-14 11:47:53 778

原创 lua基本语法使用

for var=expr1,expr2,expr3(var 从expr1到expr2,expr3 为步长,可为空,默认为1)print(tab.g1) -- 直接点 和java 中的用法一样。until(条件) -- 这里和do while 是一样的 先执行 在判断。function 函数名(fmt,...) -- 固定参数写在前面。if (成立) then -- 这里加一个 then 的关键字。ipairs() -- 正序循环数据 table。没有 ++ -- 其它的都一样啊。

2023-12-12 13:42:19 696

原创 Swagger2的使用

其他的不多说,想要了解Swagger的,可以去Swagger官网,可以直接使用Swagger editor编写接口文档,当然我们这里讲解的是SpringBoot整合Swagger2,直接生成接口文档的方式。Swagger也就是为了解决这个问题,当然也不能说Swagger就一定是完美的,当然也有缺点,最明显的就是代码移入性比较强。文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时。-- swagger 文档 一些注解都是在这个包里面的-->接口文档太多,不好管理。

2023-12-09 17:27:57 830

原创 Spring Cloud Gateway使用和配置

是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系中的网关,目标是替代ZUUL,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。

2023-12-04 23:00:10 894

原创 RestTemplate硬编码的使用

是由提供的一个可用于应用中调用的类它简化了与http服务的通信方式,统一了RESTFul的标准,封装了http连接,我们只需要传入url及其返回值类型即可。相较于之前常用的HttpClient,RestTemplate是一种更为优雅的调用RESTFul服务的方式。因为RestTemplate是提供的所以只要是一就不用问题,这些都是提供好的。但是Spring并没有将其加入中,,因为我们首先创建一个Springboot配置类,。

2023-12-04 22:23:38 385

原创 mybatis-plus的基本使用

(简称 MP)是一个的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

2023-12-04 13:42:52 357

原创 hystrix组件的使用

dashboard是一个通过收集actuator端点提供的Hystrix流数据,并将其图表化的客户端。2. 在application.yml中配置一个数据 这个配置是在消费者中配置的。2.在hystrix服务器模块中的启动项类中添加一个开启注解。两个模块都要加上这个依赖 (这要对这个模块进行监控都要加上)2.在hystrix服务器模块中的启动项类中添加一个开启注解。1. 在hystrix服务器的模块中导入一起。自己这个模块也当服务器 自己也要导入依赖。这里是将很多的消费者模块的数据集中在一起。

2023-12-03 22:46:41 386

原创 Eureka的使用说明

是一个服务管理的平台,主要是管理多个模块之间的使用。

2023-12-03 19:55:02 515

原创 nacos组件的使用

/namespace: 4b68c5c3-d078-48d5-8e18-96db6a288014 这句话是写在对象的命名中心中的 不在原来的public 下面加载项目。namespace: 4b68c5c3-d078-48d5-8e18-96db6a288014 这个是命名空间的id。-- 下载 alibaba 相关依赖集合 -->下载依赖的前面还是要加载一个配置依赖,才可以下载相应的阿里巴巴的相关依赖。-- 这里是做响应的配置文件上传到注册中心上去 -->

2023-12-03 19:51:13 336

原创 Fegin远程接口的使用

大家一起学习一起进步

2023-12-03 19:47:53 333

原创 流用于操作集合和数组

在java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream流概念。目的:用于简化集合和数组操作的APl。

2023-06-29 23:40:03 53

原创 个人xml总结

XML是可扩展标记语言(extensible markup language)的缩写,它是是一种数据表示格式,可以描述非常复杂的数据结构,常用与传输和存储数据。之前我们创建对象时,都是使用new对象的形式创建,在很多业务场景下也提供了不直接new的方式。工厂模式(Factory Pattern)是java中最常用的设计模块之一,这种类型的设计模式属于创建型模式,它提供了一种获取对象的方式。

2023-06-29 23:38:01 55

原创 lambda表达式个人总结

如果Lambda表达式的方法体代码只有一行代码,可以省略大括号不写。此时,如果这行代码是return语句,必须省略return不写,同时也必须省略“;go(() -> {System.out.println("你游泳很好啊!go(() -> System.out.println("你游泳很好啊!Lambda表达式的省略写法(进一步Lambda表达式的基础上继续简化)如果只有一个参数,参数类型可以省略,同时()也可以省略。首先必须是接口,其次接口中有且仅有一个抽象方法的形式。被重写方法的方法体代码。

2023-06-18 17:53:33 34

原创 文件个人总结

/ D: +File.separator+"sajfh"+File.separator+"dar.text" 这里针对于跨平台的输入 File(指定文件路径)public File[] listFiles()(常用) // 获取当前目录下所有的“一级文件对象”到一个文件对象数组中去返回(重点)public File(File parent,String child) // 根据父路径对应文件对象和子路径名字字符创建文件对象。// 读取当前路径下的一级目录。// 编码 获取字节码的码值。

2023-06-18 17:52:22 31

原创 多态个人总结

注意:如果转型后的类型和对象真实类型不是同一种类型,那么在转化的时候就会出现ClassCastException。定义方法的时候,使用父类型作为参数,该方法就可以接受这父类的一切子类对象,体现出多态的扩展性与便利。此时必须进行强制类型转化:子类 对象变量 = (子类)父类类型的变量。作用:可以解决多态下的劣势,可以实现调用子类独有的功能。同类型的对象,执行同一个行为,会表现出不同的行为特征。在多态形式下,右边对象可以实现耦合,便于扩展和维护。子类对象赋值给父类类型的变量指向。多态下不能使用子类的独有功能。

2023-06-18 17:51:05 22

原创 泛型个人总结

泛型:是jDk5中引入的特性,可以在编译阶段约束操作的数据类型,并进行检查。泛型方法的格式:修饰符<泛型变量>方法返回值 方法名称(形参列表){}泛型接口的格式:修饰符 interface 接口名称<泛型变量>{}泛型的格式:<数据类型>:注意:泛型只能支持引用数据类型。把出现泛型变量的地方全部替换成 传输的真实数据类型。集合体系的全部接口和实现类都是支持泛型的使用的。E T K V 是在定义泛型的时候使用的。定义类时同时定义了泛型的类就是泛型类。

2023-06-18 17:46:28 19

原创 可变参数总结

super T> c) // 将集合中元素按照指定规则排序。> list) //打乱List集合元素的顺序。public static <T> void sort(List<T> list) //将集合中元素按照默认规则排序。注意:本方式不可以直接对自定义类型的list集合排序,除非自定义实现了比较规则Comparable接口。可以不传输参数,可以传输1个或者多个,也可以传输一个数组。

2023-06-18 17:42:59 41

原创 网络编程个人总结

System.out.println(socket.getRemoteSocketAddress() + " 的消息: " + code);System.out.println(acc.getRemoteSocketAddress() +": 上线了~~~" );System.out.println("接收来自: " + "访问的机的ip地址" + packet.getAddress()+",端口号: "+ packet.getPort()+"的消息" + code);

2023-06-18 17:31:27 33

原创 线程个人总结

public Thread(Runnable target,String name) // 封装Runnable对象成为线程对象,并指定线程名称。public Thread(Runnable target,String name) // 封装Runnable对象成为线程对象,并指定线程名称。void wait() //让当前线程等待并释放所占锁,直到另一个线程调用notify()方法或notifyAll()方法。要求:生产者线程生产完数据后,唤醒消费者,然后等待自己;

2023-06-18 17:25:07 24

原创 java异常个人总结

除RuntimeException之外所有的异常:编译时异常,编译期必须处理的,否者程序不能通过编译。空指针异常:NullPointerException,直接输出没有异常,但是调用空指针异常的变量的功能就会报错。(空指针异常,数组索引越界异常)不是RuntimeException或者其子类的异常,编译阶就报错,必须处理,否则代码不通过。这种方法并不好,发生异常的方法自己不处理异常,如果异常最终抛出去给虚拟机将引起程序死亡。这种方式还可以,发生异常的方法自己独立生成异常的处理,程序可以继续往下执行。

2023-06-18 17:03:16 36

原创 字符集个人笔记

btye[] getBytes(String charsetName) //使用指定的字符将该String编码为一系列字节,将结果存储到新的字节数组中。btye[] getBytes() //使用平台的默认字符集将该String编码为一系列字节,将结果存储到新的字节数组中。由于Unicode会先通过UTF-8,UTF-16,以及UTF-32的编码成二进制后再存储到计算机,其中最为常见的就是UTF-8.注意:GBK是中国的码表,一个中文以两个字节的形式存储。

2023-06-18 16:59:53 35

原创 正则表达式个人总结

if (number.matches("\\w{1,30}@[a-zA-Z0-9]{2,20}(\\.[a-zA-Z0-9]{2,20}){1,2}")){ // 一共是十一位数据-public String replaceAll(String regex,String newStr) //按照正则表达式匹配的内容进行替换。public String[] spilt(String regex) //按照正则表达式匹配的内容进行分割字符串,返回一个字符串数据。// 根据正则规则产生一个模型对象。

2023-06-17 11:52:27 25

原创 日志个人总结

日志信息的输出目的地指定了日志将打印到控制台还是文件中;2.将Logback的核心配置文件logback.xml直接拷贝到src目录下(必须是src下)作用:用于控制系统中那些日志级别是可以输出的,只输出级别不低于设定级别的日志信息。通过logback.xml中的<append>标签可以设置和日志信息的详情格式。可以将系统执行的信息选择性的记录到指定的位置(控制台、文件中、数据库中)。logger.debug("main执行的");Logback日志系统的特性都是通过核心配置文件logback.xml.

2023-06-12 22:36:35 45

原创 数据结构总结

如果一个节点没有子节点或者父节点,则该节点相应的指针属性为NUIl,这些Nui视为叶节点,每个叶节点(Nil)是黑色的;如果一个节点没有子节点或者父节点,则该节点相应的指针属性为NILL,这些UILl视为叶节点,叶节点是黑色的。如果某一个节点是红色,那么它的子节点必须是黑色(不能出现两个红色节点相连的情况)。对每一个节点,从该节点到其所有后代叶节点的简单路劲上,均包含相同数目的黑色节点。(元素在内存中是连续存储的)每一个节点或是红色的,或者是黑色的,根节点必须是黑色。每一个节点或是红色的,或者是黑色的,

2023-05-25 23:20:59 28

原创 java相关类的总结(Object、String、Math、StringBuilder、System、BigDecimal)

public static boolean equals(Object 0,Object b) //比较两个对象的,底层会先进行非判断,从而可以避免空指针异常。public Boolean equals(Object o) // 默认是比较当前对象与另一个对象的地址是否相同,相同返回turn ,不同返回false。public Boolean equals(Object o) //默认是比较当前对象与另一个对象的地址是否相同,相同返回true,不同返回false.类的权限名@内存地址。

2023-05-18 23:50:20 47

原创 java学习总结

模版方法是给子类直接使用的,不是让子类重写的,一旦子类重写了模版方法,则模版方法就失效了,因此,加上final后可以防止子类重写模版方法,这样更安全、专业。一个类实现了多少接口,多个接口中存在同名的默认方法,不冲突,这个类重写该方法即可。假如一个类中需要用到不同类,而这个两个类的名称是一样的,那么默认只能导入一个类,另一个类型要带包名访问。可以修饰成员变量,方法,构造器,内部类,不同权限修饰符的成员能够被访问的范围将受到限制。一个类继承了父类,同时又实现了接口,父类中和接口中有同名方法,默认用父类的。

2023-05-18 23:44:44 29

原创 学习时心得

特别是在循环中的循环变量,比如写了三个循环,这个三个循环的变量都是一样的,但是每次执行完要给这个循环变量重新赋值。没有赋值的话就会出现问题。一般打印数据就会先问题。// 原因是调用成员方法必须要用对象来调用,给这方法赋值地址。静态方法在本类中可以用类名调用或者直接写方法名来使用。// 这里加一个static 就可以方法就可以直接调用了。2.java 是从类开始的执行的。1.变量在内存中的使用。

2023-05-15 10:24:34 58 1

原创 工具类个人理解

由于工具里面都是静态方法,直接用类名即可访问,因此,工具类无需创建对象,建议将工具类的构造器进行私有。类中都是一些静态方法,每个方法都是以完成一个共用的功能为目的,这个类用来给系统开发人员共同使用。一是调用方便,二是提高了代码复用(一次编写,处处可用)。此时用对象只是为了调用方法,这样只会浪费内存。为什么工具类中的方法不用实例方法做?实例方法需要创建对象调用。

2023-05-14 22:57:56 145

原创 switch总结

Random 随机类,nextInt ()这个函数,生成的数,包前不包后,比如十,那就是0-9 ,要输入65- 91的话,就是(27)+ 65 = (0-26) +65 = (65--97)表达式类型只能是 byte short int char ,jdk5开始支持枚举,jdk7开始支持string,不支持double float long. boolean。有些题目再用到循环中必须要使用continue时候,在if 语句中,都是顺序执行的。case给出的值不允许重值,且只能是字面量,不能是变量。

2023-05-13 11:47:05 51

原创 方法个人总结

2.java的参数传递机制是什么样的?

2023-05-13 11:33:20 25

原创 变量个人总结

表达式中、byte short char 是直接转化成int 类型参入运算的。pritfln() 本身就有换行的意思,在加上“/n”就是换两行。javac 命令进行编译 不读取注释里面的内容。字符串拼接就是用 + 来连接两端字符数据。数据类型在Java中是以补码的形式存放的。数据类型 变量名称 = 初始值;强制类型转换可能造成数据丢失。变量定义有哪些注意点?java中的三种注释。

2023-05-12 22:47:40 19

原创 数组学习总结

/ 数组长度和数组元素都一样才是两个数组相等,这才是两个数组相等的关键。// i 是小数 j 是大数 i < j 的时候循环开始,i>J 的时候循环结束。Arrays这个类是一个工具类,多用于数组元素的排序问题,都是现成的可以直接使用。//equals() 在这个Arrays工具类中是比较地址,两数组地址是不一样的。/* 取中间数,有几次循环次数,奇偶条件都是一样的,循环次数是固定 */注意:数组变量名中存储的是数组在内存中的地址,数组是引用类型。/* 两个数组,将一个数组赋值到另一个数组中 */

2023-05-09 22:13:04 44

原创 面向对象基本知识

一个java文件中最好只指定一个类,一个public的类,文件名和类名一样。如果要在定义其他类的话,不可以在定义pullic 开头的类了,这是基本规定。一旦定了有参数构造器,那么无参数构造器就没有了,如果还想用无参数构造器,此时就需要自己手写一个无参数构造器了。注意:当堆内存中的对象,没有被任何变量引用(指向)时,就会被判断为内存中的 “垃圾”。定义在类中的,可以用于初始化一个类的对象,并返回对象的地址。任何类定义出来,默认就自带了无参数构造器,写不写都有。出现在构造器和成员方法中,代表当前对象的地址。

2023-05-09 22:10:22 61 1

空空如也

空空如也

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

TA关注的人

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