Файл: Язык программирования (ЯП).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 04.04.2023

Просмотров: 183

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Безопасность

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

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

Первый уровень - это безопасность, обеспеченная языком Java. Свойства и методы описываются в классе, и к ним можно обратиться только через интерфейс, обеспеченный классом. Java не позволяет никаких операций с указателями, таким образом запрещает прямой доступ к памяти. Избегается переполнение массивов. Проблемы, связанные с безопасностью и мобильностью, скрыты.

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

Третий уровень - это безопасность, обеспеченная интерпретатором. Прежде, чем байт-код будет фактически выполнен, он является полностью укрытым верификатором.

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

Независимость от структуры системы

Нейтралитет достигается при смешении трансляции и интерпретации.

Программы Java оттранслированы в байт-код компилятором

• байт-код - это универсальный машинный код

Байт-код выполняется интерпретатором (Виртуальная Машина Java)

• интерпретатор должен выполнять байт-код для каждой аппаратной платформы

• байт-код выполняется на любой версии Виртуальной Машины Java

Мобильность

Независимость от платформы означает лёгкость переноса программы с одного компьютера на другой компьютер без каких-либо трудностей. Также Java - платформа, независима на обоих уровнях, то есть на первичном (исходном) и на вторичном уровне.

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


Платформа, независимая на вторичном уровне означает, что откомпилированный двоичный файл может быть выполнен на различных платформах, не перетранслируя код, если они имеют Виртуальную Машину Java, которая функционирует как интерпретатор.

Интерпретирующее выполнение

Java - это интерпретируемый язык. Это означает, что каждая команда оттранслирована в машинный код во время выполнения, а не в течение трансляции, а также позволяет перезаписывать и изменять программу, во время её выполнения.

Трансляция Java и процедура выполнения включают следующее:

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

Из-за его интерпретирующей процедуры выполнения, Java имеет следующие преимущества:

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

Высокая Эффективность

Java был разработан, чтобы хорошо работать на центральных процессорах с очень низким энергопотреблением. Байт-код Java был тщательно продуман так, чтобы его можно было сразу непосредственно транслировать в машинный код с высокой эффективностью, используя компилятор.

Многопоточность

Встроенная поддержка многопоточности снабжает программистов Java мощным инструментом для улучшения интерактивной работы графических приложений. Если наше приложение должно выполнять мультипликацию и музыку игры при прокрутке страницы и загрузку текстового файла с сервера, то многопоточность - это способ быстро реализовать поставленную задачу.

Динамичность

Java - динамичный адаптированный язык программирования. Программы Java несут много информации во время выполнения, для проверки правильности обращения к объектам во время выполнения. Это свойство позволяет динамически безопасно связать код.

7.3 Область применения

Существует множество областей применения Java, от сайтов электронной коммерции до Android приложений, от научных до финансовых приложений, таких как трейдинговые системы, от игр, типа Minecraft, до настольных программных средств, таких как Eclipse, Netbeans и IntelliJ, от open source фреймворков до J2ME приложений и т.д. Давайте детальнее рассмотрим каждое из них.


Android приложения.

Если хотите увидеть, где используется Java, не нужно далеко идти. Просто возьмите свой телефон на Android, абсолютно все приложения написаны на Java, с использованием Google и Android API, которые схожи с JDK. Пару лет назад Android предоставил необходимые возможности, благодаря чему сегодня многие Java программисты – Android разработчики. Кстати, Android использует другую JVM и другой и другой способ компановки, но код всё ещё написан на Java.

Серверные приложения в сфере финансовых услуг.

Java очень обширно применяется в финансовой сфере. Многие мировые инвестиционные банки, типа Goldman Sachs, Citigroup, Barclays, Standard Charted и другие используют Java для написания фронт-энд и бэк-энд офисных электронных систем, систем регулирования и конфирмации, проектов обработки данных и некоторых других. Преимущественно Java используется при написании серверных приложений, в большинстве своём без какого-либо пользовательского интерфейса, которые получают данные с одного сервера, обрабатывают их и отправляют дальше. Java Swing был также популярен для создания «толстоклиентных» интерфейсоф, но сейчас C# быстро захватывает рынок в этой области, а Swing уже выдыхается.

Вэб-приложения.

Также Java широко используется в электронной коммерции и в области вэб-приложений. Огромное количество RESTful сервисов было создано с использованием Spring MVC, Struts 2.0 и похожих фреймворков. Даже простейшие приложения, основанные на Servlet, JSP и Struts, достаточно популярны в различных государственных проектах. Многие вэб-приложения государственных, оздоровительных, страховых, образовательных, оборонительных и некоторых других отделений написаны на Java.

Программные средства.

Многие полезные програмные средства и средства разработки написаны и разработаны на Java, например Eclipse, IntelliJ Idea и Netbeans IDE. Мне кажется это, к тому же, наиболее используемые приложения, написанные на Java. Было время, когда Swing был очень популярен при создании «толстых клиентов», преимущественно в финансовой сфере. Сегодня Java FX набирает всё большую популярность, но это всё ещё не замена Swing, к тому же C# практически полностью вытеснил Swing из финансовой области.

Трейдинговые приложения.

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

J2ME приложения.

