JDX is a lightweight ORM with a small runtime memory footprint.
JDX uses reflection for object instantiations and setting/getting attribute values. Although reflection does cause some extra overhead compared to hard-coded accessors, the additional cost is not that much because 1) JDX caches most of the reflective metadata for fast reuse, and 2) most modern virtual machines have very efficient handling of reflection calls. So the resulting simplification and modularization of the code because of using the JDX ORM is well worth the nominal overhead of reflection. Besides, JDX employs following optimization techniques:
- Internal connection pooling
- Using prepared statements
- Minimizing database trips