自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(533)
  • 资源 (6)
  • 收藏
  • 关注

原创 @ComponentScan覆盖@SpringBootApplication配置的解决方案

可以看到当有一个 @ComponentScan 注解的时候,它会直接返回这个注解,不会再去解析 @SpringBootApplication 中的配置,也就是会导致SpringBootApplication注解中的scanBasePackages扫描包路径失效。2.可以使用@ComponentScans注解,这个注解等于定义了多个@ComponentScan,且不会覆盖@SpringBootApplication中的配置。

2023-06-06 14:29:19 623

原创 SpringBoot加载外部/内部配置文件的顺序和覆盖优先级总结

可以使用spring.config.location配置在启动时指定配置文件位置,这样指定后就不会去默认位置寻找配置文件在使用 spring.config.location 指定外部配置文件时,需要此份配置文件需全量满足当前工程运行时所需,因为它不会去与 resources 目录下的配置文件去做 merge 操作如果需要和默认位置的配置文件合并的话,可以使用spring.config.additional-location,语法相同或者也可以指定配置目录位置,指定目录时要以/结尾或者。

2023-05-15 13:48:43 2786 1

原创 linux查看物理CPU个数、单个物理CPU的核数、逻辑CPU个数

linux查看cpu参数

2023-03-13 10:45:59 482

原创 linux倒序查看占用cpu或内存最多的进程

linux倒序查看占用cpu或内容最多的进程

2022-12-06 10:56:35 12305

原创 【Scala专栏】字符串与集合

scala:字符串和集合

2022-12-02 15:06:19 706

原创 【Scala专栏】方法和函数

Scala:方法和函数

2022-12-01 15:56:34 608

原创 【Scala专栏】判断和循环

Scala:判断和循环

2022-12-01 13:48:10 389

原创 【Scala专栏】数据类型、变量常量、类和对象

Scala数据类型、变量常量、类和对象

2022-11-28 18:06:30 549 1

原创 【Scala专栏】走进Scala

Hello Scala!

2022-11-28 16:44:23 340

原创 查看映射docker容器的目录路径

docker

2022-10-12 13:17:40 373

转载 @Import注解的正确使用方式

@Import注解的正确使用方式

2022-08-30 11:18:26 240

原创 【已解决】Linux中buff/cache(磁盘写/读缓存)占用大量内存导致用户进程内存不足

解决Linux中buff/cache占用大量内存导致的内存不足

2022-06-02 11:20:11 886 1

原创 【starters】springboot-starter整合阿里云datahub

文章目录1. 功能介绍2.快速开始2.1 启动客户端2.2 获取DataHub客户端2.3 写数据2.4 读数据3. 核心代码DataHub 类似于传统大数据解决方案中 Kafka 的角色,提供了一个数据队列功能。DataHub 除了供了一个缓冲的队列作用。同时由于 DataHub 提供了各种与其他阿里云上下游产品的对接功能,所以 DataHub 又扮演了一个数据的分发枢纽工作。datahub提供了开发者生产和消费的sdk,在平时的开发中往往会写很多重复的代码,我们可以利用springboot为我

2022-04-05 16:17:50 4422 6

转载 JDK自带的监听器模式

转载,仅供查阅JDK自带的监听器模式

2022-03-30 11:11:17 363 2

原创 Maven scope 作用域 详解

一、scope作用域介绍Maven的一个哲学是约定大于配置,所以在maven中,很多内容都有默认值,scope的默认值是compile。scope元素的作用:控制 dependency(依赖)元素的使用范围。通俗的讲,就是控制 Jar 包在哪些范围被加载和使用。这个范围包括,编译、测试、运行,并且还可以加上是否被打入包中。二、Scope分类Scope的作用域范围包括compile、test、provided、runtime、system、import。1. compile此范围为默认依赖范围,是

2022-03-29 15:45:24 1669 2

原创 【SpringCloudAlibaba】微服务网关Gateway

文章目录1. 什么是Spring Cloud Gateway1.1 核心概念1.2 工作原理2. Spring Cloud Gateway快速开始2.1 环境搭建1) 引入依赖2) 编写yml配置文件3) 测试2.2 路由断言工厂(Route Predicate Factories)配置2.2.1 时间匹配2.2.2 Cookie匹配2.2.3 Header匹配2.2.4 路径匹配2.2.5 自定义路由断言工厂2.3 过滤器工厂( GatewayFilter Factories)配置2.3.1 添加请求

2022-03-27 19:00:27 726

原创 【SpringCloudAlibaba】微服务组件Seata分布式事务

