JDK (Java Development Kit) - Don't confuse with JRE (runtime environment) - No javac - Ver 15 or above is a must. - 'Major/minor error' is due to version incompatibility printf - Original version from FORTRAN - Easiest for precise printing MinGW - Provides g++ compiler (and many others) for use on PC Processes - Heavyweight processes have their own identity in the system. Elements include: * Process id (pid) * Data space * Parent pid * Many other facets - Lightweight processes run within a heavyweight process * Threads > All share the data space. > Program main is in main thread. > Threads can have names. > Event dispatching thread is used by listeners to send events to the appropriate listening object > Java's garbage collector runs as a tread in the java run-time environment, i.e. java.exe (or just java) * Java commonly uses threads, not hvywt processes for concurrent programming. Threads (more) - Thread code is in a run() method. * Activated by calling the thread's start() method * One thread can wait for another using join() * A thread that might hog CPU time might best call yield() periodically. * Threads terminate when done. * Callers aren't suspended by starting a thread unless they use join() to wait for its completion. JDBC (Java Database Connectivity) - Import the jdbc classes using import statements - load the jdbc driver - Connect to the database (getConnection()) - Submit queries, inserts, updates and process responses (often via a statement) * Updates are used to add to, modify, or remove from a table in the database * Queries are used to look things up in the database - Must commit (make permanent) any changes. This can be circumvented by using auto-commit. Disconnect from the database