Софтуер внедряване на системата

система за изпълнение 6. Софтуер

Софтуер започва изпълнението, на първо място, с избора на език за програмиране след това е избран дело инструмент, който поддържа този език, и най-накрая избран инструмент за развитие на избрания език за програмиране.







6.1. Изборът на език за програмиране

Развитието на интернет и Световната мрежа прави изцяло нов начин за разглеждане на процесите на развитие и разпространение на софтуер. За да оцелеят в света на електронната търговия и разпространение на данни, език за програмиране трябва да бъде:

  • сейф,
  • висока производителност,
  • надежден.

Работата по различни платформи на хетерогенни мрежи и прокси сървър работи на различни платформи, софтуерът отхвърля традиционната схема дистрибуция, софтуерни версии, софтуер модификация, съчетаване на софтуера и т.н. За решаване на проблема с разнородна медии език трябва да бъде [14]:

  • неутрална до архитектурата,
  • преносим,
  • динамично се променя.

Език за цел да реши проблемите на хетерогенна среда, също трябва да бъде

  • прост - трябва да бъде лесен за използване, всички разработчици,
  • ясни - разработчиците трябва без много усилия, за да го овладее,
  • ООП - той трябва да използва всички предимства на съвременните методологии за разработка на софтуер и подход към писането разпределени клиент-сървър приложения,
  • многонишковите - за приложения с висока производителност, изпълнявайки в същото време много екшън (прокси сървър може да отговори на множество искания от потребители)
  • тълкува - за преносимост и по-голяма гъвкавост.

Повечето отговаря на тези характеристики на езика за програмиране Java. Нека разгледаме по-подробно характеристиките, изброени Java.

Простотата на език е част от ключовите характеристики на Java: предприемачът не трябва да има много време да научат езика, преди да може да се програмира по него. Основи на езикови концепции Java бързо да се възползват и програмисти от началото може да доведе продуктивна работа. Java разработчиците са били взети под внимание, че много програмисти, запознати с C ++, Java, е защо, доколкото е възможно, в близост до C ++ [16].

В Java, тя не включва някои рядко се използва, не се разбира добре, и усложнява работата на възможности на C ++, които носят повече проблеми, отколкото ползи. Аз трябваше да се откаже от:

  • претоварване оператор (но натоварените методи в Java остават)
  • множествено наследяване,
  • автоматично разпространение на стереотипа.

Добави автоматичното събиране на боклука, който опростява процеса на програмиране, но е малко по-сложна система като цяло. В C и C ++ управление на паметта винаги е причинила много проблеми, но сега не е нужно много, за да се тревожи за това.

Езикът Java е проектиран от самото начало като обектно-ориентиран. Задачи разпределена система клиент-сървър отговаря на обектно-ориентираното парадигма: използването на понятията капсулиране, наследяване и полиморфизъм. Java осигурява ясна и ефективна обектно-ориентиран платформа за развитие.

Java програмисти могат да използват стандартните библиотеки, подпомагане на работата на I / O устройства, мрежови функции, методите за създаване на графични потребителски интерфейси. Функционалността на тези обекти библиотеки може да се разшири.

Платформата Java има за цел да се създаде високо достъпна приложен софтуер. Много внимание се отделя на програмата за проверка по време на компилация, последвано от второ ниво - динамична защитна инспекция (по време на изпълнение).







модел за управление на паметта е много проста: обектите са създадени с помощта на новия оператор. В Java, за разлика механизъм C ++ указатели премахва възможността за директно писане в корупция на паметта и информация: операциите за работа с указатели са силно въвели, не аритметиката с указатели. Работа с масиви се контролира от системата за контрол. Има автоматично събиране на боклук.

Този модел на управление на паметта изключва клас от грешки, така че често се среща с разработчиците в C и C ++. Java програми могат да бъдат написани, като се уверите, че машината не "виси" заради грешка при работа с динамично разпределение на паметта.

  • Независимост от Архитектура