文章目录1. 启动Seata Server1.1 环境准备1)指定nacos作为配置中心和注册中心2)同步seata server的配置到nacos3) 启动Seata Server2. Seata如何整合到Spring Cloud微服务2.1 导入依赖2.2 微服务对应数据库中添加undo_log表2.3 微服务需要使用seata DataSourceProxy代理自己的数据源4. 添加seata的配置1)将registry.conf文件拷贝到resources目录下,指定注册中心和配置中心都

2022-03-25 22:47:31 508 2

原创 【Seata】分布式事务Seata的使用及原理

文章目录1.Seata 是什么1.1 Seata的三大角色1.2 设计思路1.3 设计亮点1.4 存在的问题2. Seata快速开始2.1 Seata Server(TC)环境搭建2.2 Seata Client快速开始1.Seata 是什么Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。AT模式是阿里首推的模式,阿里云上有商用版本的GTS(Global Tr

2022-03-25 22:37:55 3576 1

原创 【微服务】分布式事务介绍

文章目录1. 事务简介2. 本地事务3. 分布式事务典型场景3.1) 跨库事务3.2) 分库分表3.3) 服务化4. X/Open DTP模型与XA规范4.1 DTP模型4.2 XA规范5. 两阶段提交协议(2PC)6. 三阶段提交协议(Three-phase commit)CanCommit阶段PreCommit阶段doCommit阶段2PC与3PC的区别1. 事务简介事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中,一个事务由一组SQL语

2022-03-25 20:46:53 1055 10

原创 【Sentinel】Sentinel整合RestTemplate&openFeign&Dubbo

1. RestTemplate整合SentinelSpring Cloud Alibaba Sentinel 支持对 RestTemplate 的服务调用使用 Sentinel 进行保护,在构造 RestTemplate bean的时候需要加上 @SentinelRestTemplate 注解。@SentinelRestTemplate 注解的属性支持限流(blockHandler, blockHandlerClass)和降级(fallback, fallbackClass)的处理。引入依赖&lt

2022-03-22 16:11:03 592 16

原创 【Sentinel】微服务组件Sentinel控制台的规则配置

文章目录1.Sentinel控制台介绍2.实时监控3.簇点链路4.流控规则4.1 流量控制4.2 并发线程数4.3 流控模式4.4 流控效果5.降级规则5.1 熔断策略5.2 异常比例5.3 异常数6.热点参数限流7.系统规则8. 授权控制规则9. 集群规则1.Sentinel控制台介绍Sentinel 提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能。Sentinel 控制台包含如下功能:查看机器列表以及健康情况:收集 Sentinel 客户端

2022-03-22 16:01:53 598 5

原创 【3小时学会C语言】横向对比/纵向剖析,轻松学习C语言

轻松有趣地学习c,更适合有java功底的小伙伴食用

2022-03-19 18:35:54 1494 24

原创 【SpringCloudAlibaba】微服务组件Sentinel

文章目录1. 前言1.1 分布式系统遇到的问题1.2 解决方案2. Sentinel: 分布式系统的流量防卫兵2.1 Sentinel 是什么2.2 Sentinel 工作原理2.2.1 基本概念2.2.2 Sentinel工作主流程2.3 Sentinel快速开始2.4 Spring Cloud Alibaba整合Sentinel1. 前言课前思考:1、当服务访问量达到一定程度,流量扛不住的时候,该如何处理?2、服务之间相互依赖,当服务A出现响应时间过长,影响到服务B的响应,进而产生连锁反应,直

2022-03-17 10:54:01 431 27

原创 【SpringCloudAlibaba】微服务组件Nacos配置中心

1. Nacos配置中心使用官方文档: https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-configNacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。1.1 快速开始准备配置,nacos se

2022-03-15 09:37:14 959 30

原创 【SpringCloudAlibaba】微服务组件Dubbo

1. provider端配置引入依赖<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-dubbo</artifactId></dependency><dependency> <groupId>com.alibaba.cloud</groupId>

2022-03-14 00:31:26 2079 16

原创 【SpringCloudAlibaba】微服务组件Feign

文章目录JAVA 项目中如何实现接口调用?1. 什么是Feign1.1 优势1.2 Feign的设计架构1.3 Ribbon&Feign对比1.4 Feign单独使用2. Spring Cloud Alibaba快速整合Feign3. Spring Cloud Feign的自定义配置及使用3.1 日志配置3.2 契约配置3.3 通过拦截器实现认证3.4 超时时间配置3.5 客户端组件配置3.5.1 配置Apache HttpClient3.5.2 配置 OkHttp3.6 GZIP 压缩配置3.7

2022-03-14 00:03:35 424 2

原创 【科普向】5G核心网架构和关键技术

