Резюме
• Систему программного обеспечения можно представить в виде графа, который часто показывает (не)желаемые свойства системы.
• Java не поддерживает графы на уровне JAR-файлов. Это приводит к различным проблемам, среди которых можно выделить JAR-ад, ручную проверку безопасности и неудобства сопровождения.
• Система модулей платформы Java существует для того, чтобы обеспечить понимание графов Java, что вносит в язык модульность на уровне артефактов. Самые важные ее цели — надежные настройка и инкапсуляция, так же как улучшение безопасности, удобства сопровождения и производительности.
• Все это достижимо благодаря вводу модулей — грубо говоря, JAR-файлов с дополнительным дескриптором. Компилятор и среда выполнения интерпретируют описанную информацию, чтобы построить граф зависимостей и предоставить обещанные преимущества.