Skip to main content

java command line tools (java, javac, jar)

javac used to compile source files (*.java)
javac [-options] files
java used to run a compiled code (*.class)
java [-options] class [args...]
jar used to archive files into JAR (*.jar)
jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files
In practise:
Source for Hello.java
package com.blogspot.programmerutilities;

public class Hello {

 public static void main (String[] args){
  System.out.println("Hello World!");
 }
}
Location of the file:
\src\com\blogspot\programmerutilities\Hello.java
Directory structure:
-src
   -com
      -blogspot
         -programmerutilities
            -Hello.java
-build
Compile source file using javac (-d option points to a directory where compiled files will be placed)
javac -d build \src\com\blogspot\programmerutilities\Hello.java
After compilation a Hello.class file will be placed in \build directory (and subdirectories accordingly to the package name).
-src
   -com
      -blogspot
         -programmerutilities
            -Hello.java
-build
   -com
      -blogspot
         -programmerutilities
            -Hello.class
To start this application go to \build (the directory directly above the outer directory of the package) and run java tool with a full name of the class (package and class name without an extension)
cd build
java com.blogspot.programmerutilities.Hello
// Prints "Hello World!"
To create java archive (JAR) run jar tool with a name of new created archive (hello.jar) and the most outer directory of the package name (com)
jar -cf hello.jar com
After that in \build directory the hello.jar file will be placed
-src
   -com
      -blogspot
         -programmerutilities
            -Hello.java
-build
   -com
      -blogspot
         -programmerutilities
            -Hello.class
   -hello.jar
To check the content of the jar run jar tool with -tf options (table of content and file name)
jar -tf hello.jar
To start an application using a jar file run java tool with -cp (or -classpath) option with a path to a jar and full name of a class
java -cp /build/hello.jar com.blogspot.programmerutilities.Hello
// Prints "Hello World!"

Comments

Popular posts from this blog

ShutDownHook - the last breath of an application

ShutDownHook allows you to perform operations (e.g. close opened resources, remove temporary files and so on) just before virtual machine shuts down. A documentation says that JVM may shut down in two cases: program finishes execution normally when all threads finishes their work (except deamon-threads like garbage collector) virtual machine receives a termination signal (for example after sending kill signal under unix or ctrl + C key combination under windows) Below is an example which will start endless loop which do nothing. But an important thing in this code is a part where shutDownHook is added. When an termination signal will be send to JVM a code from a run() method will be executed just before JVM shuts down. public class ShutDownHook { public static void main(String[] args) { Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { System.out.println("Close opened resources"); } }); while (true) { // do nothing } } }

scala Hello World

The code below prints Hello World! Hello.scala file (a name of file doesn't matter) object HelloWorld { def main(args: Array[String]) { println("Hello World!") } } Key word object is used to create a singleton object. To run this script use scala interpretor (check scala command line tools ).

AIX and SOLARIS maintenance commands

AIX and SOLARIS uname unix name, check which unix is used uname // OS name uname -r // OS version uname -a // OS name, host, version df info about disk space df -v // percent of used blocks df -vk // 1024-byte blocks df -vm // MB blocks df -gm // GB blocks AIX topas statistics about the activity on the local system // all statistics topas // -w WLM - WorkLoad Management topas -w SOLARIS prstat identify which processes are consuming the CPU // -s cpu flag sorts by CPU usage (default), -n 5 flag restricts top five processes prstat -s cpu -n 5 // -a summary of a consumption of resources by an user prstat -s cpu -a prstat -s cpu -a -n 5 ps process status ps -eo pid,pmem,vsz,rss,comm | sort -rnk2 | head