- 博客(28)
- 收藏
- 关注
原创 springcloud进阶02
Zipkin是一种分布式链路跟踪系统图形化的工具,Zipkin 是 Twitter 开源的分布式跟踪系统,能够收集微服务运行过程中的实时调用链路信息,并能够将这些调用链路信息展示到Web图形化界面上供开发人员分析,开发人员能够从ZipKin中分析出调用链路中的性能瓶颈,识别出存在问题的应用程序,进而定位问题和解决问题。Zipkin 提供了可插拔数据存储方式:In-Memory、MySql、Cassandra 以及 Elasticsearch。
2025-04-12 18:15:00
398
原创 springcloud进阶
(1)如果订单微服务和支付微服务的IP地址或者端口号发生了变化,则支付微服务将变得不可用,需要同步修改订单微服务中调用支付微服务的IP地址和端口号。(3)如果系统需要支持更高的并发,需要部署更多的订单微服务和支付微服务,硬编码订单微服务则后续的维护会变得异常复杂。需要引入服务治理功能,实现微服务之间的动态注册与发现,从此刻开始我们正式进入SpringCloud实战。(2)如果系统中提供了多个订单微服务和支付微服务,则无法实现微服务的负载均衡功能。微服务所在的IP地址和端口号。所以,在微服务开发的过程中,
2025-04-07 12:06:54
135
原创 SpringCloud ------尚硅谷2024篇
如果不在子项目中声明依赖,是不会从父项目中继承下来的,只有在子项目中写了该依赖项并且没有指定具体版本,才会从父项目中继承该项 且version和scope都读取自父pom;-- 仅为了整合openfeign + alibaba sentinel的案例,降低版本处理下 -->这样当想升级或切换到另一个版本时,只需要在顶层父容器里更新,而不需要一个一个子项目的修改;* 如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。,因此子项目需要显式的声明需要用的依赖。
2025-03-28 14:50:44
786
原创 Docker
虚拟机技术缺点:1. 资源占用十分多2. 冗余步骤多3. 启动慢容器化技术不是模拟一个完整的操作系统Docker和虚拟机技术的不同~传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,在这个系统上安装和运行软件~容器内的应用直接运行在宿主机的内容,容器没有自己的内核,也不虚拟硬件。所有轻便~每个容器间是相互隔离,每个容器内都有一个属于自己的文件系统,互不影响DevOps(开发、运维)传统:一堆帮助文档,安装程序Docker:打包镜像发布测试,一键运行。
2025-03-25 20:28:06
1497
原创 redis
一、通用命令redis的通用命令mset:在String中设置多个k-v MSET k1 v1 k2 v2 k3 v3del:删除多个k-v del k1 k2 k3用于设置存活时间:查询剩余存活时间,-1是永久存在,-2是已经挂了。
2025-03-09 20:39:02
225
原创 HashSet,HashMap
当你向 HashSet 中添加一个元素时,它会根据元素的哈希值计算出该元素在数组中的存储位置。如果你只想获取 key,可以使用 keySet() 方法,然后可以通过 get(key) 获取对应的 value,如果你只想获取 value,可以使用 values() 方法。添加或查找元素:当你添加或查找一个元素时,HashSet 会重复上述步骤,计算哈希值并确定存储位置,然后在该位置查找或添加元素。计算哈希值:对于每个要添加的元素,HashSet 会调用该元素的 hashCode() 方法来计算其哈希值。
2025-01-06 16:58:04
706
原创 力扣刷题目标
/ System.out.println("截取后y"+y);是指正序(从左向右)和倒序(从右向左)读都是一样的整数。是一个回文整数,返回。
2025-01-03 09:07:27
281
原创 equals和==区别
对于基本数据类型(如int、double、char等),== 比较的是它们的值是否相等。对于引用数据类型(如对象、数组等),== 比较的是它们的引用是否指向同一个对象。== 操作符用于比较两个对象的引用是否相等,即它们是否指向同一个内存地址。在Java中,equals和==是两种用于比较对象的操作符,但它们的行为和用途有所不同。如果没有重写equals方法,默认情况下,它的行为与==操作符相同,即比较引用是否相等。equals 方法是Object类中的一个方法,用于比较两个对象的内容是否相等。
2024-12-31 11:38:10
934
原创 springboot数据源配置
-阿里系的Druid依赖包-->即不使用druid,结合会发生变化。现在如果中yml配置文件中去掉。即默认会使用Hikari。
2024-12-23 17:55:44
569
原创 Dispatcher
前端控制器的初始化init前端控制器的初始化init源码中Servlet中有init,service,destory等放啊;
2024-12-18 10:44:14
926
原创 注解方式aop
System.out.println("执行目标方法之前~~~~~");System.out.println("执行目标方法之后~~~~~");System.out.println("前置增强方法~~~~~");System.out.println("后置增强方法~~~~~");System.out.println("异常抛出通知~~~~~");System.out.println("最终增强方法~~~~~");-- 使用注解配置AOP,需要开始AOP自动代理-->// 切点表达式的抽取。
2024-12-11 16:03:17
911
原创 springboot基本理解
然后点进去spring-boot-dependencies中,就可以看到各个插件和各个版本。统一管理引用的插件和坐标版本,不需要在去找各个插件的版本,也不需要指定版本,自动引用。创建好之后直接写controller层的代码,直接就可以运行。springboot中pom文件新增了parent属性。4. 不联网创建,前提是已经创建过项目。3. 使用aliyun创建项目。2. 在idea中创建项目。1. 可以通过官网创建项目。
2024-12-09 18:10:15
174
原创 Spring注解整合mybatis
ComponentScan({"com.edu"}) // 扫描包<context:component-scan base-package="com.edu"/>@Import(OtherBean.class) // 导入其他Bean <import resource="otherBean.xml"/>@Configuration // 标注当前类是一个配置类(替代配置文件) + @Component。~~ 实现ImportBeanDefinitionRegistrar接口的类。
2024-12-09 16:41:53
771
原创 Spring和SpringMVC及其注解
Bean基本注解开发Spring除了xml配置文件进行配置之外,还可以使用注解方式进行配置,注解方式慢慢成为xml的替代方案,注解开发更加方便spring提供的注解有三个版本:~~ 2.0时代,Spring开始出现注解~~ 2.5时代,Spring的Bean配置可以使用注解完成~~ 3.0时代,Spring其他配置也可以使用注解完成·,进入全注解时代2.使用注解@Component 相当于交给spring容器管理。
2024-12-09 11:27:08
785
原创 spring XML方式整合第三方框架
整合包里提供了一个SqlSessionFactoryBean和一个扫描Mapper的配置对象,SqlSessionFactoryBean被实例化,就开始扫描Mapper并通过动态代理产生Mapper的实现类存储到Srping容器,有相关四个类。源码: SqlSessionFactory 实现了FactoryBean接口,也就有了getObject方法,最重要的作用就是产生SqlSessionFactory对象注入到spring容器。targetConfiguration就是配置文件。
2024-12-05 10:01:57
190
原创 Bean实例化基本流程
Bean实例化基本流程Bean实例化基本流程Spring容器在进行初始化时,会将xml配置的的信息封装成一个BeanDefinitiion对象,所有的BeanDefinition存储到一个名为beanDefinitionMap的Map集合中去,Spring框架再对该Map进行遍历,使用反射创建Bean实例对象,创建好的Bean对象存储在一个名为singletonObjects的Map集合中,调用getBean方法时从Map集合中取出Bean实例对象返回。
2024-12-04 11:39:15
1001
原创 spring bean中的属性
(1) singleton:单例,默认值,Spring容器创建的时候,就会进程Bean的实例化,并存储到容器的单例池中,每次getBean都是从单例池中获取相同的Bean实例。当lazy-init设置为true时为延迟加载,当spring容器创建时,不会立刻创建Bean实例,当创建Bean实例时存储到单列池去,后续从单列池去取,本质还是单例的。Spring 容器会在配置文件(或者基于注解的配置)中查找与属性名相同的 Bean,并将其注入到对应的属性中。name属性的值是构造器参数,value是值。
2024-12-03 19:55:17
670
原创 Bean的实例化和依赖注入——xml
System.out.println("userserivce调用userdao" + userDao);2.引用数据类型 UserDaoImpl,DataSource等,通过ref。1.普通数据类型 String,int,boolean等,通过value。3.集合数据类型 List,Map,Properties等。// 在spring中 通过set方法进行注入。// list注入普通类型。// list注入对象类型。// set注入普通类型。// set注入对象类型。二,实例工厂方法实例化。
2024-12-03 11:38:20
747
原创 redis入门
redis存储的是:key,value格式的数据 key都是字符串,value有5种数据类型。(2)获取 hget key field :获取指定的field对应的值。(3) 列表类型 list :linkedlist格式 允许重复元素。(5)有序集合类型 sortedset 不允许重复元素,会自动排序。(1)存储:set key value 会覆盖上一个的value。(1)存储:hset key fidld value。(3)删除 hdel key field。(2)获取 get key。
2024-11-28 08:17:27
219
原创 java中动态绑定机制
当一个对象的引用调用一个方法时,Java 会根据对象的实际类型(而不是引用的类型)来决定调用哪个方法的实现。调用a.sum(),a.sum1()方法时,要判断,父类中是否存在该方法,然后会根据其指向的对象来选择调用的方法,即调用B类的sum(),sum1(), 而B类的sum(),sum1(), 中的i是B类本身的i = 20,A是一个基类,B是它的派生类。在main方法中,a是A类型的引用,但它实际指向一个B对象;如果要输出类的属性,就会直接输出A类的i属性,//a的编译类型 A 运行类型 B。
2024-10-24 09:13:56
298
原创 java中字节流,字符流
提供了read()方法来逐个字节地读取数据。这个方法返回一个int值,范围是 0 - 255,表示读取到的字节数据(该方法一次读取一个字符并以整数格式返回其ASCII值),需要转为char类型,当返回 - 1 时,表示已经到达流的末尾。如果读取的文件中含有汉字,会产生乱码。utf8汉字有3个字节,但是read()方法一次只能读取一个字节,无法正常读取在这里会产生异常,可以使用throws IOException 或者try catch finally抛出,最好使用后者。
2024-10-23 08:10:28
884
原创 java中多态
animal运行类型是 Dog。(4) 编译类型看 = 号左边,运行类型看 = 号右边。(1) 一个对象的编译类型和运行类型可以不一致。public void cry(){ //方法。public void cry(){ //方法。public void cry(){ //方法。(3) 运行类型是可以变化的。
2024-09-05 16:21:58
151
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人