From François Pinard's notes

Java

Contents

1   Reminder

2   Summary

Java originated from Sun. It is evolved through JCP (Java Community Process) and each JSR (Java Specification Request).

The JRE (Java Runtime Environment) is provided through a JVM (Java Virtual Machine), sometimes supplemented with JNI (Java Native Interface).

  • The usual platform is Sun's J2SE (Java Platform, Standard Edition), holding JFC (Java Foundation Classes).
  • There is also J2EE (Java Platform, Enterprise Edition).
  • For mobiles, there is J2ME (Java Platform, Micro Edition), CDC (Connected Device Configuration), CLDC (Connected Limited Device Configuration) and MIDP (Mobile Device Information Profile). Source is released as PhoneME.

Sun offers JDK (Java Development Kit), which is an SDK (Software Development Kit). API documentation uses Javadoc http://en.wikipedia.org/wiki/Javadoc (and a search engine). For testing, there are JUnit frameworks, 3 and 4. For debugging, JPDA (Java Platform Debugger Architecture) is made up of JDI (Java Debugger Interface), JDWP (Java Debugger Wire Protocol) and JVMTI (Java Virtual Machine Tools Interface). Classes obeying the JavaBean convention can be handled in special tools.

For XML (Extensible Markup Language), JAXP (Java API for XML Processing) gives access to DOM (Document Object Model), SAX (Simple API for XML) and XSLT (XML Stylesheet Language for Transformations). (Also: XStream). JSP (JavaServer Pages) is the dynamic HTML side — there is also JSF (JavaServer Faces) in the EE world.

For graphics, Sun's AWT (Abstract Widget Toolkit) may be completed with Swing and Java2D. An alternative is IBM's SWT (Standard Widget Toolkit), to be completed with Eclipse's Jface.

Cooperation may be handled through RMI (Remote Method Invocation) sitting on JRMP (Java Remote Method Protocol) when in JVM context, and RMI IIOP (Internet Inter-ORB Protocol) when in non-JVM context, like with OMG (Object Management Group) CORBA (Common Object Request Broker Architecture). Jini is for distributed systems too. At system level, there is JMX (Java Management Extensions). We also have JNDI (Java Naming and Directory Interface) and JDBC (Java Database Connectivity).

3   Old first impressions

Soon after Sun chose to popularize Java, I've been invited in one of those seminars they organised everywhere, and muched liked the language at the time. However, I soon found out that the Java system and libraries were unstable. The proprietary nature of the implementation was such that I could not do much about it, and this, I did not like. So, I moved away and, until relatively recently, I did not have (or maybe did not consider) opportunities for returning to Java. The Java old comments page (in French) holds some older thoughts about Java.


Last modified: 2009-10-16 15:42