CMSC 433final exam topicsTopics (since midterm)• Java Generics– including Set<? extends Foo> and Set<?super Foo>• Threads and concurrency• A note on distributed computing• Sockets• Security• Garbage Collection (but not references)Concurrency• basics (creating threads, etc)• synchronization• atomicity• visbility• wait/notify/notifyAll• deadlockTesting concurency• using the metronome timer– don't need to remember details of API, justbe able to design test casesConcurrency utilities• ConcurrentHashMap– how is this different from a synchronizedhash map?• BlockingQueues• Executors• Futures• Locks and ConditionsA note on distributedcomputing• read itSockets and I/O• Server sockets• IP addresses• ports• Input/Output streams• Object serializationSecurity• Buffer overflows• format strings• Insecure randomness• SQL injection• Cross-site scriptingGarbage Collection• Reachable vs. unreachable data– might be used vs. can’t be used again• Roots• Reference counting• Mark and sweep• Copying GC• generational garbage collection• pause timesEarlier stuff• UML• Design patterns:– Abstract and Static Factory– Bridge– Observer– Iterator– Decorator– Singleton–
View Full Document