Если Вы думаете, что собираетесь быть связанным IO/memory, я не думаю, деля, будет полезным. Как обычно, сравнительное тестирование сначала поможет Вам выяснить лучшее направление. Если у Вас нет запасных серверов с 64 ГБ памяти перебрасывающимися, можно всегда просить у поставщика 'демонстрационную единицу'.
я склонился бы к sharding, если Вы не ожидаете 1 создание отчетов агрегата запроса. Я предполагаю, что Вы были бы черепок целая база данных и не только Ваша большая таблица: лучше держать все объекты вместе. Ну, если Ваша модель разделяет приятно, так или иначе.
Рекомендуемое чтение: спецификация JVM .
Вы также можете поиграть с BCEL - существуют другие библиотеки для управления байт-кодом, но это, наверное, самый известный.
Я узнал, прочитав учебник по ASM и возясь с самой библиотекой.
IMHO, ASM лучше, чем BECL.
BCEL уже используется успешно в нескольких проектах, таких как компиляторы, оптимизаторы, обсфускаторы, генераторы кода и инструменты анализа. К сожалению, есть не было большого развития за последние несколько лет . Не стесняйся помочь или вы можете захотеть ознакомьтесь с проектом ASM на objectweb. - http://jakarta.apache.org/bcel/
Для понимания архитектуры Java / JVM: прочтите Википедию, спецификации и исходный код.
Чтобы понять, как объектно-ориентированный код выполняется на низком уровне: попробуйте эмулировать такие функции, как наследование / полиморфизм / инкапсуляция в языке нижнего уровня, таком как C.
В C вы можете достичь вышеуказанного, например, путем комбинации указателей на функции и вложенных структур.
Apache BCEL позволит вам анализировать и обрабатывать файлы .class из байт-кода.
javap позволит вам дизассемблировать существующие файлы .class. Это особенно полезно для создания быстрых тестовых классов, чтобы понять, что на самом деле происходит под прикрытием.
Программирование для виртуальной машины Java - хорошая книга по этой теме. (Раскрытие: я работаю с автором.)