12 Matching Annotations
  1. Feb 2025
    1. 整个Java SE中标准的自定义事件实现就是这个样子,基本上涉及三个角色,即自定义的事件类型、自定义的事件监听器和自定义的事件发布者,关系如图5-4所示

      自定义事件发布类结构图

    2. 在实现中,需要注意到,为了避免事件处理期间事件监听器的注册或移除操作影响处理过程,我们对事件发布时点的监听器列表进行了一个安全复制(safe-copy)。

      我并不清楚,这个处理为什么能生效?

    3. 组合事件类和监听器,发布事件。有了自定义事件和自定义事件监听器,剩下的就是发布事件,然后让相应的监听器监听并处理事件了。通常情况下,我们会有一个事件发布者(EventPublisher),它本身作为事件源,会在合适的时点,将相应事件发布给对应的事件监听器。

      在代码中,我们会看到,一个事件发布者的角色内含了一个事件监听器列表。同时实现了一个方法执行到监听器的方法,进而触发事件发布方法,以及管理事件监听器的方法。

    4. 代码清单5-13 自定义事件监听器MethodExecutionEventListener定义 2public interface MethodExecutionEventListener extends EventListener {/**3* 处理方法开始执行的时候发布的MethodExecutionEvent事件*/void onMethodBegin(MethodExecutionEvent evt);/**4* 处理方法执行将结束时候发布的MethodExecutionEvent事件*/void onMethodEnd(MethodExecutionEvent evt);5}事件监听器接口定义首先继承了java.util.EventListener,然后针对不同的事件发布时机提供相应的处理方法定义,最主要的就是,这些处理方法所接受的参数就是MethodExecutionEvent类型的事件。也就是说,我们的自定义事件监听器类只负责监听其对应的自定义事件并进行处理

      事件监听器接口应该继承EventListener,实现该接口的类仅仅处理目标事件类

  2. Dec 2022
  3. Apr 2022
    1. “…要发挥组织的作用,需要同时具备两个关键因素,一是有合作精神,二是具备有效流程。” 这两点是工程师协作天然具备的吧…

      一个合格的工程师才会有

  4. Dec 2021
    1. 下面分为四个部分展开介绍:      1、利用Obsidian构建属于自己的滑箱系统      2、在Obsidian中建立一套Workflow      3、用好全局视野的知识图谱      4、动手实际做一个实战的Case

      流程

    1. Evergreen note 的方法,一共有 4 個步驟: 紀錄資訊,寫成筆記後放到 Inbox (收集箱) 在筆記中填寫 Metadata,並移動到適當的資料夾下 使用漸進式總結,用一句話總結筆記內容 將筆記內容加到主題 MOC 筆記,和其他筆記連結

      笔记落地方法

  5. Jan 2021
  6. Dec 2020