Homepage › Forums › Articles › Operating Systems › Linux › Java and Linux
This topic was published by DevynCJohnson and viewed 1615 times since "". The last page revision was "".
- Topics - 437
Java is a popular programming language that runs on numerous computer systems. Linux (like any system) supports a variety of Java-based technology.
Java is a low-level programming language that can run on any system that has a Java virtual machine (JVM). Java files typically end in "*.jar", "*.class", and "*.java". A *.jar file is a single archive file that contains Java bytecode files and many other files needed by the program (such as images).
FUN FACT: The name of the Java mascot is "Duke".
Scala (http://www.scala-lang.org/) is a programming language that can be compiled to Java bytecode and then run in a JVM.
GNU Classpath is a GNU project (held by the Free Software Foundation) that is trying to create an open-source Java class library.
OpenJDK (Open Java Development Kit) is a Java Platform that uses Java Standard Edition (Java SE). This platform includes a Java virtual machine (used to execute Java), the language specification, and the Java Class Library (http://openjdk.java.net/).
NOTE: "SE" stands for "Standard Edition", "ME" stands for "Micro Edition", "EE" stands for "Enterprise Edition", "JDK" stands for "Java Development Kit", "JRE" stands for "Java Runtime Environment", and "JVM" stands for "Java Virtual Machine".
IcedTea (http://icedtea.classpath.org/) is a web-browser plugin for integrating OpenJDK with the browser. IcedTea is equivalent to Java Web Start (JavaWS) which also runs Java applications from within the browser.
HotSpot (http://openjdk.java.net/groups/hotspot/) is a Java virtual machine that is designed for better performance. This software also supports just-in-time compiling. OpenJDK uses HotSpot as the JVM.
JamVM (http://jamvm.sourceforge.net/) is another Java Virtual Machine. This one is lightweight, cross-platform, and open-source.
"javac" (http://gcc.gnu.org/java/) is the Java compiler made by Oracle. GCJ (GNU Compiler for Java) is an open-source alternative to javac. GIJ (GNU Interpreter for Java) is an open-source Java bytecode interpreter. A Java compiler changes the Java source code to bytecode which is read by a JVM or a bytecode interpreter.
Swing is a widget toolkit for Java. This means Swing is used to create GUIs for Java applications. However, Swing is being replaced with JavaFX. An alternative to Swing and JavaFX includes the Standard Widget Toolkit (SWT) which is part of the Eclipse IDE. Before these three widget toolkits were available, there was the Abstract Window Toolkit (AWT) which was part of JDK 1.0. Java applications that run in a web-browser may use the Google Web Toolkit (GWT).
The Java Native Interface (JNI) provides a way for the system's native software (such as libraries) to access Java software. The JNI also provides a way to create an interface between Java code and C/C++.
IKVM.NET (http://www.ikvm.net/) is a form of Java for Mono and .NET. This software package includes a Java virtual machine (JVM), Java classes (in .NET form), Java bytecode to .NET ILs converter, and more. IKVM.NET is not the same as J# (pronounced "Jay Sharp"). J# is a programming language for developers that know Java or Visual J++ that wish to use the .NET framework. Visual J++ is Microsoft's form of Java.
Eclipse (http://www.eclipse.org/) is a programming IDE that is commonly used for Java development. An alternative to Eclipse is NetBeans (http://netbeans.org/).
- Working of Java VM and its Architecture - http://www.guru99.com/java-virtual-machine-jvm.html
- Learn Java - http://learnxinyminutes.com/docs/java/
- Learn Scala - http://learnxinyminutes.com/docs/scala/
- Standard Widget Toolkit (SWT) - http://www.eclipse.org/swt/
- GWT - http://www.gwtproject.org/