Misc
Case sensitivity
- Java is case sensitive.
Version history
Java EE Java SE EJB Servlets JSP JSTL JSF EL JTA JPA ------- ------- --- -------- --- ---- --- --- --- --- 6 6 3.1 3.0 2.2 1.2 2.0 2.2 1.1 2.0 5 5 3.0 2.5 2.1 1.2 1.2 1.1 1.1 1.0 1.4 1.3 2.1 2.4 2.0 1.1 n/a 1.0 1.0 n/a 1.3 1.2 2.0 2.3 1.2 1.0 n/a n/a 1.0 n/a 1.2 1.2 1.1 2.2 1.1 n/a n/a n/a 1.0 n/a
Java Platform, Standard Edition
- Java SE 6 ... (Java 6 ...)
- J2SE 5 (Java 5) [originally: J2SE 1.5]
- J2SE 1.2 - 1.4 (Java 2)
- JDK 1.0 - 1.1 (Java)
Java Platform, Enterprise Edition
- Java EE 5 ... (Java 5 ...)
- J2EE 1.2 - 1.4 (Java 2)
Type conversions
Safe, implicit conversions
- byte -> short -> int -> long -> float -> double
- char -> int
Installation
- Java SE - Java Platform, Standard Edition
- Ant - Java-based build tool
- Maven - Similar to Ant (sometimes used in combination with Ant)
- JBoss - Java EE server
- Eclipse - IDE for Java, ...
- mod_jk - connects Apache to Tomcat using AJP
- MySQL Connector/J - JDBC driver for MySQL
Sample linux installation
Directories
- /usr/local/java/<jdk-version>
- /usr/local/eclipse
- /usr/local/tomcat
- /usr/local/tomcat/common/lib (MySQL Connector/J)
- /usr/local/geronimo
Configuration files
- /usr/local/tomcat/conf/server.xml (Tomcat)
- /usr/local/tomcat/conf/web.xml (Tomcat)
- /usr/local/geronimo/var/config/config.xml (Geronimo)
- /usr/local/apache/conf/workers.properties (mod_jk)
GUI Toolkits
- Widget toolkits
AWT
- Abstract Windows Toolkit
- AWT components are platform independent
- AWT components are wrappers for platform-specific components
- The appearance of GUI components varies based on the platform
Swing
- Part of the Java Foundation Classes (JFC)
- The appearance of GUI components is platform independent
- Implented entirely in Java
- Does not rely on platform-specific components
SWT
- Standard Widget Toolkit
- Third-generation widget toolkit for Java (with AWT and Swing being the first- and second-generation toolkits, respectively)
- A richer, more-sophisticated version of AWT
- Accesses platform-specific libraries through JNI
Terms
Byte-code
- Compiled java code in a machine independent form. To be run in a Java Virtual Machine (JVM)
Java Virtual Machine
- An interpreter that converts Java byte-code to native machine code at run-time, one instruction at a time
JIT compiler
- Just-In-Time compiler
- Translates byte-code into native machine code at run-time, as the program is loaded
Java class libraries
- Libraries that can be called at run-time
JRE
- Java Runtime Environment
- JVM and class libraries
Java SE
- Java Platform, Standard Edition
- Previously called J2SE
- Set of Java APIs for Java applications
Java EE
- Java Platform, Enterprise Edition
- Previously called J2EE
- Set of Java APIs for enterprise Java applications
- Includes an engine for servlets and JavaServer Pages (JSP)
- Includes containers for Enterprise JavaBeans (EJB)
Java ME
- Java Platform, Micro Edition
- Previously called J2ME
- Set of Java APIs for emedded Java programs
Java SDK
- Java Software Development Kit
- Previously called J2SDK
- Development tools
JDK
- Java Development Kit
- Sun's Java SDK
JAR
- Java Archive file
- Zip file used to distribute a set of Java classes
WAR
- Web application Archive
- Zip file used to distribute a set of Java classes
- Contains JSPs, HTML and related files, servlets, and tag libraries.
- WEB-INF/web.xml // Used for routing URL requests to servlets
Resources URL:
notes/java/resources
Sources URL:
notes/java/sources