Несмотря на то, что появление iOS и Android практически уничтожило J2ME рынок, в мире ещё огромное количество дешёвых телефонов от Nokia и Samsung, использующих J2ME. Было время, когда практически все игры и приложения, доступные на Android, были написаны с использованием MIDP и CLDC, которые являются частью платформы J2ME. J2ME всё ещё популярен в таких средствах, как Blu-ray, карточки и телевизионные приставки. Одна из причин такой популярности WhatsApp – он также доступен на J2ME.


Встраиваемые системы.

Обширна Java и в области встраиваемых систем. Можно увидеть на что способна платформа, вам нужно всего 130 KB для использования Java (на смарт-картах и сенсорах). Изначально Java разрабатывалась для встраиваемых систем. В действительности эта область была частью начальной кампании Java «пиши один раз, запускай где-угодно» и похоже, что она приносит свои плоды.

Большие данные.

Hadoop и другие технологии обработки больших данных так или иначе используют Java, например Hbase и Accumulo от Apache, или ElasticSearch. Хоть Java и не доминирует в этой области, поскольку существуют такие технологии, как MongoDB, которые написаны на С++. У Java есть потенциал получить большую долю этой растущей области, если Hadoop или ElasticSearch расширятся.

Высокочастотные трейдинговые пространства.

Java улучшила свои эксплуатационные показатели и с современными JIT-ами она способна предоставить производительность на уровне С++. По этой причине Java популярна и при написании высокопроизводительных систем, потому что хоть производительность проигрывает в сравнении с родным языком, но вы можете пожертвовать безопасностью, мобильностью и надёжностью ради большей скорости и требуется всего один неопытный С++ программист, чтобы сделать приложение медленным и ненадёжным.

Научные приложения.

В наши дни часто Java – выбор по-умолчанию для научных приложений, включая обработку естественного языка. Основная причина в том, что Java более безопасна, мобильна и надёжна и имеет лучшие инструменты параллелизации , чем С++ и другие языки.

В девяностые Java была достаточно популярна в интернете, благодаря апплетам, но спустя годы, апплеты утратили свою популярность, преимущественно из-за различных проблем безопасности. В наши дни настольная Java и апплеты практически мертвы. Java по-умолчанию любимец в индустрии программного обеспечения, и широко используется в финансовой сфере, инвестиционных банках и в области электронной коммерции. Каждый, изучающий Java, имеет яркое будущее. Java 8 только укрепила веру в то, что Java продолжит доминировать в области разработки ещё долгие годы.

8. Язык программирования «JAVA Script»

8.1 История создания

События, в результате которых появился JavaScript, разворачивались в течение шести месяцев, с мая по декабрь 1995 года.


Фирма Netscape Communications Corporation с самого начала принимала заметное участие в динамичном развитии всемирной паутины. В борьбе за первенство на этом поприще она выдвинулась благодаря созданию и бесплатному распространению (для использования в домашних условиях) броузера Netscape Navigator.

Затем, через короткое время, Netscape создала скриптовый язык под названием LiveScript, призванный испонять роль чудесного средства, позволяющего превратить статичные документы в более-менее интерактивные. LiveScript, поддерживаемый первыми версиями броузера Netscape Navigator, пользовался большой популярностью и успехом. В то же время инженеры фирмы Sun Microsystems, которым надоело приспосабливать свое программное обеспечение к стандартам различных интерфейсов, разработали язык Java.

В результате соглашения между Netscape Communications и Sun Microsystems и объединения идей LiveScript со структурой Java появилась среда под названием «Mocha», предназначенная для разработки сетевых приложений и, в конце концов, для создания динамичных web-страниц. Существенно, что она имела открытый характер и была независима от используемой программной платформы.

Проект завершился созданием спецификаций, которые были опубликованы двумя предприятиями в декабре 1995 года под названием JavaScript в версии 1.0. Новой технологией заинтересовались многие фирмы, которые хотели использовать язык JavaScript в своих продуктах. Фирма Microsoft дфже объявила, что язык JavaScript может обслуживаться броузером Internet Explorer.

Но у фирмы Microsoft были определенные трудности с использованием JavaScript, поскольку первые ее реализации этого языка, названного Jscript, в броузере Internet Explorer 3.0 были недостаточно надежны. Это вынудило Microsoft использовать распространенную, стандартную версию JavaScript, а Internet Explorer стал предоставлять возможность запуска скриптов на языке VBScript (Visual Basic Script), который является авторским решением Microsoft. Его синтаксис и возможности очень похожи на JavaScript. Однако, более универсальной и повсеместно используемой является технология JavaScript.

8.2 Основные особенности языка

Возможности JavaScript практически не ограниченны. Его встраивают в приложения, веб-страницы, сервисы и standalone-продукты. Новомодная и мощная связка AJAX привнесла ещё больше возможностей для реализации потенциала JavaScript. Именно она даёт возможность незаметно для пользователя обновлять небольшую часть страницы, не перезагружая её целиком. Это позволяет сэкономить трафик и увеличить удобство использования веб-интерфейсов.

Но как и у любой системы у JavaScript есть ряд недостатков связанных с безопасностью - использование так называемой атаки типа XSS. В её основе лежит внедрение скрипта в тело страницы, которая отображается пользователю. Код может получить права текущего посетителя и использовать их во вред, например, похитить личные данные.