Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!us.feeder.erje.net!feeder.erje.net!1.eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Jeff Higgins Newsgroups: comp.lang.java.programmer Subject: Re: how does a marker interface give specific instruction to jvm(java internals) Date: Wed, 13 May 2015 22:33:40 -0400 Organization: A noiseless patient Spider Lines: 32 Message-ID: References: <5b49c798-5b11-4b08-8d87-a241d9a3cfc0@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Thu, 14 May 2015 02:34:04 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="8e164d158183579609bf09837dee5210"; logging-data="9203"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+WRGiVv8CfDSJS99fk7A14SMI69/xdO1I=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.6.0 In-Reply-To: <5b49c798-5b11-4b08-8d87-a241d9a3cfc0@googlegroups.com> Cancel-Lock: sha1:FLtZ9kHuZZmufGntGQ08HDrDt/Y= Xref: csiph.com comp.lang.java.programmer:31709 On 05/12/2015 11:54 AM, Ajay Paul wrote: > My understanding is that JVM looking for specific signatures for the Java class library marker interface just like it does for main method. I don't understand this statement. > hence interfaces like Serializable, Clonable have a specific meaning to the jvm. A marker interface, like Serializable or Cloneable may have a specific meaning to a Java Virtual Machine, or to a Java compiler, or to another Java class. In the particular case of deserializing a serialized Java object the meaning of the Serializable interface to a JVM is that it is possible that it can proceed to reconstruct that serialized object according to the Java Object Serialization Specification. What would a Java compiler do with the knowledge that a class implements the java.io.Serializable interface? What classes in the Java standard library could make use of the knowledge that another class implements the java.io.Serializable interface, and what could they do with this knowledge? > > so, its roughly like an IoC principle: "Instead of I define myself, you define me". I don't understand this statement. > > Am I correct ? >