ReviewOverview: DataOverview: ArchitectureProcessCollections: Knowledge ICollections: Knowledge IICollections: SkillsJDBC: Knowledge IJDBC: Knowledge IIJDBC: Knowledge IIIJDBC: SkillsSwing: Knowledge ISwing: Knowledge IISwing: Knowledge IIISwing: SkillsThreads: Knowledge IThreads: Knowledge IIThreads: Knowledge IIIThreads: SkillsSockets: Knowledge ISockets: Knowledge IISocket: SkillsRMI: Knowledge IRMI: Knowledge IIRMI: SkillsXML: KnowledgeXML: SkillsFinal ExamReviewIS 3136.5.2003Overview: DataInside the applicationCollectionsOutside the applicationDatabaseXMLGetting/displayingSwingCommunicating over the networkSocketsRMIOverview: ArchitectureInside the applicationCollectionsInside the enterpriseDatabaseInterface to the userSwingSystems integrationSocketsRMIProcess5 topicsFor eacha) what (I think) you should knowb) what (I think) you should be able to doIf there are no questionsassume I’m right about (a) and (b)next topicCollections: Knowledge IFrameworkCollectionListSetMapIteratorInterface / Implementation distinctionImplementationsArrayListHashSet, HashMapTreeSet, TreeMapCollections: Knowledge IISortingComparableComparatorMap collectionskeySet()values()entrySet()Encapsulationstrategy for making task-specific collection objectsCollections: SkillsWrite iteration loops through collections using an Iteratorfor stylewhile styleWrite a Comparator classImplement the Comparable interfaceWrite a class that encapsulates a CollectionJDBC: Knowledge IFrameworkConnectionStatementResultSetPreparedStatementFactory patternPrepared statementsParameterized SQLsetXXX to set parameter valuesJDBC: Knowledge IIUpdatable ResultSetHow to createTo modify dataupdateXXXupdateRowTo insert datamoveToInsertRowupdateXXXinsertRowJDBC: Knowledge IIITransactionsThe purpose of transactionsAutoCommitcommitrollbackJDBC: SkillsWrite code to execute an update querydoesn’t return result setWrite code to execute an ordinary queryWrite code to iterate through a ResultSetWrite code to modify database using a updatable ResultSetWrite code to query database using a PreparedStatementWrite code to update database using transactionsSwing: Knowledge IComponentsJFrameJDialogJPanelJScrollPaneJTableContainmenthierarchy of componentsSwing: Knowledge IILayout ManagementFlowLayoutBorderLayoutBoxLayoutGridLayoutModel-view-controller patternTableModelSwing: Knowledge IIIEvent handlinginternals: event handling threadpublish / subscribe patternListener interfacesActionListenerMouseListenerAdapter classesMouseAdapterAnonymous classexternal referenceSwing: SkillsFrom interface sketchidentify componentscreate containment hierarchyselect layout management for each intermediate componentWrite an event handler using anonymous classGiven a data structurewrite a TableModel to display itThreads: Knowledge IThread classrun methodLifecycleNewRunnableRunningNon-runnableDeadRunnable interfaceThreads: Knowledge IIResource conflictwhy this happenssychronized methodsThread communicationwhy this is a problemwait () / notify ()Stopping threadsinterrupttermination variableclose file or socketThreads: Knowledge IIITimersjava.util.TimerRunnable object scheduled on timer threadjavax.swing.TimerActionListener handled on event handling threadSwingnon-thread-safe nature of Swing componentsneed for invokeLaterThreads: SkillsWrite code for thread terminationWrite a thread class and code that invokes itWrite a Swing timer for a periodic UI taskSockets: Knowledge IClient/server applicationsProtocolsystem of interacting messagesSockettwo-way data streamJava socketsSocketServerSocketSockets: Knowledge IIServerSocketaccept()accept returns SocketSocketcreate = connectMulti-threaded serverWhySocket: SkillsWrite run loop for multi-threaded serverWrite protocol handling codeRMI: Knowledge IFrameworkRemote interfaceRemote objectServer programClient programRMI RegistrySerializationwhy it is necessaryhow to achieveRMI: Knowledge IIStubRMI CompilationActivationalternative to server programRMI: SkillsMake a class SerializableWrite a remote objectWrite a server programWrite an RMI clientXML: KnowledgeXML standardlanguage definitionsyntax conventionsbenefitsXML APIs in JavaDOM representationNode, Element, Text, and NodeListSAX eventsstart/endDocument, start/endElement, charactersXML: SkillsWrite code to load a XML document as DOMWrite code to traverse DOM representation to specific elementWrite code to process SAX eventsFinal ExamWednesday, 6/11, 11:45-2:00
View Full Document