Programmazione II 2000/2001
Esercizi di laboratorio
- Figure geometriche.
-
Prefix String Set.
- Classi Java (implementazione mediante
SortedSet
): PSSet.java, SortedSetPSSet.java, SortedSetPSSetTest.java - Classi Java (implementazione mediante
Trie
): PSSet.java, TriePSSet.java, TriePSSetTest.java - Classi Java (classi per il confronto di prestazioni randomizzato): RandomString.java, Tester.java
- Classi Java (implementazione mediante
-
Queued Set.
- Classi Java: Queue.java, DLLNode.java, DLLQueue.java, QueuedSet.java, QueuedSetTest.java
- Applicazione delle code per il crawling breadth-first del web: URLUtils.java, WebSiteVisit.java
-
Thread.
- Lucidi: formato PostScript, PDF. (Nota: i lucidi presentati a lezione contenevano un errore nel diagramma di stato dei thread, nella parte relativa ai meccanismi di rilascio dei lock multipli da parte di thread in attesa; la versione che trovate qui è quella corretta)
- Esempio degli stampatori: Stampatore.java, StampatoreTest1.java, StampatoreTest2.java
- Esempio del contatore: Contatore.java, Incrementatore.java, Decrementatore.java, IncDecTest.java
- Esempio del contatore non negativo: ContatoreNonNegativo.java, IncrementatoreNN.java, DecrementatoreNN.java, IncDecNNTest.java
- Esempio del produttore/consumatore su coda limitata: Queue.java, Consumer.java, Producer.java, BoundedQueue.java, ConsumerProducerTest.java
-
Thread (tecniche avanzate).
- Lucidi sul thread pooling: formato PostScript, PDF
- Classi Java per il thread pooling (LIFO): Task.java, TaskPool.java, Executor.java, SimpleTask.java, SimpleQueueTaskPool.java, TestSimpleQueueTaskPool.java
- Classi Java per il thread pooling con priorità (basate sugli heap): PriorityQueueTaskPool.java, TestPriorityQueueTaskPool.java
- Lucidi sui lock multipli: formato PostScript, PDF
- Classe Java che implementa un R/W lock con strategia Writers Preferred: RWLock.java
-
Swing.
- Prima versione (senza listeners): Model.java, View.java, TestModelView.java, ApplicationFrame1.java
- Seconda versione (con listeners e controllo): ModelWithListeners.java, Control.java, ApplicationFrame2.java
- Terza versione (usa le
Action
): Control2.java, ClearAllAction.java, ClearSelectionAction.java, ArcAction.java, ApplicationFrame3.java - Quarta versione (usa i
JMenu
): ApplicationFrame4.java - Quinta versione (usa le
JToolBar
): ApplicationFrame5.java
Esercitazioni proposte
- Agenda elettronica.
- Shared locks.
- La soluzione proposta da
Gabriele "Sungray" Lana
- In un unico file ReaderWriter.zip
- Documentazione HTML
- Sorgenti delle classi
- La soluzione proposta da
Gabriele "Sungray" Lana