Java е предназначена за подкрепа на заявленията се реализира в хетерогенна среда на мрежата. В тези среди, заявленията трябва се изпълняват на различни хардуерни архитектури работят различни операционни системи, както и във връзка с интерфейсите на различни езици за програмиране. За да се осигури платформа за независимост на Java програма компилатор генерира байткод - архитектурно-неутрален междинен формат на програмата, която е създадена за ефективно предаване на кода на различни хардуерни и софтуерни платформи. Когато програмата код байт се интерпретира от машината Java. Същата Java-байткод ще работи на всяка платформа.

Архитектурно независимост - само неразделна част от преносимост. За разлика от C или C ++, Java в не съществува понятието "В зависимост от изпълнението", когато става въпрос за размера на основните типове. Формати на видове и операциите по тях данни са ясно дефинирани. По този начин, програмата остават същите на всяка платформа - няма несъвместимост между типове данни в хардуерни и софтуерни архитектури.

Архитектурно независимост и преносимост на Java софтуер, предоставен от Java Virtual Machine (Java Virtual Mashine - JVM) - абстрактна машина, за която Java компилатор генерира код. Специални JVM за изпълнение специфични хардуерни и софтуерни платформи вече предоставят конкретна виртуална машина.

Изпълнение винаги заслужава специално внимание. Java постига висока производителност със специално оптимизиран байткод лесно да бъдат преведени на машинен код. Автоматично събиране на боклука се извършва като фон тема с нисък приоритет на, осигуряване на висока степен на вероятност за наличие на необходимата памет, което води до повишаване на производителността. Приложения, изискващи големи изчислителни ресурси могат да бъдат проектирани така, че частите, които се нуждаят от интензивни изчисления, са написани на асемблер, както и да си взаимодействат с платформата Java. По принцип, потребителите смятат, че заявленията си взаимодействат бързо, независимо от факта, че те се тълкуват.

Java-интерпретатор може да изпълни Java байт код на всяка машина, на която интерпретатора и да стартирате системата. Тълкувателно програма на фазата на платформа натрупване е проста походова, така че процесът на развитие е силно ускорено и опростена, без традиционните твърди стъпки за съставяне, монтаж, тестване.

Повечето съвременни уеб приложения обикновено са необходими за извършване на няколко операции едновременно. В Java механизъм подкрепа леки процеси потоци (нишки). Java многонишкова предоставя инструменти за създаване на приложения с множество потоци едновременно активни.

За ефективна работа с потоци в Java има механизъм на семафори и средства за синхронизиране на движението: езиковата библиотека предоставя класа Thread, и да изпълнява график система осигурява средствата и инструментите, които прилагат семафори. Важно е, че работата на паралелни нишки с високо ниво библиотеки Java система няма да доведе до конфликти: функции, предоставяни от библиотеки, достъпни за всички работещи потоци.

Поради различни причини, Java-динамичен език от C ++. Той е проектиран специално, за да се поберат на променящата се среда. Докато Java компилаторът по време на компилация и статични проверки не позволява всяко отклонение, на процеса на сглобяване и изпълнява много динамичен. Класове са свързани само когато това е необходимо. Нови софтуерни модули могат да бъдат свързани от всякакви източници, включително, достъпно по мрежата. В случай на браузъра HotJava и други приложения като интерактивен изпълним код може да бъде изтеглен от всяко място, което позволява прозрачен модификация приложение. Това може да доведе до създаването на интерактивни услуги, безболезнено модифициращи се обслужват голям брой клиенти и да се гарантира развитието на електронния бизнес в интернет.

Ако характеристиките, описани по-горе, се разглеждат отделно, те могат да бъдат открити в много софтуерни платформи. Радикална иновация е в метода на Java и системата за изпълнение, която съчетава всички функции за осигуряване на гъвкава и мощна система за програмиране.

Разработка на Java приложения, води до производството на софтуер, който:

  • преносимостта на различни архитектури, операционни системи и графичен потребителски интерфейс
  • благополучно
  • висок капацитет

Което е особено важно при прилагането на софтуера като прокси сървър.