自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringCloud【Sentinel】

每个机器均摊,比如阈值填5,三个机器,就个机器都可以有5个:所有机器总阈值,比如阈值填5,三个机器,总共进5个请求2,流控模式设置如下,限制请求直接对资源进行限制数据库读写,当写比较大时,限制读的限流,达到优先写关联测试案例先添加俩方法,一个读一个写,在orderControoler类中。

2025-07-24 20:04:14 1107

原创 SpringCloud【OpenFeign】

响应拦截器:远程服务处理完请求之后,把响应数据交给openFeign,openFeign使用响应拦截器,对响应数据进行预处理,处理完之后,把结果返回给调用服务。场景:远程调用时,调用超时或者调用错误,会返回错误信息,当不需要返回错误时,加一个返回兜底数据(默认数据,或者假数据,不影响后续业务),不报错,增加用户体验。解决:限时等待,如果为超时,就正常返回,如果超时,就中断调用,此时有两种方式,一种就是直接返回错误信息,另一种就是返回兜底数据,兜底数据设置见后续笔记。

2025-07-11 17:51:36 689

原创 SpringCloud【Nacos】

服务注册:服务启动,就会在nacos注册中心进行注册服务发现:服务调用就会在nacos去寻找服务下载安装:官网下载nacos Nacos Server 下载 | Nacos 官网启动:bin目录下cmd--->startup.cmd -m standalone 单机模式启动打开页面:http://192.168.1.137:8848/nacos/index.htmlpom文件下,新增web依赖新增启动文件OrderMainApplication.java 新增配置文件applicat

2025-07-10 16:12:48 1093

原创 SpringCloud【基础】

分布式事务:跨多个数据库得事务操作,确保要么全部成功,要么全部失败,确保数据一致性。服务注册:启动服务之后,会在注册中心注册,调用服务得时候会在注册中心发现。服务熔断:A调用B失败到一定比阈值后,不再重复调用造成服务雪崩。分布式:一个大型用用被拆分为很多小应用,分布部署在各个机器。确保在service添加的依赖,在子项目都有。添加nacos和openfeign的依赖。RPC:HTTP+JSON 远程调用。3,在创建service下得子项目。1,先创建父项目,管理版本。2,在创建service。

2025-07-10 16:12:44 207

原创 Git笔记

repository:仓库区(本地仓库),就是安全存放数据的位置,这里有你提到的所有版本的数据,其中HEAD指向最新放入仓库的版本。如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。index/stage:暂存区,用于临时存放你的改动,事实上他只是一个文件,保存即将提交到文件列表信息。如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。1,再工作目录中添加,修改文件 xxx.java。

2025-05-07 19:00:00 1315 1

原创 Redis学习笔记

Not Only SQL(不仅仅是SQL)泛指非关系型数据库特点:1,方便扩展(数据之间没有关系,很好扩展)2,大数据量,高性能(Redis一秒可以写8W次,可以读取11W次,nosql的缓存是记录级,是一种细粒度的缓存)3,数据类型是多样型的(不需要事先设计数据库,随取随用,量很大的表就无法设计)4,传统的RDBMRDBMSS和NoSQL区别传统的:结构化组织;SQL;数据和关系都存在单独的表;操作,数据定义语言;严格的一致性;基础事务。。。。NoSQL:不仅仅是数据;没有固定查询语言;

2025-01-07 11:04:42 1265

原创 Docker学习笔记

问题:如果数据都在容器内,删除容器之后,数据就会丢失;mysql容器如果删掉,数据全没了需求:数据可以持久化;mysql数据可以存储到本地解决:容器之间可以有一个数据共享技术!Docker容器中产生的额数据,同步到本地即卷技术,目录挂载,将容器内的目录挂载到Linux上面容器的持久化和同步操作,容器间也可以数据共享挂载运行挂载成功的话 docker inspect 容器id可以看到如下信息测试一边再linux上修改文件夹或者文件内容,查看容器内对应文件内容,会对应改变,反之亦然。

2024-12-10 18:24:33 1442 1

原创 Linux学习笔记

Ctrl+滚轮改变页面字体大小下载安装Xftp后点击如下按钮:mv 文件 目标文件夹:clear:ls:ls -alsync:同步数据到硬盘(需要强制关机的前置操作,避免数据丢失)shutdown:关机reboot:重启。

2024-11-27 17:42:03 1255

原创 软考背诵笔记

