Electric is written in the Java programming language and is distributed as a single ".jar" file, typically called "electric-version.jar" where version is 8.08, 8.09, etc. There are two variations on the ".jar" file: with or without source code (the version without source code has the word "Binary" in its name). Either of these files can run Electric, but the one with source code is larger because it also has all of the Java code.

Electric requires Java version 1.5 or later from Sun Microsystems. It can also run with Apache Harmony. However, it does not run properly on some open-source implementations of Java, including the version shipped on Fedora Core systems. You will have to reinstall Java from Sun or Apache in such cases.

Running Electric varies with the different platforms. Most systems also allow you to double-click on the .jar file. If double-clicking doesn't work, try running it from the command-line by typing either:

`java -jar electric.jar`
or:
`java -classpath electric.jar com.sun.electric.Launcher`

There are a number of options that can be given at the end of the command line:

- -mdi force a multiple document interface style (where Electric is one big window with smaller edit windows in it).
- -sdi force a single document interface style (where each Electric window is separate). Note that the MDI/SDI settings can also be made from the Display Control Preferences (see Section 4-3).
- -s script run the script file through the Bean shell.
- -batch run in batch mode (no windows or other user interface are shown).
- -version provides full version information including build date.
- -v provides brief version information.
- -NOMINMEM ignore minimum memory requirements and start JVM.
- -help prints a list of available command options.

#### Memory Control

One problem with Java is that the Java Virtual Machine has a memory limit. This limit prevents programs from growing too large. However, it prevents large circuits from being edited.

If Electric runs out of memory, you can request more. To do this, use General Preferences (in menu File / Preferences..., "General" section, "General" tab). At the bottom of the dialog are two memory limit fields, for heap space and permanent space. Changes to these values take effect when you next run Electric.

The heap space limit is the most important because increasing it will offer much more circuitry capacity. Note that 32-bit JVMs can only grow so far. On 32-bit Windows systems you should not set it above 1500 (1.5 Gigabytes). On 32-bit Linux or Macintosh system, you should not set it above 3600 (3.6 Gigabytes).

Permanent space is an additional section of memory that can be insufficiently small. For very large chips, a value of 200 or larger may enhance performance.