Java marker接口的内部实现是什么?
我知道一些关于“标记接口”的事情,标记接口没有任何成员。例如:可序列化、可克隆等Java marker接口的内部实现是什么?,java,interface,Java,Interface,我知道一些关于“标记接口”的事情,标记接口没有任何成员。例如:可序列化、可克隆等 我在谷歌上发现marker接口是用来向JVM发送指令的?我想知道这些说明是什么,我如何理解?请帮我举一个真实的例子。标记接口是一种标记类是或做某些事情的方法,甚至这些事情也没有表示为实际的方法。例如,Serialiazable、Cloneable等,由于引入了注释,它们几乎总是首选的,尽管它们不能完全取代标记接口,正如Joshua Bloch所建议的那样 。。。您可能会听到它说,标记注释第35项构成标记 接口过时了
我在谷歌上发现marker接口是用来向JVM发送指令的?我想知道这些说明是什么,我如何理解?请帮我举一个真实的例子。标记接口是一种标记类是或做某些事情的方法,甚至这些事情也没有表示为实际的方法。例如,Serialiazable、Cloneable等,由于引入了注释,它们几乎总是首选的,尽管它们不能完全取代标记接口,正如Joshua Bloch所建议的那样 。。。您可能会听到它说,标记注释第35项构成标记 接口过时了。这一断言是不正确的。标记接口 与标记注释相比,它有两个优点。首先,, 标记接口定义由的实例实现的类型 标记类;标记注释不需要。这个问题的存在 类型允许您在编译时捕获无法捕获的错误 如果使用标记注释,则在运行时之前捕获 在可序列化的情况下,类实现此接口以指示其非瞬态数据成员可以写入ObjectOutputStream。此外,序列化对象需要保持跨系统的兼容性,这是一个明确的设计决策,因此需要使用标记接口来识别这些候选对象
类似地,实现Cloneable告诉JVM这个类实现了Cloneable,因此JVM必须逐位复制它。标记接口是一种标记类是或做某些事情的方法,甚至这些事情也没有表示为实际的方法。例如,Serialiazable、Cloneable等,由于引入了注释,它们几乎总是首选的,尽管它们不能完全取代标记接口,正如Joshua Bloch所建议的那样 。。。您可能会听到它说,标记注释第35项构成标记 接口过时了。这一断言是不正确的。标记接口 与标记注释相比,它有两个优点。首先,, 标记接口定义由的实例实现的类型 标记类;标记注释不需要。这个问题的存在 类型允许您在编译时捕获无法捕获的错误 如果使用标记注释,则在运行时之前捕获 在可序列化的情况下,类实现此接口以指示其非瞬态数据成员可以写入ObjectOutputStream。此外,序列化对象需要保持跨系统的兼容性,这是一个明确的设计决策,因此需要使用标记接口来识别这些候选对象 类似地,实现Cloneable告诉JVM这个类实现Cloneable,因此JVM必须逐位复制它 在谷歌搜索中发现marker接口用于向JVM发送一些指令 不是。它们被用作其他Java代码的标记 我想知道这些说明是什么 没有什么比一次测试更奇特了 在谷歌搜索中发现marker接口用于向JVM发送一些指令 不是。它们被用作其他Java代码的标记 我想知道这些说明是什么
没有什么比instanceof test更奇怪了。标记接口没有实现 但是,标记接口通常会影响其他一些类的行为 我在谷歌上发现marker接口是用来向JVM发送指令的 这是不正确的 它所做的是向JVM或JVM提供或运行的类提供信息。这些信息不是以说明的形式提供的。相反,它是类级别的标签 例如,当您将一个类声明为可序列化时,您将向ObjectInputStream和ObjectOutputStream传递可以序列化该类实例的信息。您正在以类本身的形式传递该信息;i、 e.ObjectInputStream和ObjectOutputStream可以使用instanceof或等效物来测试对象是否可序列化 请帮我举一个真实的例子 Serializable和Cloneable是Java类库中众所周知的例子 还有其他接口具有类似方面的标记接口。例如,Closeable和Autocloseable都有一个close方法来完成相同的任务。不同之处在于,try with resources语句将AutoCloseable视为标记
最后,标记接口受到OO设计纯粹主义者的反对是毫无价值的。您可以使用Java注释实现相同的目的。标记接口没有实现 但是,标记接口通常会影响其他一些类的行为 我在谷歌上发现marker接口是用来向JVM发送指令的 这是不正确的 它所做的是向JVM或JVM提供或运行的类提供信息。这些信息不是以说明的形式提供的。相反,它是类级别的标签 例如,当您将一个类声明为可序列化时,您将向ObjectInputStream和ObjectOutputStream传递可以序列化该类实例的信息。您正在以类本身的形式传递该信息;i、 e.ObjectInputStream和ObjectOutputStream可以使用instanceof或等效物来测试对象是否可序列化 请帮我举一个真实的例子 Serializable和Cloneable是Java类库中众所周知的例子 还有其他接口具有类似方面的标记接口。例如,Closeable和Autocloseable都有一个close方法来完成相同的任务。不同之处在于,try with resources语句将AutoCloseable视为标记
最后,标记接口受到OO设计纯粹主义者的反对是毫无价值的。使用Java注释也可以达到同样的目的。看看这个。看看这个。最后一句话表达得非常草率。”实现Cloneable告诉JVM,这个类实现Cloneable“只是一个同义反复,最后一句表达得非常松散。”实现Cloneable告诉JVM,这个类实现Cloneable只是一个同义反复。