自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

明月为卿的博客

一个精神不正常的程序员

  • 博客(20)
  • 收藏
  • 关注

原创 【八股文】从基础到微服务

文章目录八大基本类型开发过程中用到的集合ArrayList底层存取值怎么实现的,是不是线程安全的,扩容是怎么实现的HashMap的底层原理,ConcurrentHashMap的实现原理,存取值的时候是怎么实现的。重载和重写的区别Java创建对象的方式Object的默认方法包装类的Cache`二`工作中用到哪些数据库事务是在哪里应用的数据库中sql优化索引的数据结构事务的隔离级别事务的传播方式分页是怎么做的#和$的区别Mysql数据库悲观锁和乐观锁`三`过滤器拦截器IOC和AOPAOP是怎么调用的,静态代理和

2022-01-21 14:49:52 1344

原创 【Spring】各种知识点,复习专用。

起步使用 ==@Import({ApplicationConfig.class})==在配置类上导入其他配置类。配置类:业务Bean和架构Bean分离。Bean作用域:singleton:只使用1个实例prototype:每次引用会创建新实例session:持续时间与用户的HTTP会话一致-仅限Web环境request:持续时间与用户的HTTP请求一致-仅限Web环境application:持续时间和ServletContext一致thread:持续时间与所在线程一致。未注册web_so

2022-01-16 16:01:39 339

原创 【redis常用命令】

【登陆redis服务】redis-cli或者redis-cli -p 6379或者redis-cli -p 6379 -a password#-a后面为password,此操作需要开启redis.conf文件中的 requirepass选项【登录远程redis】redis-cli -h ip -p 6379 -a password【redis信息】info \ info replicationclearexitshutdownhelp【数据操作】查看redis中的key k

2022-01-14 19:46:20 824

原创 【面试一题】MySql性能优化

可以分为四个部分:一:硬件和操作系统层面的优化硬件层面:影响mysql性能的主要是CPU,可用内存,磁盘读写速度,网络带宽操作系统层面:操作系统的网络配置,应用文件句柄数。在硬件优化中,我们应该关注服务所承载的体量,然后提出合理的指标要求。避免出现资源浪费的情况。二:架构设计层面的优化是一个硬盘IO非常频繁的关系型数据库,在高并发和高性能的场景中,数据库必然会承受巨大的并发压力。在此时,优化方式可以分为几个部分。搭建mysql主从集群,单个服务容易导致单点故障,一旦服务挂了。将会导致依赖

2022-01-09 10:37:45 817 2

原创 【SpringMVC】

概述SpringMVC是一种基于Spring,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦。基于请求驱动:使用请求-响应模型。即:通过控制器,将包含业务数据的模块,与显示模块的视图解耦。控制器将接收请求,执行更新模型的操作,然后通知视图关于模型更改的消息。【浏览器发起请求】············↓【DispatcherServlet】自己不处理,而是委托其他的解析器处理。它作为统一访问点,进行全局的流程控制。【→Hand

2022-01-08 10:33:36 69

原创 【Redis】

基本类型String——字符串 或 Json缓存:计数器:自增ID:List——LinkedList, 队列:右进左出 。栈:右进右出异步队列:任务轮询:文章列表:Hash整个博客的访问人数:某页墨客的访问量,姓名,联系方式,住址等。Set抽奖:随机返回元素共同关注:交集Sorted set排行榜:订单支付超时:score为订单超时时间戳,然后写个定时任务每隔一段时间执行zrange。签到——位图数据结构bitmap储存的是连续的二进制数字。基本命令:setbit

2022-01-06 20:25:31 678

原创 【SpringBoot】偏门

动态赋值@Value: @Value("${blog.id}") private Long id;如果对象太多,一个一个绑定太麻烦。我们可以使用@ConfigurationProperties(prefix = “blog”) //动态赋值的类@EnableConfigurationProperties({Blog2.class}) //启动类@PropertySource(“classpath:blog.properties”) //启动类@Data@Component@Co

2022-01-04 20:21:34 218

原创 【Java基础】冷门知识点

缓存池整形包装类实现了缓存池技术:Byte,Short,Int,Long在缓存池范围内的值,是同一对象。两种浮点数类型的包装类 Float、Double 「 并没有实现常量池技术 」。new Integer(100) 与 Integer.valueOf(100) 的区别在于:new一定会创建对象。Stringvalue 数组被声明为 final,这意味着 value 数组初始化之后就不能再引用其它数组。并且 String 内部没有改变 value 数组的方法,「 因此可以保证 String 不可

2022-01-04 16:42:07 310

原创 【复习总结】SpringCloudAlibba

微服务设计的特点单一职责独立进程解耦,测试效率高高可用,可靠性高升级迭代方便但会带来一定的维护成本微服务解决方案Spring Cloud AlibabaSping Cloud Netfix大厂自研微服务组件如何选型社区活跃度稳定性功能性能学习成本常用的注册中心?ZookeeperEurekaNacosConsulNacos是什么是阿里基于SpringBoot技术实现的一个注册中心,本质也是一个Web服务。是CS架构的。客户端负载均衡&服

2022-01-02 18:52:07 460

原创 RocketMQ消息模式深度解析【更新中】

