Software Architect, Developer, Computer Scientist

  • Edge, Cloud, AI/ML, K8s
  • Distributed computing
  • Real-time transactiona systems
  • Robotics with AI
  • Low-latency computing
  • Large-scale data collection and processing with automation
  • 37 granted patents. 26 patents pending, and growing
Email: eric@ericbruno.com

Building a Zero-GC Database in Java: Adventures in Off-Heap Storage

Eric J. Bruno
NoHeapDB keeps data in process, in the same JVM, but stores it completely outside the Java heap and without relying on JNI. The first version did this with ByteBuffer.allocateDirect(). It uses MemorySegment and Arena from Java's Foreign Function and Memory (FFM) API. A store can live in memory or survive a restart as memory-mapped files. Either way, the GC never sees the stored data.

Curly Braces Column: Writing SOLID Java codey

Eric J. Bruno
Following the Robert C. Martin's five principles of SOLID object-oriented design (OOD)can make you a better Java developer.

Curly Braces Column: The best way to measure Java developer productivity

Eric J. Bruno
How do you measure programmer productivity? Hint: It’s not found by counting the number of lines of code written each day. "Hits of code" may be the answer.

Curly Braces Column: Was Fred Brooks wrong about late software projects?

Eric J. Bruno
Brooks’ Law states: “Adding manpower to a late software project makes it later.” Things are rarely this straightforward. In my opinion, it may have been inaccurate for Brooks to talk about this human-resource paradox as a generalization. If your project is running late, maybe you actually do want to add more developers.