节点的度:某个节点的孩子节点的数,就是他的度(如图:红色数字就为每个节点的度)树的度:正课书中度最大的节点的度,就为整个树的度(如图:树的度是2)

2024-11-04 22:04:42 755

原创 【web】JDBC

右侧导航栏找到databsae如果没有驱动,先下载驱动填写数据库用户名密码勾选对应的表即可。

2024-10-15 10:36:30 747

原创 Mysql环境安装

下载压缩包解压。

2024-10-14 10:12:29 650

原创 【web】Cookie/Session

用户打开了一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程称之为会话记录曾经来过一个网站怎么证明你来过客户端 服务器1,服务端给客户端一个信件,客户端下次访问服务端得时候带上信件即可;cookie2,服务器登记你来过了,下次来得时候我来匹配你;

2024-09-25 17:45:11 852

原创 【web】HttpServletResponse/HttpServletRequest

HttpServletRequest代表客户端的请求,用户通过HTTP协议访问服务器,HTTP请求种的所有信息会被封装到HttpServletRequest,通过这个HttpServletRequest的方法,获取客户端的所有信息。一个web资源收到客户端请求,他会通知客户端去访问另外一个web资源,这个过程叫重定向。8,使用OutputStream将缓冲区的数据输入到客户端。3,设置想办法让浏览器能够支持下载我们需要的东西。1,要获取下载文件的路径。4,获取下载文件的输入流。1,获取前端传递的参数。

2024-09-24 11:13:29 666

原创 【web】Servlet运行原理

导入包 pom配置servlet web.xml测试类。

2024-09-19 14:59:34 316

原创 【反射】注解和反射

不是程序本身,单可以对程序做出解释可以被其他程序读取(比如编译器)格式:“@注释名字”,还可以添加一些参数值,比如:@SuppressWaenings(value="unchecked")使用:package,class,methed,filed等上面,相当于给他们添加了额外的辅助信息,可通过反射实现访问//注解可以显示赋值,如果没有默认值,就必须给其赋值@MyAnnotation02(name = "老王",age = 1,id = 1)//注解有默认值,可不写参数。

2024-08-22 18:47:19 1354

原创 【多线程】线程池

T> Future<T> submit(Callable<T> task):执行任务,有返回值,一般用来执行Callable。void execute(Runnable command):执行任务/命令,没有返回值,一般用来执行Runnable。2,ExecutorService:真正的线程池接口。1,JDK5.0起提供了相关API:ExecutorService 和 Executirs。3,Executors:工具类,县城成的工厂类,用于创建并返回不同类型的线程池。

2024-08-20 09:34:32 183

原创 【多线程】线程锁

是控制多个线程对共享资源进行访问的工具,锁提供了对共享资源的独占访问,每次只能有一个线程对Lock对象加锁,线程开始访问共享资源之前应该先获得Lock对象。1,JDK5.0开始,java提供了更强大的线程同步机制-----通过显示定义同步锁对象来实现同步,同步锁使用Lock对象来充当。4,使用优先顺序:lock锁----同步代码块(已经进入方法体,分配了相应资源)----同步方法(在方法体之外)3,使用lock锁,JVM将花费更少的时间来调度线程,性能更好,并且具有更好的可扩展性(提供更多的子类)

2024-08-13 18:10:08 595

原创 【多线程】线程安全

2,同步方法中无需指定同步监视器,因为同步方法的同步监视器就是this(本身),或者class。2,优先级高的等待一个优先级低的线程释放锁,就会导致性能倒置。1,Obj可以是任何对象,但是推荐使用共享资源作为同步监视器。4,第二个线程访问、发现同步监视器没有锁,然后锁定并访问。2,第二个线程访问,发现同步监视器被锁定,无法访问。1,第一个线程访问,锁定同步监视器,执行其中代码。synchronized同步方法,加到方法上,锁的是this。3,第一个线程访问完毕,解锁同步监视器。锁不安全的量,增删改的数据。

2024-08-09 15:59:24 296

原创 【多线程】线程状态、优先级、守护线程

6,优先级高不一定先执行(优先级低只是意味着获得调度的概率低,并不是优先级低就不会被调用,这都是看CPU的调度)(也可能调度到优先级低情况的叫性能倒置):如下图测试结果。1,java提供一个线程调度器来监控程序中,启动后,进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。3,虚拟机不用等待守护线程执行完毕(如:后台记录操作日志,监控内存,垃圾回收GC等,用户线程执行完毕,就会停止)4,mian方法是主线程,优先级不可改,默认5。2,线程的优先级用数字来表示,范围1-10。