前提在使用RocketMQ之前,需要先在linux安装一个RocketMQ,并启动。入门依赖 <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.7.1</version> &

2021-12-29 21:22:32 284

原创 【入门教程】Java 中 Stack类的使用

首先我们得了解什么是栈。栈是先进后出,例如弹夹————对标LIFO算法Stack 类继承了 Vector类,他们都是数据安全的。操作 Ctrl+左键 点进这两个类,我们可以发现他们的方法都使用了sync隐式加锁。关于sync的作用和不足我们不在此处拓展。Stack 类五大方法:boolean empty()——测试本栈是否为空。E peek()——窥视栈顶对象,但不会惊扰它。E pop()——取出栈顶对象,并移除它。push(E item)——把E推送至顶部,如果没有这个E,则add一

2021-12-26 17:00:21 945

原创 【入门教程】Lock锁,读写锁,邮戳锁,原子类,线程通讯,计数栅栏,信号量,线程池的使用。

文章目录Lock接口ReentrantLock 实现类Condition接口Lock接口主要用来解决互斥问题。接口方法:void lock()—— 获取锁对象,优先考虑是锁的获取,而非中断。void lockInterruptibly()—— 获取锁,但优先响应中断而非锁的获取。boolean tryLock() ——试图获取锁,如果返回true,则获取成功,直接使用。不需要继续lock()boolean tryLock(long timeout, TimeUnit timeU

2021-12-26 16:35:46 396

原创 【大白话理解】Synchronized底层实现、及锁优化。

文章目录什么是锁?Synchronized 原理内存中的对象那么,记录锁信息的位置记录些什么呢?锁升级、锁膨胀锁消除锁粗化什么是锁?我把它理解为,在多线程环境下保证数据安全的一种方案。为什么不是只能由一个线程访问,因为乐观锁的存在,它是允许线程同时访问的。实现有很多种,比如java的sync(原谅我一直这么念这个单词),比如乐观锁CAS,比如Lock。那么,我们先从关键字synv开始,了解一下sync的原理和特性。Synchronized 原理首先,sync作为java中的关键字。它是基于JV

2021-12-26 14:43:03 349

原创 RabbitMQ 六个工作模式深入理解

文章目录RabbitMQ 使用场景服务解耦流量削峰异步调用基本概念Exchange-交换机Queue-消息队列Binding Key-绑定键Routing Key-路由键六种工作模式简单模式——(寄信)——消息具有唯一性工作模式——(卖家发快递)——消息具有唯一性消息确认——手动回执ACK合理地分发——只接受1条消息消息持久化——队列持久化,消息持久化发布订阅模式——(发广播)——消息克隆路由模式![请添加图片描述](https://img-blog.csdnimg.cn/fc8a8e134cba47729

2021-12-25 20:16:40 1470

原创 SpringCloudSleuth链路跟踪

sleuth生产链路日志随着系统规模越来越大,微服务之间调用关系变得错综复杂,一条调用链路中可能调用多个微服务,任何一个微服务不可用都可能造整个调用过程失败spring cloud sleuth 可以跟踪调用链路,分析链路中每个节点的执行情况添加依赖后,被请求路过的每个微服务都会在控制台产生一个日志:[服务id,请求id,span id,是否发送到zipkin]**请求ID:**请求到达第一个微服务时生成一个请求id,该id在调用链路中会一直向后面的微服务传递**span ID:**链路中每一步

2021-12-24 19:58:05 1385

原创 Spring Cloud Config 不得不说的配置,已更新config bus+rabbitmq

基本使用流程1.有远程仓库2.有本地仓库3.PUSH一下4.配置文件放入config文件夹——把多个服务的配置文件放入config文件夹,并改名,加后缀。如:xxx-service-dev.yml——把旧的配置文件删掉——配置中心配置优先级最高,会覆盖命令行启动参数。可以配置关闭spring: ...... cloud: config: override-none: true5.搭建配置中心依赖——>配置——>注解——>启动:依赖 con

2021-12-23 22:35:43 788

原创 一分钟全方位了解Zuul网关

Zuul-API 网关知识点:为服务群提供统一的对外访问接口。zuul 还提供过滤器,统一的权限校验集成Ribbon集成Hystrix1.统一调度入口依赖——>配置——>注解——>启动:依赖 netflix-zuul <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netfl

2021-12-23 21:45:06 195

原创 一分钟快速配置hystrix断路器、及hystrix dashboard 断路器仪表盘

wiki百科链接依赖——>配置——>注解——>启动:依赖 netflix-hystrix<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency>:配置spring: application:

2021-12-23 17:49:41 453

原创 【入门教程】Ribbon重试

3/2:RibbonFeign(默认继承Ribbon)eureka-client 中已经包含 ribbon 依赖如果使用RestTemplate,需添加@LoadBalanced注解Ribbon的重试::依赖<dependency> <groupId>org.springframework.retry</groupId> <artifactId>spring-retry</artifactId></dependency

2021-12-23 16:18:41 1233

原创 【入门教程】Eureka快速起步

快速上手Eureka,依赖,配置流程,基本原理

2021-12-23 13:44:26 538

空空如也

空空如也

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

TA关注的人

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