Delphi | Сети | ПК | Маршрутизаторы | Моделирование | Протоколы | Экспертные системы | Удаленный доступ | Доменные имена
Аплеты | SQL | Надежность | Задачи | Информационные процессы | JAVA | Отказы изделия | Расчет надежности показателей | Инфсис

Базовые понятия языка Java Учебник

Язык Java - одно из самых новых и модных средств программирования нашего времени. Он начинал разрабатываться как часть проекта создания передового программного обеспечения для различных бытовых приборов. Можно сказать, что он произошел от языка C++, сохранив 80% его мощности и лишь 20% сложности (первая версия языка была создана в 1995 г. и называлась Oak). Это сокращение сложности привело, как ни странно, к тому, что Java получился более "объектно-ориентированным", чем его славный предок.

Как использовать JDK

Несмотря на то, что набор JDK предназначен для создания программ, работающих в графических средах, таких как MS Windows или X Window System, он ориентирован на выполнение из командной строки окна MS-DOS Prompt в Windows 95/98/ME или окна Command Prompt в Windows NT/2000. В системах UNIX можно работать и в текстовом режиме и в окне Xterm.

Написать программу на Java можно в любом текстовом редакторе, например, Notepad, WordPad в MS Windows, редакторах vi, emacs в UNIX. Надо только сохранить файл в текстовом формате и дать ему расширение Java.

Пусть для примера, именем файла будет MyProgram.java, а сам файл сохранен в текущем каталоге.

После создания этого файла из командной строки вызывается компилятор javac и ему передается исходный файл как параметр:

javac MyProgram.java

Компилятор создает в том же каталоге по одному файлу на каждый класс, описанный в программе, называя каждый файл именем класса с расширением class. Допустим, в нашем примеру имеется только один класс, названный MyFrogram, тогда получаем файл с именем MyProgram.class, содержащий байт-коды.

Компилятор молчалив — если компиляция прошла успешно, он ничего не сообщит, на экране появится только приглашение операционной системы. Если же компилятор заметит ошибки, то он выведет, на экран сообщения о них. Большое достоинство компилятора JDK в том> чтЪ он "отлавливает" много ошибок и выдает подробные и понятные сообщения о них.

Далее из командной строки вызывается интерпретатор байт-кодов jaya, которому передается файл с байт-кодами, причем его имя записывается без расширения (смысл этого вы узнаете позднее):

Java MyProgram

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

Если работа из командной строки, столь милая сердцу "юниксоидов", кажется вам несколько устаревшей, используйте для разработки интегрированную среду.

Вопрос Есть ли в Java глобальные переменные?
Ответ В Java глобальных переменных нет. Ближе всего по свойствам к глобальным переменным статические переменные класса. К ним обращаются через имя класса, например, Math.PI.

Вопрос Можно ли использовать внутренние классы в Java?
Ответ Можно. При этом после компиляции имя файла внутреннего класса будет иметь вид: ВнешнийКласс$ВнутреннийКласс.class.

Вопрос Как в Java передаются параметры в функцию - по значению, по указателю или по ссылке?
Ответ Параметры стандартных типов передаются по значению. Объекты - по ссылке. Передачи по указателю в Java нет.

Вопрос Есть ли в Java указатели?
Ответ Нет.

Вопрос Если в Java нет указателей, то почему иногда генерируется исключение NullPointerException?
Ответ Указатели в Java есть "на нижнем уровне" - на уровне виртуальной машины. Для программистов доступа к ним нет. Исключение NullPointerException генерируется в том случае, если происходит обращение к несуществующему объекту (т.е., переменную объявили, а объект не создали). Например:
String s;
int n=s.length(); // ошибка

Вопрос Почему в языке Java, имеющем операцию выделения памяти new, не существует операции освобождения памяти delete, как, например, в языке С++?
Ответ В языке Java программист освобожден от необходимости самостоятельно управлять памятью. Для хранения объектов здесь отводится определенное место памяти, называемое кучей. Размер кучи ограничен. Виртуальная машина Java осуществляет автоматическую "сборку мусора" - процесс возвращения системе памяти, занятой объектами, которые больше не потребуются, и подготовки ее для использования новыми объектами. Не существует способа вызова сборщика мусора. Программист может только отправить запрос на запуск сборки мусора с помощью метода gc объекта System. Собственно сборка мусора произойдет в момент, удобный системе.

 

Математический анализ, лекции по физике Компьютерные сети