Да и нет ... да, если вы скомпилируете какие-либо пароли в распространяемую вами Java-программу, тогда да, это не будет безопасным, но опять же, это было бы ужасной вещью в любом программировании язык ... например, в C ++ вы можете восстановить строки, скомпилированные в программу, используя утилиту strings .
Если есть какая-то сверхсекретная вещь, которую вы делаете, то вам, как правило, не следует распространять JAR, который выполняет эту сверхсекретную вещь (хотя «безопасность по неизвестности», как правило, небезопасна). Несмотря на то, что есть определенные базовые вещи, которые вам необходимо знать о безопасности, и с Java можно покончить с собой, тот факт, что Java может быть декомпилирована, на самом деле не является серьезным недостатком безопасности. Я также должен отметить, что в целом у вас меньше шансов столкнуться с проблемами безопасности в Java, поскольку Java защищает вас от доступа к памяти за пределами допустимого диапазона, переполнения буфера, висячих указателей и других проблем с манипулированием указателями.