一、5G的定义1.1 5G的历史演变1.2 什么是5G5G是第五代移动通信技术,是最新一代蜂窝移动通信技术,也是继4G、3G和2G系统之后的延伸。1.3 5G关键技术📒动态自组织网络(SON):任何节点间(终端与终端、终端与基站、基站与基站等)均通过无线通信,无须任何布线,并具有支持分布式网络的冗余机制和重新路由功能。ps:这边可以理解成微服务架构,每个节点都是一个网元设备,就是一个Service节点,只不过这边的节点是硬件设备📒软件定义网络(SDN):核心思想—转发和控制分离,从而实现

2022-03-13 18:29:58 19241 36

原创 【SpringCloud】微服务负载均衡器Ribbon

1.什么是Ribbon目前主流的负载方案分为以下两种:集中式负载均衡,在消费者和服务提供方中间使用独立的代理方式进行负载,有硬件的(比如 F5),也有软件的(比如 Nginx)。客户端根据自己的请求情况做负载均衡,Ribbon 就属于客户端自己做负载均衡。Spring Cloud Ribbon是基于Netflix Ribbon 实现的一套客户端的负载均衡工具,Ribbon客户端组件提供一系列的完善的配置,如超时,重试等。通过Load Balancer获取到服务提供的所有机器实例,Ribbon会自

2022-03-10 11:54:46 277 27

原创 【LoadBalancer】SpringCloud微服务组件LoadBalancer

文章目录1. 什么是Spring Cloud LoadBalancer1)RestTemplate2)WebClient2. RestTemplate整合LoadBalancer1)引入依赖2)使用@LoadBalanced注解配置RestTemplate3) 使用3. WebClient整合LoadBalancer1)引入依赖2) 配置WebClient作为负载均衡器的client3) 使用1. 什么是Spring Cloud LoadBalancerSpring Cloud LoadBalancer

2022-03-10 09:59:06 636 5

原创 【Ribbon】自定义负载均衡策略实现不同版本的灰度(金丝雀)发布

前言灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度 —— 百度百科📒 下面把上面这段表述抽象成程序设计模型:比如现在有2个服务,user服务和order服务,user服务通过在注册中心拉取order服务的地址来消费o

2022-03-09 11:54:14 1882 33

原创 【SpringCloudAlibaba】微服务组件Nacos注册中心

前言:基础铺垫什么是微服务架构?微服务架构是一种去中心化架构,比如我们的注册中心挂了,服务还是能调到其他服务的资源(有缓存),但现在的网关层也有着中心化的趋势。微服务架构和集中式架构的区别?我们常看到的SOA,就是一种集中式架构,比如ESB(企业消息总线),通过nginx转发到下游的其他服务,但它存在nginx的单点问题。Spring全家桶之间的递进关系Spring:基于bean,基于javaconfig或者xml的方式让第三方框架的bean加载到Spring容器中,例如Mybatis的SqlS

2022-03-06 22:10:56 1310 33

原创 【ClassLoader】实现自定义类加载器加载指定路径下的Class文件和Jar包

自定义类加载器:1.加载指定目录下的.class文件2.加载指定目录下的jar包

2022-03-06 14:25:35 8726 34

原创 【性能监控:jvm+cpu+目标field】自定义类加载器+Java agent+反射实现对tomcat的零侵入式服务监控

前言最近项目中有一个需求,需要临时监控一下一个部署在tomcat中的服务的jvm性能和cpu性能,这个服务中有一个内存队列queue,存储的是消费kafka后的数据,也需要对其进行大小的监控,来判断是否存在消息积压,从而判断是否需要进行性能的调优或者扩服务。市面上已经有很多成熟的大型项目的监控方案了:例如可以用prometheus或者arthas来实现各种可定制的监控方案,我会在后面抽空补充下这些常用的开源监控组件的使用方案,但是这些方案都有个很明显的问题,就是部署起来太重,而我现在只需要快速且轻量的临

2022-03-05 23:27:22 713

原创 【面试真题】实现一个快速排序

