Java Interview Questions and Answers – Java Applets

Java Interview Questions | Java Applets

 
Java Interview Questions : Java Applets
 
What is an Applet ?
A java applet is program that can be included in a HTML page and be executed in a java enabled client browser. Applets are used for creating dynamic and interactive web applications.
 
Explain the life cycle of an Applet.
An applet may undergo the following states:

  • Init: An applet is initialized each time is loaded.
  • Start: Begin the execution of an applet.
  • Stop: Stop the execution of an applet.
  • Destroy: Perform a final cleanup, before unloading the applet.

 
What happens when an applet is loaded ?
First of all, an instance of the applet’s controlling class is created. Then, the applet initializes itself and finally, it starts running.
 
What is the difference between an Applet and a Java Application ?
Applets are executed within a java enabled browser, but a Java application is a standalone Java program that can be executed outside of a browser. However, they both require the existence of a Java Virtual Machine (JVM). Furthermore, a Java application requires a main method with a specific signature, in order to start its execution. Java applets don’t need such a method to start
their execution. Finally, Java applets typically use a restrictive security policy, while Java applications usually use more relaxed security policies.
 
What are the restrictions imposed on Java applets ?
Mostly due to security reasons, the following restrictions are imposed on Java applets:

  • An applet cannot load libraries or define native methods.
  • An applet cannot ordinarily read or write files on the execution host.
  • An applet cannot read certain system properties.
  • An applet cannot make network connections except to the host that it came from.
  • An applet cannot start any program on the host that’s executing it.

 
What are untrusted applets ?
Untrusted applets are those Java applets that cannot access or execute local system files. By default, all downloaded applets are considered as untrusted.
 
What is the difference between applets loaded over the internet and applets loaded via the file system ?
Regarding the case where an applet is loaded over the internet, the applet is loaded by the applet classloader and is subject to the restrictions enforced by the applet security manager. Regarding the case where an applet is loaded from the client’s local disk,the applet is loaded by the file system loader. Applets loaded via the file system are allowed to read files, write files and to load
libraries on the client. Also, applets loaded via the file system are allowed to execute processes and finally, applets loaded via the file system are not passed through the byte code verifier.
 
What is the applet class loader, and what does it provide ?
When an applet is loaded over the internet, the applet is loaded by the applet classloader. The class loader enforces the Java name space hierarchy. Also, the class loader guarantees that a unique namespace exists for classes that come from the local file system, and that a unique namespace exists for each network source. When a browser loads an applet over the net, that applet’s classes are placed in a private namespace associated with the applet’s origin.
Then, those classes loaded by the class loader are passed through the verifier.The verifier checks that the class file conforms to the Java language specification . Among other things, the verifier ensures that there are no stack overflows or underflows and that the parameters to all bytecode instructions are correct.
 
What is the applet security manager, and what does it provide ?
The applet security manager is a mechanism to impose restrictions on Java applets. A browser may only have one security manager. The security manager is established at startup, and it cannot thereafter be replaced, overloaded, overridden, or extended.