Object Pool Studio is a Java project that demonstrates the Object Pool pattern in two ways:
- A core reusable pool engine (
ObjectPool_main) with safer limits and collector guardrails. - A modern Swing/AWT desktop app (
ObjectPoolDashboard) for interactive management, profiling, persistence, and benchmarking.
It is designed for learning, experimentation, and as a practical starter for production-style pool tooling.
- Modern desktop dashboard with real-time active/available views
- Profiles and presets (save/load/delete)
- Settings export/import (
.properties) - Benchmark mode (pooled vs no-pool comparison)
- Accessibility controls (light/dark theme, font scaling, high contrast)
- Structured audit/error logs and session/utilization history
- JUnit 5 regression suite + GitHub Actions CI
- Java 11+ (CI runs on Java 21)
bash/zshshell formvnwscript usage
Compile all Java sources:
javac -d bin src/*.javaRun the desktop app:
java -cp bin ObjectPoolDashboardRun the console demos:
java -cp bin ObjectPool
java -cp bin ObjectPool_mainRun tests (recommended via wrapper):
./mvnw testAlternative if Maven is already installed:
mvn test- Create/reset pools with validated constraints
- Borrow/release objects from the UI
- Search/filter object lists
- Inspect per-object detail panel
- Track utilization trend over time
- Save and load named configurations
- Export and import configuration files
- Record audit events and errors to disk
src/ObjectPool.java: simple pool demosrc/ObjectPool_main.java: advanced pool implementationsrc/ObjectPoolDashboard.java: Swing/AWT desktop interfacesrc/DashboardConfig.java: defaults, validation, sanitizationsrc/PoolProfileStore.java: profile persistence and config import/exportsrc/DashboardPersistence.java: audit/error/session/utilization persistencesrc/BenchmarkService.java: benchmark enginesrc/DashboardUiSupport.java: filter/detail/trend helperssrc/test/java: JUnit test suite.github/workflows/ci.yml: CI test workflow
Generated at runtime (git-ignored):
data/profiles/data/logs/data/history/
GitHub Actions runs tests on every push and pull request:
.github/workflows/ci.yml
MIT License (see LICENSE.MD).