Добро Пожаловать на сайт Clana C.S.R.IP Role Play: 46.174.52.17:27248 [ УЮТНЫЙ ПОДВАЛЬЧИК 03:45 АМ ] classic

Главная Файлы Форум Чат Новости Регистрация Вход

Меню











CSR-CS.CLAN.SU | CSR-TEAM
Меню Клана




CSR-CS.CLAN.SU | CSR-TEAM
Посетители
Онлайн:

Онлайн всего: 19
Гостей: 19
Пользователей: 0

Зарег. на сайте:
Всего: 134
Новых за месяц: 0
Новых за неделю: 0
Новых вчера: 0
Новых сегодня: 0
Из них:
Администраторов: 1
Модераторов: 1
Проверенных: 49
Обычных: 83
Из них:
Парней: 119
Девушек: 14
Счетчик материалов:
Форум: 140/161
Файлов: 141
Новостей: 301
Cтатей: 182
Cайтов: 4
Серверов[css v34]: 27
Картинок: 4
Онлайн фильмов: 9104
Счетчики:
Сегодня нас посетили:

Главная » Статьи » Статьи для Программирования » Java

Язык программирования Java Ява

Язык программирования Java Ява

Язык Java является объектно-ориентированным языком программирования, который был создан Джеймсом Гослингом (James Gosling) и другими инженерами в компании Sun Microsystems. Он был разработана в 1991 году, как часть проекта "Green Project", и официально объявлен 23 мая 1995 года, в SunWorld, а выпущен в ноябре. Java была изначально разработана как замена для C++ (хотя набор функций больше похожа на Objective C) и известный как Дуб (в честь дерева за пределами офиса Гослинга). Подробнее об истории Java можно найти в статье о платформе Java, которая включает в себя язык, Java Virtual Machine, и Java API. Java является собственностью компании Sun Microsystems; Java является торговой маркой компании Sun Microsystems.

Обзор 

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

  • Объектно-ориентированный язык.
  • Независим от целевой платформы (более или менее).
  • Должен содержать объекты и библиотеки для работы в сети.
  • Он предназначен для выполнения кода из удаленных источников надежно.


Объектная ориентация 
Первая характеристика, объектно-ориентированный подход ("ОО"), относится к методу программирования для чайников и дизайну язык. Основная идея ОО заключается в разработке программного обеспечения все это "вещи" (то есть объекты), которыми можно манипулировать, а не действия, которые нужно выполнять. Это основано на том, что первое (вещи) изменяются реже и радикальнее, чем действия, что делает такие объекты (на самом деле вещи, содержащие данные) более стабильной основу для разработки программного обеспечения. Целью является, делать большие проекты программного обеспечения легко управляемыми, таким образом, можно добиться повышения качества и сокращения числа неудачных проектов программирования для начинающих.

Независимость от платформы

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

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

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

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

Независимый от платформы Java, однако, стал очень успешным для серверов приложений, таких как веб-сервисы, сервлеты, или Enterprise Java Beans.

Безопасное выполнение удаленного кода

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

Оценка

По мнению большинства людей, Java технология достаточно хорошо подходит для всех этих целей. Язык, однако, не без недостатков.

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

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

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

Пример программы "привет мир" на языке Java: 

public class HelloWorld {
 public static void main(String[] args) {
 System.out.println("Hello world!");
 }
}


Управляющие инструкции:
Циклы
while (Boolean expression) {
 statement(s)
}


do {
 statement(s)
} while (Boolean expression);


for (initialisation ; termination condition ; incrementing expr) {
 statement(s)
}



Условные уператоры 
if (Boolean expression) {
 statement(s)
}


if (Boolean expression) {
 statement(s)
} else {
 statement(s)
}

Выбор 
if (Boolean expression) {
 statement(s)
} else if (Boolean expression) {
 statement(s)
} else if (Boolean expression) {
 statement(s)
} else {
 statement(s)
}



switch (integer expression) {
 case constant integer expr:
 statement(s)
 break;
 ...
 default:
 statement(s)
 break;
}

Отлов ошибок 
try {
 statement(s)
} catch (exception type) {
 statement(s)
} catch (exception type) {
 statement(s)
} finally {
 statement(s)
}

Базовые типы данных

Тип данныхОписание
byte8-bit целое со знаком
short16-bit целое со знаком
int32-bit целое со знаком
long64-bit целое со знаком
float32-bit весщественное число с одинарной точностью
double64-bit весщественное число с двойной точностью
char16-bit одиночный символ Unicode
booleantrue или false (правда или ложь)

Символы можно хранить в 16-битный Unicode кодировке. Такой символ может содержать все обычные символы, но также включает в себя наборы символов для многих других языков, кроме английского, в том числе греческий, кириллицу, китайский, арабский и т.д. Java-программы могут использовать все эти символы, хотя большинство редакторов не имеют встроенной поддержки для наборов символов, которые отличаются от обычных символов ASCII. Массивы и строки не примитивные типы: они являются объектами.

Категория: Java | Добавил: Priboy (28.09.2012)
Просмотров: 958 | Теги: Язык программирования Java Ява | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Категории раздела
HTML [20]
CSS [15]
SCIRRA CONSTRUCT [1]
Pascal [1]
Pascal и Delphi [1]
Алгоритмы,Блок Схемы [1]
Microsoft Small Basic [1]
Разное [4]
Ada [1]
ALGOL [1]
Assembler [1]
Basic [1]
Brainfuck [1]
C [1]
C++ [1]
COBOL [1]
Delphi [1]
Modula [1]
FORTRAN [1]
Lisp [1]
JavaScript [1]
Java [1]
SQL [1]
Smalltalk [1]
Simula [1]
Ruby [1]
Python [1]
Prolog [1]
PHP [1]
Perl [1]
Pascal [1]
Баннеробмен





Друзья сайта:

Разное
Топ Файловиков ↑↓
Новое на форуме ↑↓
ТиЦ ↑↓
Новые файлы

Ники в CS
Скачиваний: 0
Добавил: Priboy
Добавлено: 22.10.2012

UCP 7.7
Скачиваний: 0
Добавил: Priboy
Добавлено: 20.10.2012
Случайные Файлы
Mafia II


Подробнее о файле:
Mafia II
Скачать Mafia II
Просмотров: 713
Добавил: Priboy
Дата: 05.06.2012
Перейти

UCP Anti-Cheat 7.2 Client+Server


Подробнее о файле:
UCP Anti-Cheat 7.2 Client+Server
Анти Читы для Серверов CS:S
Просмотров: 740
Добавил: Priboy
Дата: 22.06.2012
Перейти

Наш Сервер

Clan.::[C.[S].R.]::. © 2024

CSR-TEAM