自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot2.2.9整合kafka之KafkaListener实现原理

前置知识需要了解KafkaListenerEndpointRegistry类的start方法的运行时机AbstractApplicationContext#finishRefresh。//进入ConcurrentMessageListenerContainer父类AbstractMessageListenerContainer#start。DefaultListableBeanFactory#preInstantiateSingletons方法最下面。

2024-01-27 15:23:18 821

原创 Eureka-Server源码核心代码入口

先从注册表获取该服务的实例列表(gMap),再从gMap中通过实例的id 获取具体的 要续约的实例。在AbstractInstanceRegistry的postInit方法中,定义EvictionTask定时任务,构建定时器启动该任务,执行任务中剔除方法 evict()。这个值在Eureka中被定义为85%,一旦触发自我保护机制,Eureka会尝试保护其服务注册表中的信息,不再删除服务注册表中的数据。可以看出,其实服务续约的操作非常简单,它的本质就是修改服务的最后的更新时间。当该条件成立时,认为服务过期。

2023-12-26 21:24:57 989

原创 Eureka-Client源码核心代码入口

DiscoveryClient这个类用来和Eureka-server互相协作,看一下它的注释,它可以完成服务注册,服务续约,服务下线,获取服务列表等工作。Jersey是一个Restful请求服务的框架,与常用的springmvc类似,后面会讲到在Eureka-server拦截请求的时候也用到了Jersy。当eureka-client关闭时,不会立刻关闭,需要先发请求给eureka-server,告知自己要下线了。查看父类DiscoveryClient构造器最终到达位置(带 @Inject注解的构造器)

2023-12-26 21:01:19 400

原创 mysql的统计数据count

count()方法的目的是计算当前sql语句查询得到的非NULL的行数。

2023-12-26 14:20:08 680

原创 POI基本api

【代码】POI基本api。

2023-12-26 11:55:48 618

原创 Kibana操作ElasticSearch

PUT请求覆盖(不常用),PUT表示修改,不会修改id的值。GET /索引名称/类型名称/id值。新增文档_不带id(随机生成id)PUT /索引名称/类型/1。id不存在,则会新增这条数据。POST /索引名称/类型。b、创建索引指定字段类型。id存在,则修改这条数据。DELETE 索引名称。a、创建索引默认配置。PUT /索引名称。

2023-12-23 17:39:18 781 1

原创 Optional的使用

jdk17测试。

2023-12-23 11:43:47 397 1

原创 Spring 表达式expression

【代码】Spring 表达式expression。

2023-12-23 10:17:15 527 1

原创 Google Aviator表达式引擎

Aviator是一个用于动态表达式求值的高性能、轻量级Java引擎。轻量级和高性能: Aviator的设计目标之一是轻量级和高性能。它的大小很小,加上依赖包也很小,这有助于将其轻松集成到各种Java应用程序中。与某些重量级的脚本语言(如Groovy)相比,Aviator非常紧凑,因此适用于对性能要求较高的应用程序。编译执行方式: Aviator与许多其他表达式引擎的不同之处在于,它不是通过解释表达式来执行,而是将表达式编译成Java字节码,然后将其交给Java虚拟机(JVM)执行。

2023-12-23 10:15:03 1371 1

原创 Spring源码之AbstractApplicationContext#refresh中invokeBeanFactoryPostProcessors方法调用

/调用BeanFactory后置处理器。

2023-12-18 17:38:15 371 1

原创 Spring Bean实例化流程生命周期(持续更新中)

/ Instantiate the bean. 实例化 beanif (mbd.isSingleton()) {//如果是单例//主要1:1、创建bean的实例 实例化方法,把bean实例化创建实例(属性还没有赋值)并且包装成BeanWrapper对象//拿到创建的实例Class<?if (!try {//主要2:收集类中的注解。

2023-12-16 16:49:13 321 1

原创 100、Async注解源码分析

是一个ImportSelector实现类,selectImports方法返回的字符串数组都会放入spring容易中生成bean。对应ImportSelector接口的使用可以自己写demo。此注解的解析主要是在。AsyncExecutionInterceptor的invoke方法。

2023-12-15 09:55:02 379

原创 10、Spring源码分析之AOP(持续更新中)

Component**@Aspect** //告诉spring当前是一个AOP程序类//Pointcut 切点 范围 集合 service下所有实例//Advice 增强逻辑 1、实现Advice接口 2、实现MethodInterceptor。

2023-12-14 17:36:35 308 1

原创 2、Spring源码之AbstractApplicationContext#refresh中obtainFreshBeanFactory()方法调用(持续更新中)

/获取工厂类//刷新工厂//返回创建结果//refreshBeanFactory方法本类中只是定义没有实现,子类实现//子类:AbstractRefreshableApplicationContext#refreshBeanFactory//判断工厂是否存在//是否已经存在,存在则清除BeanFactory和里面的实例//销毁Bean(里面有bean生命周期的销毁方法调用)//关闭掉//设置beanFactory等于nulltry {

2023-12-14 15:17:04 348 1

原创 Java泛型使用介绍

主要类//jdk 1.5//jdk 1.8//jdk 1.5//jdk 1.5//jdk 1.5。

2023-12-14 10:55:36 360 1

原创 1、Spring上下文之ClassPathXmlApplicationContext(持续更新中)

【代码】1、Spring上下文之ClassPathXmlApplicationContext。

2023-12-13 19:12:34 433 1

原创 Java代码构建SQL语句之jsqlparser

【代码】Java代码构建SQL语句之jsqlparser。

2023-12-13 17:56:59 701 1

原创 List集合操作常见API

java list集合操作

2023-12-13 15:40:31 379 1

原创 1、Springboot2.2.9源码分析

【代码】1、Springboot2.2.9源码分析。

2023-12-10 23:03:39 351

原创 3、ElasticSearch全文搜索引擎之transport客户端的文档操作

【代码】3、文档的CRUD。

2023-12-10 15:33:09 391

原创 2、ElasticSearch全文搜索引擎之transport客户端的索引的操作

索引的创建

2023-12-10 15:07:35 373

原创 1、ElasticSearch全文搜索引擎之transport客户端工具类

基于elasticsearch的客户端transport创建索引

2023-12-10 14:33:58 426

原创 SpringBoot启动源码篇

【代码】SpringBoot源码篇一。

2023-04-27 18:47:41 101

原创 20种 Redis 的妙用场景

你做的项目,用Redis干了些啥?大部分人的回答都会是:缓存;他能实现的功能并不仅限于缓存,而是可以运用到各种业务场景中,开发出既简洁、又高效的系统;结构类型结构存储的值结构的读写能力String字符串可以是字符串、整数或浮点数对整个字符串或字符串的一部分进行操作;对整数或浮点数进行自增或自减操作;List列表一个链表,链表上的每个节点都包含一个字符串对链表的两端进行push和pop操作,读取单个或多个元素;根据值查找或删除元素;

2023-03-22 13:03:47 655

原创 Ribbon原理源码分析

1、介绍

2023-03-17 08:45:11 143

原创 Eureka原理源码分析

Eureka Server之间通过复制的方式完成数据的同步,Eureka还提供了客户端缓存机制,即使所有的Eureka Server都挂掉,客户端依然可以利用缓存中的信息消费其他服务的API。综上,Eureka通过心跳检查、客户端缓存等机制,确保了系统的高可用性、灵活性和可伸缩性。Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。

2023-03-16 21:22:52 86 1

空空如也

空空如也

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

TA关注的人

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