自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试总结001

JavaEE创建对象的方式new对象,反序列化,Object的clone方法,反射动态创建对象如何创建一个现线程继承Thread类,实现Runabke接口HashMap的运算效率为什么是最快的调用put方法时,底层通过hash算法将值存到HashMap集合中的前端Css选择器都有哪些标签选择器,类选择器,数据库的聚合函数Count(总数),Avg(平均数),Max(最大值)/,Min(最小值)Sql优化一张表的索引不能超过6个一个索引如果是varcha

2022-03-22 08:59:52 125

原创 京淘项目(单点登录系统)

系统设计说明背景任何一个后端业务系统都会有一个权限管理子系统,这个子系统主要负责对用户进行身份认证和授权,合法用户再有权限的情况下,才可以访问我们系统中的资源,防止恶意用户对资源进行破坏名字描述京淘供应链系统中的权限管理子系统达人购权限管理子系统动吧旅游系统中权限管理子系统......核心业务描述菜单管理,部门管理,角色管理,用户管理,日志管理,公告管理...角色模块业务描述角色是用来描述用户的一个对象,每个用户有不同的权限,权限不同,能够查询的资源也

2022-03-21 18:20:32 310

转载 Redis架构设计及实践

核心知识点Redis主从架构特点:薪火相传(从节点下还可以有从节点),一主多从原理:在slave第一次生成时,会做全局同步,向master发送basave指令,将master中的全部数据复制下来,使用到rdb文件进行数据的传递,此操作是异步的,但是slave拿到数据后加载数据是需要使用到slave的线程此后的master数据发生改变是,redis向mater写一条数据,也会同时向slave写入相同的数据,这种叫做增量同步优势:读写分离,Master负责读写,Slave只负责读,数

2022-03-18 22:01:43 188

原创 Redis中的事务

目录核心知识点事务的背景乐观锁和悲观锁redis中事务的基本指令核心知识点事务的背景事务是一个业务,也可以看作一个逻辑工作单元,是为了保证业务的完整,数据的正确而推出的一种控制机制,事务必须满足四个特性ACID(原子性,隔离性,持久性,一致性),为了保证事务的四个特性,通常会对事务进行加锁,mysql采用乐观锁,redis为了性能采用悲观锁机制乐观锁和悲观锁悲观锁:对于同一条记录,如果事务没有提交,别的进程操作时就会阻塞,如果大量的线程注册到内存时,会造成数据库宕

2022-03-17 20:56:29 492

原创 Redis数据持久化

核心知识点Redis持久化背景面对突发的情况,比如断电,服务器宕机等情况时,Redis中的数据大量丢失Redis持久化机制和方式方式:RDB和AOFRDB机制rdb为Redis默认的持久化方式,通过快照方式将数据保存到rdb文件中,可通过手动方式save(阻塞式)和bgsave(异步)快照或周期性方式保存Redis中Key和Value的一种机制其配置文件中的save就决定了什么时间进行周期化rdb持久化例如:save 60 100,就表示60s内如果有1000个key发生变化

2022-03-17 20:38:31 577

原创 Docker 常用指令

1.安装docker离线安装1.下载docker离线包https://download.docker.com/linux/static/stable/x86_64/docker-20.10.6.tgz说明,也可以从https://download.docker.com/linux/static/stable/网址下载指定版本2.下载离线安装工具https://github.com/Jrohy/docker-install/下载后将工具解压3.将以上资源放在一个目录下

2022-03-13 13:03:45 1757

原创 1.Docker入门

核心知识点1.Docker 诞生背景现阶段软件技术水平已真正进入云计算时代,我们的应用也逐渐部署到云端,部署到云端的各个服务要相互隔离,让每个服务都运行在独立的容器中,当前Docker就是最流行的容器化技术2.Docker 平台基本架构Client/Servic架构Docker Client是我们安装Docker以后,使用的Docker命令1)docker pull从远程镜像仓库拉取镜像,并将镜像文件存入images2)docker run运行镜像文件,如果本地仓库没有该镜像

2022-03-10 20:18:58 674

原创 常见设计模式

1.桥接模式数据库驱动,DriverJDBC=>Driver=>数据库2.门面模式使用slf4j注解,进行日志输出3.享元模式共享池,共用一个对象,比如数据库默认使用的的连接池,HikariDataSource,底层双重校验4.单例模式Bean组件管理的对象默认就是单例的,对象只有一份,具体实现又分为饿汉式,使用该类就加载对象,懒汉式,创建对象时才加载对象5.代理模式Feign修饰的接口,底层为该结构创建底层实现类代理对象6.中介者模式nacos注

2022-03-08 12:44:30 465

转载 8.Gateway应用进阶实践

