仪器,通知和同步的含义

时间:2016-07-30 14:31:02

标签: java notifications synchronization instrumentation

我正在阅读有效的Java"在本书中,作者经常使用 instrumentation 通知同步这两个词。然而,作为初级开发人员,当我在互联网上研究这些主题时,结果非常多样化。由于这个原因,我无法理解他在书中的含义。

举个例子,我正在分享一个包含这些词的段落。

  

这个建议可能有点争议,正如许多程序员所做的那样   习惯于继承普通具体类的子类   仪器,通知和同步等工具   或限制功能

这些术语的简要介绍将有助于我自然地理解这些主题和本书。

1 个答案:

答案 0 :(得分:1)

本书中的部分内容是关于创建子类以使用自定义功能丰富原始类。例如,您有一个ArrayList,并且您希望每次向其添加某些内容时,ArrayList都会向您发送通知。那么这将是一种简化的方法:

public class MyNotifyingArrayList<E> extends ArrayList<E> {

  private Notifiable notifiable;

  public MyNotifyingArrayList(Notifiable notifiable) {
    this.notifiable = notifiable;
  }

  @Override
  public boolean add(E e) {
    boolean success = super.add(e);
    if (success) {
        notifiable.notify(e);
    }
    return success;
  }
}

这是notification的一个例子。关于instrumentation我认为他有这个想法:

https://docs.oracle.com/javase/7/docs/api/java/lang/instrument/Instrumentation.html

并且synchronization可能意味着他希望将线程安全功能添加到最初未实现为线程安全的类中。