-cp or -classpath Sets the class path, used to search for class files. The class path is a list of directories, JAR files, or expressions of the form directory/'*' (Unix) or directory\* (Windows). The latter refers to all JAR files in the given directory. Class path items are separated by : (Unix) or ; (Windows). If no class path is specified, it is set to the current directory. If a class path is specified, the current directory is not automatically included-add a . item if you want to include it

-sourcepath Sets the path used to search for source files. If source and class files are present for a given file, the source is compiled if it is newer. If no source path is specified, it is set to the current directory

-d Sets the path used to place the class files. Use this option to separate .java and .class files

-source Sets the source level. Valid values are 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 5, 6, 7, 8

-deprecation Gives detail information about the use of deprecated features

-Xlint:unchecked Gives detail information about unchecked type conversion warnings

-cp or -classpath Sets the class path, used to search for class files. See the previous table for details. Note that javac can succeed when java fails if the current directory is on the source path but not the class path.

-ea or -enableassertions Enable assertions. By default, assertions are disabled.

-Dproperty=value Sets a system property that can be retrieved by System. getProperty(String)

-jar Runs a program contained in a JAR file whose manifest has a Main-Class entry. When this option is used, the class path is ignored.

-verbose Shows the classes that are loaded. This option may be useful to debug class loading problems.