- 博客(31)
- 收藏
- 关注
原创 修改jdk环境变量版本不变
如果系统盘快捷调用中存在之前的 java.exe,如存在之前 JDK 1.8.0_251 的 java.exe,系统会优先调用,而不会调用最新的 java.exe, 显示的也就是旧版本的 java -version。,将含有 java.exe 的文件夹删掉即可,避免其调用旧版本。具体 3 个 java.exe 文件在 Oracle 目录的 javapath 相关目录下,作者本人的如下图所示,删除对应目录下的Oracle文件夹即可,可以全部删掉。
2025-07-18 16:25:53
280
原创 Seata处理分布式事务
三个组件相互协作,TC以Seata 服务器(Server)形式独立部署,TM和RM则是以Seata Client的形式集成在微服务中运行,关系型数据库提供的能力是基于单机事务的,一旦遇到分布式事务场景,就需要通过更多其他技术手段来解决问题。单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用三个独立的数据源,当用户下单时,会在订单服务中创建一个订单,然后通过远程调用库存服务来扣减下单商品的库存,这里我们创建三个服务,一个订单服务,一个库存服务,一个账户服务。公共api新增 接口。
2025-04-22 18:01:33
877
原创 NGINX day1
Nginx(“engine x”)一个具有高性能的【HTTP】和【反向代理】的【WEB服务器】,同时也是一个【POP3/SMTP/IMAP代理服务器】,是由伊戈尔·赛索耶夫(俄罗斯人)使用C语言编写的,Nginx的第一个版本是2004年10月4号发布的0.1.0版本。另外值得一提的是伊戈尔·赛索耶夫将Nginx的源码进行了开源,这也为Nginx的发展提供了良好的保障。nginx打开源码可以看到如下的页面内容Nginx的官方下载网站为,当然你也可以之间在首页选中右边的download进入版本下载网页。
2025-04-21 10:57:18
674
原创 Nacos启动报错
也可以修改MODE,如果选择不修改,那么在启动时就必须使用如下命令才能启动单机模式。之后,nacos默认的都是集群模式,我们这里单机测试就是用单机模式。点击startup.cmd启动会报错。
2025-04-19 17:57:19
323
原创 JVM基础篇---黑马-------
Java虚拟机规范》由Oracle制定,内容主要包含了Java虚拟机在设计和实现时需要遵守的规范,主。《Java虚拟机规范》是对虚拟机设计的要求,而不是对Java设计的要求,也就是说虚拟机可以运行在。要包含class字节码文件的定义、类和接口的加载和初始化、指令集等内容。其他的语言比如Groovy、Scala生成的class字节码文件之上。class文件是二进制文件,无法直接打开,需要下载专门的软件。本质上是一个运行在计算机上的程序,他的职责是运行。字节码文件的组成 – 应用场景。对字节码文件中的指令,
2025-04-19 17:26:53
244
原创 springcloud alibaba
阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。: 阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。: 覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。
2025-04-18 11:00:18
1079
原创 springcloud进阶02
Zipkin是一种分布式链路跟踪系统图形化的工具,Zipkin 是 Twitter 开源的分布式跟踪系统,能够收集微服务运行过程中的实时调用链路信息,并能够将这些调用链路信息展示到Web图形化界面上供开发人员分析,开发人员能够从ZipKin中分析出调用链路中的性能瓶颈,识别出存在问题的应用程序,进而定位问题和解决问题。Zipkin 提供了可插拔数据存储方式:In-Memory、MySql、Cassandra 以及 Elasticsearch。
2025-04-12 18:15:00
709
原创 springcloud进阶
(1)如果订单微服务和支付微服务的IP地址或者端口号发生了变化,则支付微服务将变得不可用,需要同步修改订单微服务中调用支付微服务的IP地址和端口号。(3)如果系统需要支持更高的并发,需要部署更多的订单微服务和支付微服务,硬编码订单微服务则后续的维护会变得异常复杂。需要引入服务治理功能,实现微服务之间的动态注册与发现,从此刻开始我们正式进入SpringCloud实战。(2)如果系统中提供了多个订单微服务和支付微服务,则无法实现微服务的负载均衡功能。微服务所在的IP地址和端口号。所以,在微服务开发的过程中,
2025-04-07 12:06:54
218
原创 SpringCloud ------尚硅谷2024篇
如果不在子项目中声明依赖,是不会从父项目中继承下来的,只有在子项目中写了该依赖项并且没有指定具体版本,才会从父项目中继承该项 且version和scope都读取自父pom;-- 仅为了整合openfeign + alibaba sentinel的案例,降低版本处理下 -->这样当想升级或切换到另一个版本时,只需要在顶层父容器里更新,而不需要一个一个子项目的修改;* 如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。,因此子项目需要显式的声明需要用的依赖。
2025-03-28 14:50:44
962
原创 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
475
原创 HashSet,HashMap
当你向 HashSet 中添加一个元素时,它会根据元素的哈希值计算出该元素在数组中的存储位置。如果你只想获取 key,可以使用 keySet() 方法,然后可以通过 get(key) 获取对应的 value,如果你只想获取 value,可以使用 values() 方法。添加或查找元素:当你添加或查找一个元素时,HashSet 会重复上述步骤,计算哈希值并确定存储位置,然后在该位置查找或添加元素。计算哈希值:对于每个要添加的元素,HashSet 会调用该元素的 hashCode() 方法来计算其哈希值。
2025-01-06 16:58:04
827
原创 equals和==区别
对于基本数据类型(如int、double、char等),== 比较的是它们的值是否相等。对于引用数据类型(如对象、数组等),== 比较的是它们的引用是否指向同一个对象。== 操作符用于比较两个对象的引用是否相等,即它们是否指向同一个内存地址。在Java中,equals和==是两种用于比较对象的操作符,但它们的行为和用途有所不同。如果没有重写equals方法,默认情况下,它的行为与==操作符相同,即比较引用是否相等。equals 方法是Object类中的一个方法,用于比较两个对象的内容是否相等。
2024-12-31 11:38:10
1059
原创 springboot数据源配置
-阿里系的Druid依赖包-->即不使用druid,结合会发生变化。现在如果中yml配置文件中去掉。即默认会使用Hikari。
2024-12-23 17:55:44
660
原创 Dispatcher
前端控制器的初始化init前端控制器的初始化init源码中Servlet中有init,service,destory等放啊;
2024-12-18 10:44:14
1009
原创 注解方式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
953
原创 springboot基本理解
然后点进去spring-boot-dependencies中,就可以看到各个插件和各个版本。统一管理引用的插件和坐标版本,不需要在去找各个插件的版本,也不需要指定版本,自动引用。创建好之后直接写controller层的代码,直接就可以运行。springboot中pom文件新增了parent属性。4. 不联网创建,前提是已经创建过项目。3. 使用aliyun创建项目。2. 在idea中创建项目。1. 可以通过官网创建项目。
2024-12-09 18:10:15
215
原创 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
839
原创 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
875
原创 spring XML方式整合第三方框架
整合包里提供了一个SqlSessionFactoryBean和一个扫描Mapper的配置对象,SqlSessionFactoryBean被实例化,就开始扫描Mapper并通过动态代理产生Mapper的实现类存储到Srping容器,有相关四个类。源码: SqlSessionFactory 实现了FactoryBean接口,也就有了getObject方法,最重要的作用就是产生SqlSessionFactory对象注入到spring容器。targetConfiguration就是配置文件。
2024-12-05 10:01:57
261
原创 Bean实例化基本流程
Bean实例化基本流程Bean实例化基本流程Spring容器在进行初始化时,会将xml配置的的信息封装成一个BeanDefinitiion对象,所有的BeanDefinition存储到一个名为beanDefinitionMap的Map集合中去,Spring框架再对该Map进行遍历,使用反射创建Bean实例对象,创建好的Bean对象存储在一个名为singletonObjects的Map集合中,调用getBean方法时从Map集合中取出Bean实例对象返回。
2024-12-04 11:39:15
1086
原创 spring bean中的属性
(1) singleton:单例,默认值,Spring容器创建的时候,就会进程Bean的实例化,并存储到容器的单例池中,每次getBean都是从单例池中获取相同的Bean实例。当lazy-init设置为true时为延迟加载,当spring容器创建时,不会立刻创建Bean实例,当创建Bean实例时存储到单列池去,后续从单列池去取,本质还是单例的。Spring 容器会在配置文件(或者基于注解的配置)中查找与属性名相同的 Bean,并将其注入到对应的属性中。name属性的值是构造器参数,value是值。
2024-12-03 19:55:17
728
原创 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
794
原创 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
414
原创 java中字节流,字符流
提供了read()方法来逐个字节地读取数据。这个方法返回一个int值,范围是 0 - 255,表示读取到的字节数据(该方法一次读取一个字符并以整数格式返回其ASCII值),需要转为char类型,当返回 - 1 时,表示已经到达流的末尾。如果读取的文件中含有汉字,会产生乱码。utf8汉字有3个字节,但是read()方法一次只能读取一个字节,无法正常读取在这里会产生异常,可以使用throws IOException 或者try catch finally抛出,最好使用后者。
2024-10-23 08:10:28
1043
原创 java中多态
animal运行类型是 Dog。(4) 编译类型看 = 号左边,运行类型看 = 号右边。(1) 一个对象的编译类型和运行类型可以不一致。public void cry(){ //方法。public void cry(){ //方法。public void cry(){ //方法。(3) 运行类型是可以变化的。
2024-09-05 16:21:58
177
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