2024-08-09 14:25:44 520

原创 【多线程】线程停止、休眠、礼让、执行

阻塞状态:当调用sleep、wait或同步锁定时,线程进入锁定状态,就是代码不往下执行,阻塞事件解除后,重新进入就绪状态,等待CPU调度执行。就绪状态:当调用start()方法,线程理级进入就绪状态,但不意味着理级调度执行。Join合并线程,待此线程执行完之后,再执行其他线程,其他线程阻塞。dead:线程中断或者结束,一旦进入死亡状态,就不能再次启动。运行状态:进入运行状态,线程才正正执行线程体得代码块。礼让线程,让当前正在执行的线程暂停,但不阻塞。sleep时间达到后线程进入就绪状态。

2024-08-07 17:54:53 787

原创 【多线程】线程创建

4,创建执行服务:ExecutorService ser=Executors.newFixedThreadPool(1);执行结果:可见就有人拿到重复的票,这就存在线程安全问题(多个线程操作同一个资源的情况下,线程不安全,数据紊乱)5,提交执行:Future result1-ser.submit(1);推荐使用:避免单继承局限性,灵活方便,方便同一个线程被多个线程使用。1),调用run()方法就按调用执行,先run再执行下面的。注意:线程开启,不一定立即执行,由CPU调度执行。

2024-07-31 11:55:56 510

原创 【基础】关于内部类

一个java类中可以有多个class类,但只能有一个pubilc class。通过外部类来实例化内部类。

2024-07-31 09:47:07 177

原创 【基础】抽象类和接口

1,abstract修饰的类为抽象类2,abstract修饰的方法为抽象方法,只有方法名,没有实现3,抽象类的所有方法,继承了他的子类都必须实现它的方法(除非它的子类也抽象)4,抽象类,单继承(extends)5,抽象类不能new,只能靠子类去实现:约束6,抽象类也可以有正常普通方法,抽象方法必须在抽象类中,子类继承抽象方法7,抽象类存在的意义:提高开发效率,可扩展性更强8,抽象类有构造器吗?抽象类可以有构造器:1),构造器可以用来初始化抽象类中的成员变量。

2024-07-30 16:44:45 556

原创 【基础】static详解

如图所示调用的Math里面的random()方法,可以通过导入包的方式修改(基本没用上,知道即可)如下图所示导入对应类和类里面的方法,但需要添加一个static,下面就可以直接用方法名了。2,通过执行第二次得出结论:静态代码块只会执行一次。1,执行顺序: 静态代码块>匿名代码块>构造方法。3,由此匿名代码块的功能:可以作为赋初始值时使用。如下图所示案例得出结论。

2024-07-30 15:36:31 221

原创 【基础】super详解

注意:如果Person类里面的方法或者属性,变为private修饰的话,则子类不可调用(私有的东西不可以被继承)1,super调用父类的构造方法,必须再子类构造方法的第一行。super:只能再继承条件才可以使用。2,super只能出现再子类的构造方法或者方法中。super:代表父类对象的应用。3,super和this不能同时调用构造方法。this:本身调用者这个对象。this:没有继承也可以使用。super():父类的构造。this():本类的构造。

2024-07-29 15:21:01 568

原创 【基础】数组和稀疏数组的转换

第一行为第一个有效数字坐标(行,列,值),即第一个有效数字在原数组处于第几行第几列,实际值是多少,以此构成了稀疏数组。如上图所示左边是原数组,右边是稀疏数组,为了简化原数组,去掉重复无效的0,则简化为右边稀疏数组。从第二行开始记录每个有效数字,8个有效数字,所以除去第一行之外,下面还有8行。左边总共6行7列,有效数字只有8个(其余全是0为无效)则构成了稀疏数组第一行 6,7,8。

2024-07-26 16:31:44 611

原创 【基础】冒泡排序笔记

2,第一轮循环完之后,最后一个数就应该是最大的数了,就不用再循环最后一位了,只用循环前面的 ,直到结束,所以再套一层循环,1,两两进行对比,大的放后,小的放前,即对比两数字,如果后面比前面大,则交换位置。第一次就是i=0,让j就循环全部,(范围j

2024-07-26 15:09:55 352

cloud单点登录集成

cloud单点登录集成

2025-03-17

空空如也

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

TA关注的人

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