Monday, October 13, 2014

How do I know with which version of Java eclipse got launched ?

Eclipse would have launched with some JRE support, to understand and know which version of java is used and from where it picked up. Follow these steps.

Go to Help->About Eclipse -> Installation Details -> Configuration

Look for below parameters:
java.version=1.7.0_55
java.home=C:\Program Files\Java\jre7
eclipse.vm=C:\Program Files\Java\jre7\bin\javaw.exe

Where can I find configured default Java/JRE in my Mac OS X system

Go to below location to find the installed JDK versions in your mac machine.

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/

eclipse.ini -vm option

-vm argument is useful for passing virtual machine to the eclipse.ini. Mostly this will be used where your system configured Java is different and you wanted to pass different version of java version to the eclipse.

Please follow below link from eclipse
https://wiki.eclipse.org/Eclipse.ini

Example: In windows
-vm
C:\Java\JDK\1.6\bin\javaw.exe

Example: In Mac OS X
 -vm
/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java

This argument should always before the -vmargs arguments and -vm and parameter value should specified in different lines.

In Mac OS X, some times this is not working. Even though we have specified in the eclipse.ini file, eclipse launcher is always taking the different jvm.

To resolve this issue, please follow the proposed solution in the below link
http://stackoverflow.com/questions/10352715/how-do-i-run-eclipse-using-oracles-new-1-7-jdk-for-the-mac

Copying files from Windows to Mac OS

For my reference

Download this software in Windows, this will allow to get the access to Mac os and you can easily transfer files from windows to mac using this.

Wednesday, October 8, 2014

Maximum heap size allocated on 32 bit JVM's

http://www.oracle.com/technetwork/java/hotspotfaq-138619.html#gc_heap_32bit

The maximum theoretical heap limit for the 32-bit JVM is 4G. Due to various additional constraints such as available swap, kernel address space usage, memory fragmentation, and VM overhead, in practice the limit can be much lower. On most modern 32-bit Windows systems the maximum heap size will range from 1.4G to 1.6G. On 32-bit Solaris kernels the address space is limited to 2G. On 64-bit operating systems running the 32-bit VM, the max heap size can be higher, approaching 4G on many Solaris systems.

In nutshell:
Theoretically : 4GB
Practically:  1.4 to 1.6GB


Tuesday, October 7, 2014

Where can I find eclipse preferences stored files ?

Eclipse stores all the preferences in the preference configuration files. This you can find in the below eclipse workspace location.

<eclipseworkspace>\.metadata\.plugins\org.eclipse.core.runtime\.settings\

Say for example, jre configuration will be stored in the "org.eclipse.jdt.launching.prefs" file.

Friday, September 19, 2014

How to contribute a new menu to the workbench ?

Eclipse exposed a mechansim to contribute a new menu through "org.eclipse.ui.menus" extension and locationURI.
Requried extension: org.eclipse.ui.menus
LocationURI:  menu:org.eclipse.ui.main.menu

Example:
Below example will contribute a new "Cloud" menu to the eclipse workbench, and this will contain a "Upload" menu item.

 <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            allPopups="false"
            locationURI="menu:org.eclipse.ui.main.menu">
         <menu
               id="com.kk.menus.cloud"
               label="Cloud">
             <command
                  commandId="com.kk.command.upload"
                  style="push">
            </command>
          </menu>
      </menuContribution>
</extension>

Command contribution to upload action:

<extension
         point="org.eclipse.ui.commands">
  <command
            id="com.kk.command.upload"
            name="Upload">
      </command>
</extension>

Handler contribution to upload action:

  <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="com.kk.menus.handlers.UploadHandler"
            commandId="com.kk.command.upload">
      </handler>
   </extension>