自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 消息中间件

vHost虚拟主机:每一个Rabbitmq服务器可以开设多个虚拟主机,每一个vHost本质上是一个mini版的Rabbitmq服务器,拥有自己的“交换机exchange、绑定binding、队列queue”,更重要的是每一个vhost拥有独立的权限机制,这样就能安全地使用一个Rabbitmq服务器来服务多个应用程序,其中每个vhost服务一个应用程序。1、系统解耦:使用消息系统后,入队系统和出队系统是分开的,一个系统崩溃了,不会影响另一个系统的正常远行,两个系统不需要相互依赖。

2023-04-14 22:47:51 102

原创 分布式架构

zookeeper客户端:原生客户端,操作复杂‘ zkClient客户端:对原生客户端进行了一些封装,比较好用,不用担心session会话超时等问题 curator客户端:进行了比较完整的封装,推荐使用,还提供了分布式锁,链式调用等多种方案。订单系统有可以拆分出购物车系统,库存系统,价 格系统等等。功能:可以实现发布订阅,负载均衡,命名服务,分布式协调通知,集群管理,Master选举,分布式同步,分布式锁,事件监听及权限控制等功能。

2023-04-14 22:46:10 88

原创 接口性能优化

12、锁粒度避免过粗:锁一般是为了在高并发场景下保护共享资源采用的一种手段,但是如果锁的粒度太粗,会很影响接口性能的,只需要在临界资源处加锁 即可,不涉及共享资源的不必要加锁。9、优化程序结构:在多人维护一个项目时,多次需求迭代,代码叠加形成一些重复查询,多次创建对象等耗时问题,需要对接口整体进行重构,评估每个代码 块的作用和用途,调整执行顺序。3、空间换时间:合理使用缓存,针对一些频繁使用且不频繁变更的数据,可以提前缓存起来,需要时直接查缓存,避免频繁的查询数据库或者重复计算。

2023-04-14 22:43:49 166

原创 Java基础--数组

HashMap:底层实现是数组+链表+红黑树的形式的,同时它的数组的默认初始容量是16、扩容因子为0.75,每次采用2倍的扩容。扩容机制:初始化的一个ArrayList是一个空数组,当添加第一个元素的时候,内部会调用扩容方法返回最小容量10,当添加第11个元素时开始扩容,新 数组 是旧数组的1.5倍(本质就是计算出新的扩容数组的大小后实例化,并将原有数组内容复制到新数组,然后给予数组对象地址)LinkedHashMap:通过双联表的结构来维护节点的顺序的,每个节点都进行了双向的连接,维持插入的顺序。

2023-04-14 22:42:47 66

原创 多线程知识汇总

在Reentrantlock中,它将AQS的state状态值定义为线程获取该锁的重入次数,state为0表示当前没有被任何线程持有,state为1表示被其他线程持 有,因为支持可重入,如果是持有锁的线程,再次获取同一把锁,直接成功,并且state的值+1,线程释放锁state的值-1,同理重入多次锁的线程需要释 放相应的次数。解锁后,原本等待状态的线程变为就绪状态,重新竞争锁。可重入锁:一个线程获得一个锁,在重复的获取这个锁的时候直接成功,注意是重复获取相同的锁。

2023-04-14 22:41:14 46

原创 Redis知识点汇总

交集计算。常用 API:set [key] [value],get [key],setnx [key] [value],del [key],mset [key] [value] [key] [value],mget [key] [key],常用 API: hset [key] [field] [value],hsetnx [key] [field] [value],hmset [key] [field] [value] [field] [value],

2023-04-14 22:36:51 52

原创 JVM知识点

3)当初始化一个类时,其父类还没有进行过初始化,则需要先触发其父类的初始化;新生代:占堆内存的1/3,新生代又分为Eden(伊甸园区),占8/10,Survivor区(辛存区)S0,S1,各占1/10,Eden区的对象满了后经过垃圾收集,还存活 进入S0,S1辛存区,经过15次垃圾回收后还存活的对象会进入老年代。参数设置:“- XX:MaxGCPauseMillis”:控制最大垃圾收集停顿时间,大于0的毫秒数,设置的过小,停顿时间会缩短,使的吞吐量下降,导致垃圾收集发 生的更频繁。

2023-04-14 22:34:55 295

原创 数据结构链表操作实例

链表操作

2023-04-14 11:54:04 36

原创 dubbo分布式框架

dubbo:调用关系说明: 0 服务容器负责启动,加载,运行服务提供者。 1 服务提供者在启动时,向注册中心注册自己提供的服务。 2 服务消费者在启动时,向注册中心订阅自己所需的服务。 3 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。 4 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。 ...

2021-07-08 14:07:48 60

原创 springcloud组件介绍

1、Eureka(注册中心):Eureka Client:负责将这个服务的信息注册到Eureka Server中Eureka Server:注册中心,里面有一个注册表,保存了各个服务所在的机器和端口号2、Feign(建立网络连接):Feign Client会在底层根据你的注解,跟你指定的服务建立连接、构造请求、发起靕求、获取响应、解析响应,等等 对某个接口定义了@FeignClient注解,Feign就会针对这个接口创建一个动态代理; Feign的动态代理会根据你在接口上的@RequestMa

2021-06-30 16:15:33 72

原创 java基础

java基础:一、面向对象的特征:封装,继承和多态1、封装:防止该类的代码和数据被外部类定义的代码随机访问。优点:修改自己的实现代码,而不用修改哪些调用我们代码的程序片断。2、继承(extends):继承就是子类从父类继承方法,使得子类具有父类相同的特征和行为。特点: 1).子类拥有父类非private的属性、方法 2).子类可以拥有自己的属性和方法,即子类可以对父类进行扩展 3).子类可以用自己的方式实现父类的方法 ...

2021-04-23 17:39:29 123

原创 Nginx实现负载均衡

nginx:

2021-04-23 17:38:13 107

原创 2021-02-01:sql优化

数据库优化:一、设计方面:1、避免进行全表扫描,应尽量在where和order by涉及的列上添加索引2、应尽量避免在where子句中对字段进行null判断,否则导致查询放弃索引进行全表扫描3、索引并不是越多越好,索引会提高查询(select)效率,同时会降低插入(insert)和更新(update)的效率4、应尽可能的避免更新索引数据列,因为索引数据列的顺序就是表记录的物理存储顺序,一旦该列值改变将导致整个表记录的顺序的调整,会耗费相当大的资源。若应用系统需要频繁更新索引数据列,那么需

2021-02-02 15:39:42 87

空空如也

空空如也

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

TA关注的人

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