Credo che qui possano risponderti in pochi, sposto in Java, visto che il linguaggio è quello.