核心知识点API Gateway基于Sentinel实现服务限流(API,路由id)第一步:导入Sentinel依赖,网关限流还需导入特定的依赖<!--添加网关层面限流依赖,使用Sentinel--><dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artif

2022-03-04 22:16:21 301

转载 7.API网关(gateway)入门实践

核心知识点API网关诞生背景服务太多,需要对请求入口进行统一管理市场主流微服务网关spring cloud gateway,一代网关zuul...基于API Gateway实现服务的保护和转发保护是指基于GatewayFilter的实现类来进行对请求路径的删除(StripPrefixGatewayFilterFactory)来进行保护,此接口的实现类还有很多,都可以对请求的路径进行修改基于API Gateway层面负载均衡的实现首先要将gateway注册到nacos.

2022-03-03 21:36:28 695

原创 Java常用算法

Sentinel是怎么缓存最近的热点数据的?(LRU)通过LRU算法,类似于链表结构,当缓存被放满时,会将排名最后缓存资源清除,当我们访问资源时,该资源会自动刷新到最上面sha1算法hash算法

2022-03-02 15:37:28 283

转载 6.Sentinel应用实践2

核心知识点Sentinel降级概念当访问量过大,大量的线程堆积会造成服务器宕机,我们可以通过降级来熔断这个请求来保证服务的稳定性,还在这里的熔断属于主动熔断请求的底层实现原理第一步:从Tomcat的线程池获取一个线程第二步:通过I/O对象读取请求第三步:处理http请求()第四步:创建请求对象(request),响应对象(response),解析请求第五步:过滤器对请求进行过滤第六步:servlet处理请求(拦截器/controller..)第七步:返回响应对象

2022-03-02 14:57:28 561

转载 5.Sentinel限流应用实践

核心知识点服务限流背景在面对突发大量访问,或者恶意访问时,为了防止服务器宕机,提高服务器的稳定性,一般采用三大手段进行流量的控制,限流,熔断,降级,于是出现了一些流量控制软件,Sentinel就诞生了Sentinel限流入门实践第一步:下载Sentinel的Jar包,注意版本,和Nacos版本兼容性要匹配https://github.com/alibaba/Sentinel/releases第二步:在jar包的根目录打开cmd,运行以下命令java -Dserver.por

2022-03-01 21:53:42 451

转载 4.Nacos配置中心实战

核心知识点配置中心诞生背景我们的软件除了代码之外,还需要一些配置信息,比如yml,properties等配置文件,比如Mybatis框架连接数据库,nacos服务调用的负载均衡算法,日志输出的级别等一些我们会经常需要改变的配置信息,每次修改配置文件都要重启服务器,这样不符合我们的预期,所以就有了配置中心,我们可以在nacos的配置中心动态修改配置信息,而不用频繁重启服务器市场上主流的配置中心携程(Apollo),阿里(nacos),spring colud Config等Nacos配置中

2022-02-28 21:37:44 645

转载 3.服务器负载均衡的实现

核心知识点1.@LoadBalanced当RestTemplante进行远程服务调用时,假如需要负载均衡,我们可以使用@LoadBalanced注解,该注解作用是在RestTemplante对象进行远程服务调用时,底层自动使用拦截器,根据服务名调用服务实例,从一个服务实例中拿到ip和端口,把接收到的url进行重构,拦截器底层用的就是LoadBalancrClient机制,然后根据重构后的url进行服务的调用注意:此方式虽然代码简单了,因为多了一个拦截器对象,性能会降低一点@LoadBalan

2022-02-25 21:56:39 784

原创 Spring Cloud 常用注解

1.@LoadBalanced通常用来描述RestTemplate对象,作用是当我们使用RestTemplate对象调用服务时,系统底层会对服务进行拦截,拦截到url后,会基于url的服务名获取具体的服务实例,然后基于服务实例重构url,再基于新的url进行服务调用2.@EnableFeignClients用于描述启动类或配置类,此时项目启动时,就会启动一个FeignSterter组件,这个组件会对项目中使用@FeignClient的类创建代理对象3.@FeignClient...

2022-02-25 14:53:43 10526 1

转载 2.Nacos注册中心入门

#核心知识点1.服务注册中心诞生背景服务太多,需要一个第三方来统一管理这些服务,类似很多公司到工商局备案2.服务注册中心的选型社区活跃度,稳定性,功能,性能,学习成本3.1)nacos下载:推荐使用1.4.2版本2)安装:解压最好不要在中文目录下3)配置:application.properies首先要在数据库创建nacos_config数据库在doc窗口进入mysql程序(指令:mysql -rroot -u),如果无法使用指令,说明path环境没有配置mysql启

2022-02-24 18:18:24 562

空空如也

空空如也

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

TA关注的人

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