Java事件模型

一.java事件模型

java中的事件机制的参与者有3种角色:

  1. Event Eource:
    具体的事件源,比如说,你点击一个button,那么button就是event source,要想使button对某些事件进行响应,你就需要注册特定的listener。
  2. Event Object:
    事件状态对象,用于 listener 的相应的方法之中,作为参数,一般存在于listerner 的方法之中
  3. Event Listener:
    当它监听到event object产生的时候,它就调用相应的方法,进行处理。
    例子如下,Spring-context 的事件机制的根类:
public abstract class ApplicationEvent extends EventObject {private static final long serialVersionUID = 7099057708183571937L;private final long timestamp = System.currentTimeMillis();public ApplicationEvent(Object source) {super(source);}public final long getTimestamp() {return this.timestamp;}
}

而Apollo配置中心的事件处理类AppCreationEvent,是继承自Spring的。

public class AppCreationEvent extends ApplicationEvent {public AppCreationEvent(Object source) {super(source);}public App getApp() {Preconditions.checkState(source != null);return (App) this.source;}
}

java事件模型——EventObject相关推荐

  1. Java事件模型与Android事件模型的比较

    主要内容: Android App开发时,上层用的是Java语言,二者都有事件处理机制,例如,JavaGUI中的按钮点击事件,Android Button的点击事件等. 本节通过Java代码的使用,和 ...

  2. .net 事件委托 java_仿net事件委托的java事件模型实现(转csdn)

    作为对比,我们来看看Java Swing的事件处理和委托就要复杂很多:代码如下:(您若还不是很了解Swing事件驱动的话,可以参考我的另外一篇文章:事件驱动模型实例详解(Java篇))://为btnS ...

  3. Java图形用户界面3—AWT事件模型

    我们编写图形用户界面并不只是为了显示,我们是为了借助图形用户界面来完成我们需要的工作.这就需要程序为我们的动作比如点击按钮,做出响应然后完成我们的工作.在这里我们就用到了事件. 在Java事件模型中, ...

  4. java委托事件模型_JAVA授权事件模型讲解(原创)

    JAVA的授权事件模型包含三个概念:事件源,事件,事件监听器. 一,事件源:一个产生事件的对象.当这个对象的内部状态改变时,事件就会产生.一个事件源必须注册一个事件监听器已使监听器能够可以接受一个特定 ...

  5. java线程的优先级是数字越大优先级越高_《深入理解Java虚拟机》5分钟速成:12章(Java内存模型与线程)...

    第12章 Java内存模型与线程 前言: 1.物理机如何处理并发问题? 2.什么是Java内存模型? 3.原子性.可见性.有序性的具体含义和应用实现? 4.volatile 关键字特性? 5.基于vo ...

  6. netty发送数据_【Netty】JAVA IO模型

    为什么要学Netty? 其实我们每学一样东西,就要了解学这个的必要性.那么为什么要学Netty呢. 其实但凡涉及网络通信就必然离不开网络编程.Netty目前作为JAVA网络编程最热门的框架,毫不夸张的 ...

  7. java单线程循环调度_Java基础篇之Java线程模型

    原标题:Java基础篇之Java线程模型 Java运行系统在很多方面依赖于线程,所有的类库设计都考虑到多线程.实际上,Java使用线程来使整个环境异步.这有利于通过防止CPU循环的浪费来减少无效部分. ...

  8. 转:【Java并发编程】之十六:深入Java内存模型——happen-before规则及其对DCL的分析(含代码)...

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/17348313 happen-before规则介绍 Java语言中有一个"先行发生 ...

  9. 深入理解JVM虚拟机(十):Java内存模型与多线程

    1. 硬件的效率与缓存一致性 由于存储设备和处理器运算速度之间的存在巨大的差异,现在计算机系统在内存与处理器之间加入高速缓存来作为处理器与内存之间的缓冲.将处理器需要的数据复制到缓存中,让处理器可以快 ...

最新文章

  1. 话里话外:简单看流程
  2. nginx php 配置 windows_Windows下配置Nginx使之支持PHP
  3. 了解 Boost Filesystem Library文件系统
  4. 关于局部变量表slot的理解
  5. 1704:baoge的洗漱难题[黄]
  6. bitcount java_Java.math.BigInteger.bitCount()方法实例
  7. 【HDU - 1281 】棋盘游戏 (经典的二分图匹配,匈牙利算法,枚举删除顶点,必须边,关建边)
  8. VS 工程只生成dll不生成lib的解决方案
  9. UML学习(一)类图和对象图
  10. 英雄无敌3_经典地图_下载
  11. LINUX下载安装CUDA
  12. c语言程序隔断,别再砌墙了!20种方法让隔断在你家C位出场
  13. excel保存快捷键_如何用Excel练英语口语?我就是上班的时候这样偷偷学英语的!...
  14. MySQL comment 使用
  15. oracle 客户端的安装失败,关于安装oracle 11g client 出现安装先决条件检查全部失败...
  16. 基于python机票预定系统_机票预订系统课程设计.doc
  17. Android 12 行为变更,对应用产生的影响
  18. ValueError.DataFrame columns must be unique for orient=“column“
  19. 有哪些既实用又好看的蓝牙耳机?高颜值实用蓝牙耳机排行
  20. Ceph学习——Librbd块存储库与RBD读写流程源码分析

热门文章

  1. autoCaptcha谷歌浏览器扩展工具-调用api识别验证码图片
  2. 【前缀树】写一个敏感词过滤器
  3. 视频去水印大师怎么使用,如何去视频水印
  4. 听云server探针安装历程
  5. axure 学习及录播视频
  6. 联创打印管理系统连接服务器失败,企业邮箱在Foxmail 7.2上POP3/IMAP协议设置方法...
  7. java集合框架02——ArrayList和源码分析
  8. Android集成友盟推送
  9. Android App 性能测试工具GT
  10. idea中HTML格式化时标签缩进问题