Latest Updated Eclipse Interview Questions
1. When does a plugin get started?
Each plug-in can be viewed as having a declarative section and a code section. The declarative part is contained in the plugin.xml file. This file is loaded into a registry when the platform starts up and so is always available, regardless of whether a plug-in has started. The code section are laze loaded by default.
They are activated only when their functionality has been explicitly invoked by the user.
2. What are extensions and extension points?
Loose coupling in Eclipse is achieved partially through the mechanism of extensions and extension points. When a plug-in wants to allow other plug-ins to extend or customize portions of its functionality, it will declare an extension point.
The extension point declares a typically a combination of XML markup and Java interfaces, that extensions must conform to. Plug-ins that want to connect to that extension point must implement that contract in their extension.
3. How to access UI objects from a non-ui thread?
Use Display.getDefault().asyncExec(new Runnable()…) Display.asyncExec causes the run() method of the runnable to be invoked by the user-interface thread at the next reasonable opportunity. The caller of this method continues to run in parallel, and is not notified when the runnable has completed.
4. How to fire a key event in my test code to make the program act as if a user pressed a key?
Two ways to implement it in code: generating OS level key event use Display.post(Event) or use Widge.notifyListeners(…) to just notify a widget’s listeners.
5. Why do I get the error “org.eclipse.swt.SWTException: Invalid thread access”?
SWT implements a single-threaded UI model often called apartment threading. In this model, only the UI-thread can invoke UI operations. SWT strictly enforces this rule. If you try and access an SWT object from outside the UI-thread, you get the exception “org.eclipse.swt.SWTException: Invalid thread access”.
The following code sets the text of a label from a background thread and waits for the operation to complete: display.syncExec( new Runnable() { public void run(){ label.setText(text); } });
6. How to config a plugin to start automatically during platform starts up?
Define the ‘Eclipse-AutoStart=true’ header in Manifest file.
7. What is the classpath of a plug-in?
The OSGi parent class loader. (Java boot class loader by default); The exported libraries of all imported plug-ins; The declared libraries of the plug-in and all its fragments.
8. Do we need to explicitly invoke org.eclipse.swt.graphics.Image.dispose()?
Application code must explicitly invoke the Image.dispose() method to release the operating system resources managed by each instance when those instances are no longer required. This is because that the Java finalization is too weak to reliably support management of operating system resources.
9. What is Display, what is Shell?
The Display class respresents the GUI process(thread), the Shell class represents windows.
10. How to resize my shell to get my changed widgets to lay out again?
A layout is only performed automatically on a Composite’s children when the Composite is resized, including when it is initially shown. To make a Composite lay out its children under any other circumstances, such as when children are created or disposed, its layout() method must be called.
11. Is there a built-in facility to check whether a given value is valid compared to the effective facets of its type?
To determine if a literal is valid with respect to a simple type, you can use either XSDSimpleTypeDefinition.isValidLiteral or XSDSimpleTypeDefinition.assess.
12. How can I change the window icon in my application?
Define a product via the products extension point and specify the windowImages property to refer to two image files, a 16×16 one and a 32×32 one.
13. What is optional dependency?
plug-in prerequisite elements can be made optional by adding the optional=”true” attribute in Manifest file(see below for an example). Marking an import as optional simply states that if the specified plug-in is not found at runtime, the dependent plug-in should be left enabled.
This is used when a plug-in can be used in many scenarios or it is reasonable to operate with reduced function. It allows the creation of minimal installs that cover functional subsets. Require-Bundle: org.eclipse.swt; optional=”true”
14. What is EMF?
The Eclipse Modeling Framework is a Java/XML framework for generating tools and other applications based on simple class models. EMF helps you rapidly turn models into efficient, correct, and easily customizable Java code. It is intended to provide the benefits of formal modeling, but with a very low cost of entry.
In addition to code generation, it provides the ability to save objects as XML documents for interchange with other tools and applications.
15. What is included in the Rich Client Platform?
Eclipse Runtime, SWt, JFace, Workbench
16. What is an IDE?
An IDE or Integrated Development Environment is a software program that is designed to help programmers and developers build software.
17. What are the basic things an IDE includes?
Most IDEs include:
1. A source code editor
2. A compiler and/or an interpreter
3. Build automation tools
4. A debugger
18. What is eclipse?
Eclipse is an open source community whose projects are focused on building an extensible development platform, runtimes and application frameworks for building, deploying and managing software across the entire software lifecycle.
Eclipse is used in several different areas, e.g. as a development environment for Java or Android applications.
19. Who governs the Eclipse projects?
The Eclipse projects are governed by the Eclipse Foundation. The Eclipse Foundation is a non-profit, member supported corporation that hosts the Eclipse Open Source projects.
20. What is Rich Client Platform?
The minimal set of plugins needed to build a rich client application is collectively known as the Rich Client Platform. It means your application need only require two plugins, org.eclipse.ui and org.eclipse.core.runtime, and their prerequisites.
21. What are the prerequisite for installing Eclipse?
Eclipse requires an installed Java runtime. You may either install a Java Runtime Environment (JRE), or a Java Development Kit (JDK), depending on what you want to do with Eclipse. If you intend to use Eclipse for Java development, then you should install a JDK. If you aren’t planning to use Eclipse for Java development and want to save some disk space, install a JRE.
22. What is a workspace?
The workspace is the physical location (file path) you are working in. Your projects, source files, images and other artifacts can be stored and saved in your workspace. The workspace also contains preferences settings, plugin specific meta data, logs etc
23. What is an Eclipse project?
An Eclipse project contains:
1. source
2. configuration and
3. binary files related to a certain task
Eclipse groups the above into buildable and reusable units. An Eclipse project can have natures assigned to it which describe the purpose of this project. For example the Java nature defines a project as Java project. Projects can have multiple natures combined to model different technical aspects.
Natures for a project are defined via the .project file in the project directory.
24. What are visible parts or user interface components of an Eclipse Window?
The major visible parts of an eclipse window are:
1. Views
2. Editors (all appear in one editor area)
3. Menu Bar
4. Toolbar
25. What are views?
A view is typically used to work on a set of data, which might be a hierarchical structure. If data is changed via the view, the change is directly applied to the underlying data structure. A view sometimes allows us to open an editor for a selected set of data.
E.g.:Package Explorer is a view, which allows you to browse the files of Eclipse projects.
26. What are Editors?
Editors are typically used to modify a single data element, e.g. a file or a data object.
27. What is difference between Views and Editors?
Editors are used to edit the project data and Views are used to view the project metadata. For example the package explorer shows the java files in the project and the java editor is used to edit a java file.
28. What is a Perspective?
An eclipse perspective is the name given to an initial collection and arrangement of views and an editor area. The default perspective is called java.
29. What is Refactoring and how is Refactoring in eclipse done?
Refactoring is the process of restructuring the code without changing its behavior. For example renaming a Java class or method is a refactoring activity.
Eclipse supports several refactoring activities, for example renaming or moving. E.g.:To use the Rename refactoring, you can right-click on your class (in the editor or Package Explorer) and select Refactor ? Rename to rename your class. Eclipse will make sure that all calls in your Workspace to your class or method are renamed.
30. Where do you set the memory heap size in Eclipse?
Eclipse installation contains a file called eclipse.ini which allows you to configure the memory parameters for the Java virtual machine which runs the Eclipse IDE. For example the -Xmx parameter can be used to define how large the Java heap size can get. -Xms defines the initial heap size of the Java virtual machine
31. Why should we close a project in Eclipse?
An eclipse workspace can contain any number of projects. A project can be either in the open state or closed state. Open projects:
Consume memory
Take up build time especially when the Clean All Projects (Project > Clean all projects) with the Start a build immediately option is used.
A closed project is visible in the Package Explorer view but its contents cannot be edited using the Eclipse user interface.
32. What are extensions and extension points in eclipse?
Loose coupling in Eclipse is achieved partially through the mechanism of extensions and extension points. A general example for this would be: electrical outlets. The outlet, or socket, is the extension point; the plug, or light bulb that connects to it, is the extension. As with electric outlets, extension points come in a wide variety of shapes and sizes, and only the extensions that are designed for that particular extension point will fit.
When a plugin wants to allow other plugins to extend or customize portions of its functionality, it will declare an extension point. The extension point declares typically a combination of XML markup and Java interfaces. The extensions must conform to this. plugins that want to connect to that extension point must implement that contract in their extension. Extension points are define in the plugin.xml
33. What are eclipse plugins?
A software component in Eclipse is called a plugin. The Eclipse IDE allows the developer to extend the IDE functionality via plugins. For example you can create new menu entries and associated actions via plugins.
34. When does a plugin get started?
Each plugin can be viewed as having a declarative section and a code section. The declarative part is contained in the plugin. xml file.
This file is loaded into a registry when the platform starts up and so is always available, regardless of whether a plugin has started. The code section is activated only when their functionality has been explicitly invoked by the user.
35. Does Eclipse save any report or log file?
Yes, whenever it encounters a problem that does not warrant launching a dialog, Eclipse saves a report in the workspace log file. You can find the log file at :workspace/.metadata/.log.
36. What is “Cannot find a VM” start up problem in Eclipse?
Eclipse requires a JVM to run and does not include one in the download. You may have a VM, but Eclipse cannot find it. To avoid possible conflicts, always specify the VM you are using with the -vm command-line argument.
37. What is “Disk full or out of memory” problem?
Eclipse, especially 2.1 and earlier, does not always gracefully report disk-full errors or out-of-memory errors. Make sure that you have adequate disk space and that you are giving the Java VM enough heap space.
38. How to install new plugins?
Best approach is to use the Eclipse Update Manager. The Update Manager allows you to find new plugins on your machine, your network, or the Internet, compare new plugins to your configuration, and install only those that are compatible with your current configuration. The Update Manager is invoked by Help > Software Updates.
39. How to remove a plugin?
plugins from Eclipse should never be removed. Instead they can be disabled by using the Eclipse Update Manager.
Run Help > About Eclipse >Installation Details, select the software you no longer want and click Uninstall.
40. Where does System.out and System.err output logged?
Eclipse is simply a Java program and when launched from a shell or command line, the output will generally go back to that shell. In Windows, the output will disappear completely if Eclipse is launched using the javaw.exe VM. As output is lost, it’s better to log error information by using the platform logging facility.
41. What is autobuilding of Java code in Eclipse?
Eclipse provides autobuild facilities. If a resource changes, the platform checks the project description file ( .project in your projects). When the file contains a reference to the Java builder, the builder gets notified of the change and will then compile the Java source file and it’s dependents.
42. What is a Quick Fix?
As you type characters into an eclipse editor it analyzes the document content for potential error and warnings. The java editor uses the java syntax to detect errors in the code. When it finds error it highlights errors using red wavy lines under the offending code and a marker in the left editor margin.
The marker can be selected with the left mouse to activate the Quick Fix pop-up dialog. It provides a list of possible corrections for the error.
43. What is hot code replace?
Hot code enables you to change code while debugging. It simply means that you may change the code in debug mode and see its affect.
44. Why does the Eclipse compiler create a different serialVersionUID from javac?
Serializable classes compiled with Eclipse are not compatible with the same classes compiled using javac. When classes compiled in Eclipse are written to an object stream, you may not be able to read them back in a program that was compiled elsewhere.
Many people blame this on the Eclipse compiler, assuming that it is somehow not conforming properly to spec. In fact, this can be a problem between any two compilers or even two versions of a compiler provided by the same vendor.
If you need object serialization, the only way to be safe is to explicitly define the serialVersionUID in your code:
class MyClass implements Serializable {
public static final long serialVersionUID = 1;
}
whenever your class changes say it is incompatible with previously serialized versions, simply increment this number.
45. What is the difference between a perspective and a workbench page?
The workbench page is the main body of a workbench window: between the toolbar and the status line, the area that contains views and editors.The workbench page can have one or more perspectives associated with it that define the layout of the views and editors in the page.