UDPClient |
Creating a UDP Client with using DatagramSocket and DatagramPacket classes, and communication with UDP Server |
UDPServer |
Creating a UDP Server with using DatagramSocket and DatagramPacket classes, and communication with UDP Client |
TCPClient |
Creating TCP Client with Socket class and communicating with TCP Server. |
TCPServer |
Creating TCP Server with Socket and ServerSocket classes and communicating with TCP Client. |
Networking |
Using URI, URL, URLConnection classes and reading data from a website. |
JDBC |
JDBC connection, SQLite CRUD operations, JPMS usage and settings. Transaction construction with Java and SQLite. |
JUnit |
JUnit5 usage. |
ThreadExercises |
Overcoming multithreading problems with the ReentrantLock class. Comparison of ReentrantLock class with synchronized keyword. |
ThreadIssues |
Handling and examining multithreading problems such as deadlock, livelock, thread starvation. Overcoming these problems with synchronization. |
ArrayBlockingQueue |
ArrayBlockingQueue and its advantages on threads. |
ProducerConsumer |
preventing thread problems using with ReentrantLock and ExecutorService in concurrent programming. Working with Thread Pool. |
MessagesProject |
Introduction to synchronization on threads. |
ThreadCounter |
Examining the race condition problem, preparing a counter. |
Threads |
Introduction to thread, Runnable interface. |
DataStreams |
Read/write operations on dat files with Input/Output Streams. Serialization on Java. |
RandomAccessFile |
RandomAccessFile usage. Its advantages and limits. |
ManagingFiles |
File operations with methods such as Files.move(), Files.delete() in the Files class. api to console, api to txt data transfer with InputStream.transferTo() method. |
WritingFiles |
writing which given input with FileWriter, BufferedWriter and PrintWriter as csv file. |
ReadingWithNIO2 |
Reading with NIO2. |
ScannerProject |
Creating different scanners. Using Scanner with Stream API. |
ReadingFiles |
Reading file with FileReader. |
FileWalker |
Implementation of the FileVisitor interface and traversal on files with the Files.walkFileTree() method. |
FileListings |
File Listings with NIO and Stream API. |
FileFilesPath |
File operations with File, Files, and Path classes. |
FileExceptions |
EAFP and LBYL approaches. Introduction to Java IO and Java NIO. |
PatternMatching |
Regular Expressions with Pattern and Matcher classes. Usage and advantages of these classes. |
RegularExpressions |
Introduction to Regular Expressions. |
ResourceBundle |
Internationalization with ResourceBundle. |
LocalizationProject |
A Localization exercises. |
Localization |
Introduction to Localization |
TimeProject |
Usage of LocalDate, LocalTime, Instant and Period classes. |
RollingDice |
Randomization with Random class |
JsonConverterProject |
Create random 1000 students and save they in JSON format as students.json |
StreamingStudents |
Stream API, Introduction to Optional Class. |
Streams |
Introduction to Stream API. |
GameConsole |
Sealed Classes, enum classes containing methods, Java Generic, instance and static initializer blocks examples. |
ConstructorsProject |
Instance and Static initializer blocks. Record (canonical and compact constructor), Enum (constructor, pass parameters) |
SimpleBankStructure |
Examining deep copy and defensive copy. |