题干:我们使用的是经典快速排序: 以左边界为基准值base,具体分析过程详见博主【Java版算法思想(排序)】选择&冒泡&快排参考代码:/** * @author cry777 * @program demo1 * @description 经典快速排序: 以左边界为基准值 * @create 2022-02-25 */public class QuickSort { public static void main(String[] args) {

2022-02-25 09:47:02 274 1

原创 【面试真题】设计一个抢红包算法,单个红包最大不能超过总金额的90%

题干:总金额 double total = 100D; 总人数 int num = 10;返回一个List<Double>参考代码:public class RedWars { public static List<Double> list = new ArrayList<>(10); public static double remain; public static double used; public stat

2022-02-25 09:18:38 578

原创 【Mysql性能调优】高性能表结构及索引设计的最优实践

数据库表设计良好的表结构设计是高性能的基石,应该根据系统将要执行的业务查询来设计,这往往需要权衡各种因素。糟糕的表结构设计,会浪费大量的开发时间,严重延误项目开发周期,让人痛苦万分,而且直接影响到数据库的性能,并需要花费大量不必要的优化时间,效果往往还不怎么样。在数据库表设计上有个很重要的设计准则,称为范式设计。范式设计什么是范式?范式来自英文Normal Form,简称NF。MySQL是关系型数据库,但是要想设计—个好的关系,必须使关系满足一定的约束条件,此约束已经形成了规范,分成几个等级,一级

2022-02-24 10:57:36 525

原创 硬盘缓存(Cache)与NCQ技术

硬盘缓存是用于存储读写硬盘的中间数据,一般称为cache,详细可以分为写缓存、读缓存,其中读缓存中还有预读取的过程,整个过程由操作系统(OS)来控制。就这两种缓存和预读取来分别详细举例:(1) 写缓存向硬盘写入数据的时候,不是直接写入硬盘,而是先写入cache,等待硬盘空闲的时候,再将数据写入硬盘。现在有些硬盘还支持NCQ技术,把数据在cache中进行排序,再写入硬盘。 这样做的好处是提高硬盘的响应速度,减少硬盘的寻道时间,延长硬盘的使用寿命。NCQ:操作系统所看到的磁盘地址都是顺序的虚拟磁盘地址

2022-02-23 14:59:43 1563

原创 【k8s】Kubernetes全栈技术体系介绍

本文将从以下6个方面介绍Kubernetes的全栈体系:1.Kubernetes架构2.Kubernetes工作负载3.Kubernetes网络4.Kubernetes存储5.Kubernetes运维6.DevOpsKubernetes起源Kubernetes项目来源于谷歌内部的Borg,Borg是集群的管理器,在它的系统中,运行着众多集群,而每个集群可由成千上万的服务器联接组成,Borg每时每刻都在处理来自众多应用程序所提交的成百上千的Job, 对这些Job进行接收、调度、启动、停止、重

2022-02-21 16:37:51 2045 5

原创 【SpringBoot】SpringBoot自动装配原理解析

Springboot自动装配bean的过程SpringBoot自动装配过程图通过@Import(DeffredImportSelector)这个注解把所有Springboot帮我们把Spring需要集成的第三方框架中所默认配置的bean初始化成BeanDefination:如Mybatis中的SqlSessionFactory,SpringMvc中的InternalResourceViewResolver都是这样被自动装载进来的。我们可以通过@Import(类)或者@Import(ImportSelec

2022-02-21 15:04:18 604

原创 【Spring】Spring底层核心原理解析

本文内容索引:1.Bean的生命周期底层原理2.依赖注入底层原理3.初始化底层原理4.推断构造方法底层原理5.AOP底层原理6.Spring事务底层原理​但都只是大致流程,后续会针对每个流程详细深入的分析源码实现。先来看看入门使用Spring的代码:ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");UserService userService = (Use

2022-02-18 15:21:53 3622

openjdk8源码-c++

jdk8的c++源码,可用来跟踪native方法的具体实现,例如Unsafe.allocateMemory方法,在jdk源码中的实现是:类型_方法名,直接全局搜:unsafe_AllocateMemory

2022-02-14

HashCalc.rar

这是一个用于Hashi加密计算的调试工具,包含MD5、SHA256等加密算法

2021-06-30

AESTool.rar

本工具是一个AES128加密的模拟调试小工具,带有各种类型的补齐功能

2021-06-30

css4.2.7.zip

关注可免费下载: 该文档为css4.2.7版本的API中文帮助文档,整理自W3C官方 希望对新入行前端的同学们有所帮助 翻译是用谷歌翻译实现的,可能个别描述有误差,可以对照官方文档加深理解

2020-10-11

JDK 11 API中文帮助文档.zip

关注可免费下载: 该文档为JDK11版本的API中文帮助文档,整理自Java官方 希望对新入行Java的同学们有所帮助 翻译是用谷歌翻译实现的,可能个别描述有误差,可以对照官方文档加深理解

2020-10-11

阿里巴巴Java开发手册1.4.0(详尽版).zip

关注可免费领取: 《阿里巴巴 Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总 结,经历了多次大规模一线实战的检验及不断完善,系统化地整理成册,回馈给广大开发者。现代软件行业的高速发展对开发者的综合素质要求越来越高,因为不仅是编程知识点,其它维度的知识点也会影响到软件的最终交付质量。

2020-10-11

空空如也

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

TA关注的人

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