前言ApplicationListener是对application生命周期的监听体制。类依赖图ApplicationListener体系ApplicationEvent体系ApplicationEventMulticasterApplicationEventMulticaster只有一个实现类SimpleApplicationEventMulticaster源码详解ApplicationLi
准备工作首先将我们项目中的 targetSdkVersion和compileSdkVersion 升至 34。影响Android 14上所有应用1.最低可安装的目标 API 级别从 Android 14 开始,targetSdkVersion 低于 23 的应用无法安装。要求应用满足这些最低目标 API 级别要求有助于提高用户的安全性和隐私性。恶意软件通常会以较旧的 API 级别为目标平台,以绕过
一、网络IO的基本知识和概念1、同步、异步、阻塞、非阻塞概念同步和异步 同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发IO 操作并等待或者轮询的去查看IO 操作是否就绪,而异步是指用户进程触发IO 操作以后便开始做自己的事情,而当IO 操作已经完成的时候会得到IO 完成的通知。阻塞和非阻塞 阻塞和非阻塞是针对于进程在访问数据的时候,根据IO操作的就绪状态来采取的不同方式,说白了
在 JDK 中已经提供相应的自定义事件发布功能的基础类: java.util.EventObject类 :自定义事件类型 java.util.EventListener接口:事件的监听器首先了解几个概念:Spring 事件类结构1. 事件类事件类也就是定义发送的内容,比如可以通过继承ApplicationContextEvent来自定义一个特定事件类。1.1 ApplicationEvent类首先
转载 2024-01-12 12:17:16
297阅读
之前某个功能一直正常的,直到一天突然发现,有个操作未正常生成数据。通过debug发现,问题关联功能执行的save方法未执行成功,且未出现异常,save方法执行了,只是数据未保存。同时发现,此方法还有一个controller方法入口,通过测试,发现此方法调用是正常的,数据可以正常保存。但出现问题的地方,是从ApplicationEvent事件进来的,
转载 2023-05-26 01:49:45
434阅读
Guava的event busguava, https://github.com/google/guava 是一个非常有名的Java类库,提供了很多在日常开发中常用的集合、函数接口等。此外,guava还提供了一个模块叫做event bus,生产者往event bus上投递消息,event bus负责回调订阅了此类消息的回调函数,实现了消息生产者和消费者之间的解耦和异步处理。以下是一个简单
一、EventBus 单例获取、二、EventBus 构造函数、三、EventBus 构建者、
原创 2022-03-08 09:32:59
204阅读
文章目录8.1. 了解缓存抽象Cache 与Buffer@Cacheable默认 key 生成自定义密钥生成声明默认缓存解析自定义缓存解析同步缓存条件缓存可用的缓存SpEL评估上下文@CachePut@CacheEvict@Caching@CacheConfig启用 Caching 注解JCache (JSR-107)配置 Cache Storage8.5.1. 基于JDK Concurrent
1.springboot项目中只是在yml文件中添加数据源的属性,并没有显示的配置当成组件注入到spring中,但是spring依旧能使用这个数据源,原因是boot对于数据源的自动装配,原理参考下面大神链接。2.公司的老项目在mybatis调用存储过程的时候报只读错误 read-only:这是由于事物的传播特性中没有配置call属性,配上call属性并把只读设为false就可以了,注:我的存储过程
转载 2023-12-25 22:07:06
84阅读
一、导入依赖、二、注册 EventBus、三、发送 EventBus 事件、四、完整代码示例、五、源码地址、
原创 2022-03-08 09:33:01
415阅读
  EventBus 直译过来就是事件总线,它使用发布订阅模式支持组件之间的通信,不需要显式地注册回调,比观察者模式更灵活,可用于替换Java中传统的事件监听模式,EventBus的作用就是解耦,它不是通用的发布订阅系统,也不能用于进程间通信。可用于Android的EventBus库主要有这几个:Google出品的Guava,Guava是一个庞大的库,EventBus 只是它附
转载 2023-06-06 18:43:52
202阅读
1. 引入EventBusimplementation 'org.greenrobot:eventbus:3.1.1'2. 注册和
原创 2022-11-16 19:39:08
119阅读
当一个Android应用功能越来越多的时候,保证应用的各个部分之间高效的通信将变得越来越困难。如何优雅地解决这个问题?这时候,就可以使用到EventBus。https://github.com/greenrobot/EventBus通过一个demo来说明具体是如何实现的1、在要接收消息的组件中,例如Activity中,注册EventBus这里我们在onCreate方法中注册EventBus.get
转载 精选 2014-09-15 13:39:56
1252阅读
implementation 'org.greenrobot:eventbus:3.2.0' EventBus package com.q
原创 2023-04-03 15:37:19
105阅读
1. 场景 减少业务处理的复杂性2. 使用基于spring boot 简单,便捷3. 项目创建基于maven 4.0.0 com.dalong.eventbus event 0.0.1-SNAPSHOT org.springframework.boot spring-boot-starter-parent 1.4.2.RELEASE com.google....
原创 2021-07-17 23:15:49
199阅读
线程阻塞的问题 现象:某大型保险公司的OA应用(大集中模式,用户有2万多人,8千多个组织)在200多用户在线时,竟然发生了weblogic实例挂起,分析dump文件,发现有一个流程提交的线程发生意外,一直占有着一个对象的锁,因此它竟然阻塞了200多个线程,而所有的线程都阻塞在一个叫A的对象上,而这些被阻塞的线程还是处理不同的任务(就是说调用不同的方法),然后马上去看A.java的代码,发
转载 2024-07-01 20:27:25
81阅读
问题前提: 1.springTask执行多个定时任务单线程执行(执行完任务A才能执行任务B),导致周期延迟. 2.如果一个定时任务周期是2s,业务执行需要5s,下一次定时周期会阻塞到5s.导致周期延迟1.创建springBoot项目2.启动类加入注解@EnableScheduling@SpringBootApplication @EnableScheduling public class appl
Spring @Async 注解的使用 Spring中用@Async注解标记的方法,称为异步方法,它会在调用方的当前线程之外的独立的线程中执行。调用者将在调用时立即返回,方法的实际执行将提交给Spring TaskExecutor的任务中,由指定的线程池中的线程执行。Spring 已经实现的线程池 1、SimpleAsyncTaskExecutor:默认情况下每次调用都会创建一个新的线程,若系统中
转载 2024-06-12 10:00:28
71阅读
SpringSpring Async 的实现原理 3 - 整体实现流程前言@EnableAsyncAsyncConfigurationSelectorAdviceModeImportSelectorAsyncConfigurationSelectorProxyAsyncConfigurationAbstractAsyncConfigurationProxyAsyncConfiguration
转载 2024-06-03 11:52:35
46阅读
# Spring Boot Bean阻塞实现指南 ## 1. 概述 本文将指导新手开发者如何实现Spring Boot Bean阻塞。首先,我们会提供实现的整体流程,并用表格展示每个步骤的详细说明。然后,我们会逐步介绍每个步骤需要做什么,并提供相应的代码示例和注释。 ## 2. 实现流程 下表展示了实现Spring Boot Bean阻塞的步骤: | 步骤 | 描述 | | --- |
原创 2023-10-08 07:01:01
100阅读
  • 1
  • 2
  • 3
  • 4
  • 5