- 博客(595)
- 资源 (5)
- 收藏
- 关注
原创 Java17---SpringCloud之Resilience4j实现服务熔断和降级
滑动窗口算法是把固定时间片进行划分并且随着时间移动,移动方式为开始时间点变为时间列表中的第2个时间点,结束时间点增加一个时间点,一个固定容量的漏桶,按照设定常量固定速率流出水滴,类似医院打吊针,不管你源头流量多大,我设定匀速流出。),在各自的时间间隔内,这些请求都是正常的。- 滑动:需要定义在窗口中滑动的大小,但理论上讲滑动的大小不能超过窗口大小。feign80端添加pom依赖及修改yml内容。8001端添加controller层代码。添加controller层代码。添加openfeign接口。
2024-04-09 17:57:02 426 1
原创 Java17 --- springCloud之LoadBalancer
【代码】Java --- springCloud之LoadBalancer。
2024-03-09 18:36:24 581
原创 Java17 --- SpringCloud之Consul
Consul 遵循CAP原理中的CP原则,保证了强一致性和分区容错性,且使用的是Raft算法,比zookeeper使用的Paxos算法更加简单。虽然保证了强一致性,但是可用性就相应下降了,例如服务注册的时间会稍长一些,因为 Consul 的 raft 协议要求必须过半数的节点都写入成功才认为注册成功;当数据出现不一致时,虽然A, B上的注册信息不完全相同,但每个Eureka节点依然能够正常对外提供服务,这会出现查询服务信息时如果请求A查不到,但请求B就能查到。application.yml文件。
2024-03-09 00:16:05 1076
原创 Java17 --- SpringCloud初始项目创建
service接口及实现类。swagger配置类。controller层。mapper映射文件。
2024-03-08 18:24:50 560
原创 Java --- JVM之垃圾回收相关知识概念
3、在JDK 1.2版之后,Java对引用的概念进行了扩充,将引用分为强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用( Phantom Reference)4种,这4种引用强度依次逐渐减弱。1、软引用是用来描述一些还有用,但非必需的对象。4、对于一个普通的对象,如果没有其他的引用关系,只要超过了引用的作用域或者显式地将相应(强)引用赋值为null,就是可以当做垃圾被收集了,当然具体回收时机还是要看垃圾收集策略。
2023-11-21 22:37:18 635
原创 Java --- JVM之垃圾回收相关算法
这里的清除并不是置空,而是把需要清除的对象地址保存在空闲的地址列表里。下次需要新对象需要加载时,判断垃圾的位置空间是否足够,如果够,就存放。
2023-11-19 22:17:07 388
原创 Java --- JVM之垃圾回收概述
1、垃圾收集,不是Java语言的伴生产物。早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。2、垃圾收集机制是Java语言的招牌能力,极大地提高了开发效率。如今,垃圾收集几乎成为现代语言的标配,即使经过如此长时间的发展,Java的垃圾收集机制仍然在不断演进中。垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。
2023-11-15 17:57:42 452
原创 Java --- JVM之StringTable
总结:在jdk6中,如果串池中有,就返回已有的串池中的对象的地址,如果没有,就是将这个对象复制一份,放入串池,并返回这个对象的地址。从jdk7起,如果串池中有,就返回已有的串池中的对象的地址,如果没有,就是将这个对象的引用地址复制一份,放入串池,并返回串池中的引用地址。③、在jdk6中的StringTable的是固定的,就是1009的长度,所以如果常量池中的字符串过多就会导致效率下降很快。4、如果拼接的结果调用intern()方法,则主动将常量池中还没有的字符串对象放入池中,并返回此对象地址。
2023-11-15 16:26:41 140
原创 Java --- JVM的执行引擎
1、执行引擎是Java虚拟机核心的组成部分之一。2、“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。
2023-11-12 23:50:36 704
原创 Java --- 直接内存
②、Java的NIO库允许Java程序使用直接内存,用于数据缓冲区。2、由于直接内存在Java堆外,因此它的大小不会直接受限于-Xmx指定的最大堆大小,但是系统内存是有限的,Java堆和直接内存的总和依然受限于操作系统能给出的最大内存。使用NIO时,操作系统划出的直接缓存区可以被java代码直接访问,只有一份,NIO适合对大文件的读写操作。1、不是虚拟机运行时数据区的一部分,也不是《Java虚拟机规范》中定义的内存区域。2、直接内存是在Java堆外的,直接向系统申请的内存区间。
2023-11-12 18:14:27 246
原创 Java --- MySQL8之索引优化与查询优化
索引是高效找到行的一个方法,但是一般数据库也能使用索引找到一个列的数据,因此它 不必读取整个行。毕竟索引叶子节点存储了它们索引的数据;当能通过读取索引就可以得到想要的数 据,那就不需要读取行了。一个索引包含了满足查询结果的数据就叫做覆盖索引。非聚簇复合索引的一种形式,它包括在查询里的SELECT、JOIN和WHERE子句用到的所有列 (即建索引的字段正好是覆盖查询条件中所涉及的字段)。简单说就是,索引列+主键 包含 SELECT 到 FROM之间查询的列。#创建索引= 20;= 20;示例2。
2023-09-25 23:22:49 339
原创 Java --- MySQL8数据库优化性能查看工具
1. 主机相关:以host_summary开头,主要汇总了IO延迟的信息。以innodb开头,汇总了innodb buffer信息和事务等待innodb锁的信息。以io开头,汇总了等待I/O、I/O使用量情况。以memory开头,从主机、线程、事件等角度展示内存的使用情况processlist和session相关视图,总结了会话相关信息。以schema_table开头的视图,展示了表的统计信息。统计了索引的使用情况,包含冗余索引和未使用的索引情况。
2023-09-21 17:13:14 213
原创 Java --- MySQL8之索引的创建与设计原则
目录一、索引的分类1.1、普通索引1.2、唯一索引 1.3、主键索引1.4、单列索引1.5、多列(联合)索引1.6、全文索引二、创建索引2.1、使用 CREATE TABLE创建2.1.1、创建普通索引 2.1.2、创建唯一索引 2.1.3、创建主键索引2.1.4、创建单列索引2.1.5、创建联合索引 2.1.6、创建全文索引2.2、给已存在的表创建索引 三、查看索引 四、删除索引五、MySQL8索引新特性5.1、支持降序索引 5.2、隐藏索引5.2.1、创建隐藏索引5.2.2、修改索引的可见性 六、创建索
2023-09-13 09:02:48 102
原创 Java8-17 --- idea2022
自定义后缀补全模板:自定义 Live Templates第一步:第一步:配置安装的tomcat第二步:创建一个普通的Java工程并选择配置第三步:配置tomcat服务解决tomcat日志乱码第一步:打开在文档中输入 -Dfile.encoding=UTF-8第二步:在tomcat服务中同样进行 配置 -Dfile.encoding=UTF-8。
2023-09-11 17:15:53 200
原创 Java --- 泛型
T t;this.t = t;return t;this.t = t;@Test//默认泛型是Object//泛型参数不能是基本数据类,但可以是对应的包装类order1.setName("小王");① 我们在声明完自定义泛型类以后,可以在类的内部(比如:属性、方法、构造器中)使用类的泛型。② 我们在创建自定义泛型类的对象时,可以指明泛型参数类型。一旦指明,内部凡是使用类的泛型参数的位置,都具体化为指定的类的泛型类型。
2023-08-30 22:35:41 201
原创 Java --- 异常处理
指的是程序在执行过程中,出现的非正常情况,如果不处理最终会导致JVM的非正常停止。异常指的并不是语法错误和逻辑错误。语法错了,编译不通过,不会产生字节码文件,根本不能运行。代码逻辑错误,只是没有得到想要的结果。
2023-08-28 05:07:38 312
原创 Java --- 注解
注解(Annotation)是从JDK5.0开始引入,以“@注解名”在代码中存在。Annotation 可以像修饰符一样被使用,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明。还可以添加一些参数值,这些信息被保存在 Annotation 的 “name=value” 对中。注解可以在类编译、运行时进行加载,体现不同的功能。@Override:该注解只能用于方法,校验是否重写 @Deprecated:用于表示被标记的数据已经过时,不推荐使用。 @SuppressWarnings:抑制编译警告
2023-08-25 23:11:55 229
原创 java --- 枚举类
枚举类型本质上也是一种类,只不过是这个类的对象是有限的、固定的几个,不能让用户随意创建。返回枚举类型的对象数组。该方法可以很方便地遍历所有的枚举值,是一个静态方法。:可以把一个字符串转为对应的枚举类对象。要求字符串必须是枚举类对象的。4.2、枚举类的每个对象重写接口中的方法,执行每个对象重写的方法。默认返回的是常量名(对象名),可以继续手动重写该方法!得到当前枚举常量的名称。4.1、枚举的对象调用执行同一个方法。返回当前枚举常量的次序号,默认从。
2023-08-25 12:21:32 508
原创 Java --- 内部类
将一个类A定义在另一个类B里面,里面的那个类A就称为内部类(InnerClass,类B则称为外部类(OuterClass。
2023-08-25 09:50:09 96
原创 Java --- 云尚优选项目
vue : 无法加载文件 D:\tools\nodejs\node_global\vue.ps1。未对文件 D:\tools\nodejs\node_global\vue.ps1 进行数字签名。执行策略的详细信息,请参阅 https:/go.microsoft.com/fwlink/?解决办法:以管理员的方式运行即可。service接口实现类。service实现类层。controller层。controller层。service实现类。controller层。service实现类。controller层。
2023-07-09 01:38:53 1107 1
原创 Java --- springboot3之可观测性
下载jdk17:wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz。解压:tar -xzf jdk-17_linux-x64_bin.tar.gz -C /opt/java17/metrics_path: '/actuator/prometheus' #指定抓取的路径。创建安装目录:mkdir -p /opt/java17。修改文件:vim /etc/profile。修改 Prometheus配置文件。
2023-07-03 22:25:55 297
原创 Java --- springboot3整合远程调用
远程过程调用:主要分为:服务提供者,服务消费者。通过连接对方服务器进行请求交互,来实现调用效果。在配置文件中配置appcode。
2023-06-15 18:49:40 633
原创 Java --- springboot3自定义banner与SpringApplication
Spring Boot banner在线生成工具,制作下载英文banner.txt,修改替换banner.txt文字实现自定义,个性化启动banner-bootschool.net修改springboot的配置文件#修改为自己定义的banner#banner的模式测试结果://SpringApplication:springboot应用的核心API入口//自定义SpringApplication的底层设置//设置banner,如果配置文件配置了以配置文件优先//运行程序。
2023-06-11 12:08:48 1332
原创 Java --- springboot3整合SSM
批量给容器中注册组件。解析指定的包路径里面的每一个类,为每一个Mapper接口类,创建Bean定义信息,注册到容器中。文件中配置的所有值,就是要开启的自动配置类,但是每个类可能有条件注解,基于条件注解判断哪个自动配置类生效了。如何分析哪个场景导入以后,开启了哪些自动配置类。,jdbc是操作数据库的场景。所有和数据源有关的配置都绑定在。创建和数据库的一次会话。配置mybatis相关配置。是怎么创建放到容器中。
2023-06-11 00:14:27 830
原创 Java --- springboot3web新特性之Problemdetails
如果系统出现以下异常,会被SpringBoot支持以。没有开启problemdetails。开启problemdetails。规范方式返回错误数据。
2023-06-10 11:59:42 203
原创 Java --- springboot3全面接管SpringMVC
校验 Controller 上使用@Valid标注的参数合法性。①、支持RESTful的filter:HiddenHttpMethodFilter。支持(模板引擎目录、静态资源目录放index.html),项目访问/ 就默认展示这个页面。②、支持非POST请求,请求体携带数据:FormContentFilter。:支持属性上@NumberFormat和@DatetimeFormat的数据类型转换。1、SpringBoot 默认配置好了 SpringMVC 的所有常用特性。:直接将请求路径与物理视图映射。
2023-06-10 11:35:11 1147
原创 Java --- springboot3之嵌入式容器原理
Web服务器的创建是通过WebServerFactory搞定的。容器中又会根据导了什么包条件注解,启动相关的 服务器配置,默认。Web场景的Spring容器启动,在onRefresh的时候,会调用创建web服务器的方法。,来禁用掉SpringBoot默认放的服务器工厂,实现自定义嵌入。⑥、refresh() 容器刷新 十二大步的刷新子容器会调用。ioc容器,启动的时候会调用创建web服务器。,导致项目启动,自动创建出Tomcat。的时候,会预留一个时机,刷新子容器。配置类,所有和服务器有关的配置。
2023-06-09 22:33:57 627
原创 Java --- springboot3web自定义yaml内容协商
判断系统中是否有相应的类:如果有,就加入相应的HttpMessageConverter。编写自己的HttpMessageConverter。组件,专门负责把对象写出为yaml格式。修改springboot的配置文件。提供了很多的默认设置。
2023-06-07 22:45:20 162
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人