Почему Java помечен как "безопасный" язык?

Я думаю, что это общий вопрос, но я проходил вступительные курсы в java (SE/ME), а в материалах исследования говорится, что Java часто используется для "целей безопасности". Однако он не объясняет, что они означают, утверждая, что java обеспечивает хорошую безопасность.

Это хакерское доказательство? Обеспечивает ли он высоко стабильное программное обеспечение? Какие?

Безопасность с моей точки зрения (на данный момент) заключается в том, что она находится в руках разработчика, написавшего код, а не самого языка?

Ответ 1

ИМХО, это очень вводящее в заблуждение утверждение. В Java вы не можете получить доступ к массивам вне диапазона, и у вас нет указателей, и поэтому некоторые ошибки безопасности, такие как повреждение стека или переполнение буфера, невозможно использовать на Java. Но Java не является по своей сути более безопасным, чем любой другой язык; у него меньше шансов совершить ошибки, которые могут вызвать недостатки безопасности. По сути, это уменьшает недостатки безопасности, но полностью вводит в заблуждение, чтобы сказать, что Java безопасен.

Ответ 2

Есть две вещи, которые делают Java "более безопасным", чем другой язык в определенных аспектах:

  • Автоматическая проверка границ массивов и отсутствие ручного управления памятью делают определенные классы ошибок программирования, которые часто вызывают серьезные нарушения безопасности (например, переполнение буфера) невозможным. Большинство других современных языков используют эту функцию, но C и С++, которые были доминирующими (и по-прежнему являются основными) языками разработки приложений на момент появления Java, не делают.
  • Концепция Security Manager позволяет легко запускать приложения Java в "песочнице", что предотвращает их нанесение вреда системе. работают. Это сыграло важную роль в продвижении Java в первые дни, поскольку Applets были представлены как вездесущий, безопасный способ иметь клиентские веб-приложения.

Ответ 4

Поскольку Java компилируется как bytecode, который затем запускается внутри Virtual машине, он не может получить доступ к компьютеру, на котором он работает, как может быть скомпилированная программа.

Ответ 5

Несколько языков, в первую очередь C и С++, имеют класс ошибок, которые могут разрешить выполнение произвольного кода при использовании - такие ошибки довольно распространены, и их легко сделать. Эти ошибки часто представляют собой некоторую форму переполнение буфера.

Java и многие другие языки/платформы устраняют этот класс ошибок (потенциально возможные потенциально возможные ошибки в самой виртуальной машине), которые многие будут требовать, делает его более безопасным.

Ответ 6

Общая причина, по которой Java считается более безопасной, чем, скажем, C, заключается в том, что она управляет управлением памятью для вас. На других языках программисты выделяют свою собственную память и часто не выполняют ее правильно, вызывая переполнение буфера и т.д. Конечно, Java VM все еще может содержать одни и те же типы ошибок, но она хорошо протестирована с течением времени, в отличие от каждой написанной пользователем программы.

Таким образом, в этом отношении он более безопасен. Но вы все равно можете писать небезопасный код, потому что ни один язык не может защитить вас от написания просто ошибочного кода.

Ответ 7

Это маркетинг)

Ответ 8

  • Это основной вопрос, заданный в каком-то интервью, почему у Java есть своя причина этого, поскольку java защищен, потому что внутри jvm присутствует программное обеспечение, чье имя является менеджером безопасности чья ответственность заключается в том, что они обрабатывают все вещи, если что-то происходит неправильно. С его помощью/предотвращением системы

  • Другое дело, что он создает интерфейс между исходным кодом и системой (os), и никакое разрешение пользователя делать что-то не так.

Ответ 9

Java-компилятор преобразует код Java в байтовый код (файл .class), и эти байтовые коды затем запускаются виртуальной машиной Java (JVM). JVM - это интерпретатор, который устанавливается на каждом клиентском компьютере, который обновляется последними обновлениями безопасности через Интернет. Когда эти байтовые коды выполняются, JVM может позаботиться о безопасности. Таким образом, java считается более безопасным, чем другие языки программирования.

Ответ 10

Также общие типы (или генерики) несут поверхностное сходство с шаблонами в С++, как в их синтаксисе, так и в ожидаемых вариантах их использования (например, в классах контейнеров). Но сходство только с глубоким оттенком - дженерики на языке Java практически полностью реализованы в компиляторе, который выполняет проверку типов и вывод типа, а затем генерирует обычные, не общие байт-коды. Этот метод реализации, называемый стиранием (где компилятор использует информацию об общем типе для обеспечения безопасности типа, но затем стирает его до генерации байт-кода), имеет некоторые неожиданные, а иногда и запутывающие последствия. Хотя дженерики - большой шаг вперед для безопасности типов в Java-классах, обучение использованию дженериков почти наверняка обеспечит некоторую возможность поцарапать голову (а иногда и проклинать) на этом пути.

Ответ 11

**

> Почему Java является безопасным Lanquage

**

Причина: 1. Поскольку программа java запускается внутри собственной виртуальной машины 2. Скрытие данных в Java (OOPs) делает его одним из безопасных языков. Возможно, некоторые моменты есть, но не могут вспомнить его прямо сейчас.

3.Не используйте указатели, предотвращающие несанкционированный доступ к блоку памяти.

4. Нет доступа к управлению памятью

  1. Функциональность контроля доступа
  2. Обработка исключений
  3. Использование ключевого слова
  4. Пакет java.security предоставляет классы и интерфейсы для инфраструктуры безопасности

Безопасность Java включена на каждом этапе: ключевое слово final безопасная загрузка класса jit security manager проверка байтового кода автоматическое управление памятью JSSE расширение Java-криптографии цифровая подпись jaas: служба аутентификации и авторизации java

Если вы изучили эту вещь, пожалуйста, пожалуйста,