Изучаем Java

Интернет-портал MegaWEB

Интернет-портал MegaWEB содержит много ресурсов для веб-мастеров, интернет-разработчиков, веб-дизайнеров и seo-оптимизаторов. Это видеоуроки, книги и справочники в формате ebook: PDF-CHM-DJVU, а также программы и утилиты для того, чтобы сделать сайт или раскрутить сайт в сети Интернет.

Книга «Изучаем Java»

Версия для печати и PDA

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

Изучаем Java

Обзор книги «Изучаем Java»

Погружаемся: Java открывает новые возможности. Еще во времена первой версии 1.02 этот язык покорил разработчиков своим дружественным синтаксисом, объектно-ориентированной направленностью, управлением памятью и, что важнее всего, перспективой переносимости на разные платформы. Соблазн написать код один раз и запускать его везде оказался слишком велик. Однако, по мере того как программистам приходилось бороться с ошибками, ограничениями и чрезвычайной медлительностью Java, первоначальный интерес к языку остывал. Но это было давно. Сегодня Java достаточно мощный и работает быстрее.


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


Свои переменные нужно знать в лицо. Переменные делятся на два вида: примитивы – простые типы, и ссылки. В жизни должно быть что-то помимо чисел, строк и массивов. Как быть с объектом PetOwner с переменной экземпляра типа Dog? Или Cat с переменной экземпляра Engine? Вы узнаете, что именно можно объявлять в качестве переменных, какие значения присваивать им и как вообще с ними работать.


Как себя ведут объекты: состояние влияет на поведение, а поведение – на состояние. Вы знаете, что объекты характеризуются состоянием и поведением, которые представлены переменными экземпляра и методами. До этого момента вопрос о связи между состоянием и поведением не поднимался. Вам уже известно, что каждый экземпляр класса может иметь уникальные значения для своих переменных экземпляра. Суть объектов заключается в том, что их поведение зависит от состояния. Иными словами, методы используют значения переменных экземпляра. Теперь пришло время узнать, как изменить состояние объекта.


Особо мощные методы: сделаем методы еще более мощными. Вы уже поработали с переменными, несколькими объектами и написали небольшой код. Но для полноценной работы требуется гораздо больше инструментов, например операторы и циклы. Почему бы вам во время учебы не создать что-нибудь настоящее, чтобы собственными глазами увидеть, как с нуля пишутся и тестируются программы.


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


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


Серьезный полиморфизм: наследование – это только начало. Чтобы задействовать полиморфизм, нужны интерфейсы. Новый уровень гибкости и масштабируемости может обеспечить только архитектура, основанная на интерфейсах. Вероятно, вы захотите их использовать. Вы удивитесь, как могли жить без них раньше. Что такое интерфейс? Это на 100% абстрактный класс. Что такое абстрактный класс? Это класс, для которого нельзя создать экземпляр.


Жизнь и смерть объектов: объекты рождаются и умирают. Вы управляете их жизненным циклом. Вы решаете, когда и как создавать их. И вы решаете, когда их уничтожать. Но на самом деле вы не уничтожаете их, а просто делаете брошенными и недоступными. Уже после этого безжалостный сборщик мусора может аннулировать объекты, освобождая используемую память. Вы узнаете, как создаются объекты, где размещаются, как эффективно использовать их и делать недоступными.


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


Опасное поведение. В жизни случается всякое: то файл пропадает, то сервер падает. Не важно, насколько хорошо вы программируете, ведь невозможно контролировать все. Что-то может пойти не так. При создании опасного метода вам понадобится код, который будет обрабатывать возможные нестандартные ситуации. Но как узнать, опасен ли метод? И куда поместить код для обработки непредвиденной ситуации? Вам предлагается разработать музыкальный MIDI-проигрыватель, использующий опасный JavaSound API.


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


Улучшай свои навыки: Swing – это просто. Код для работы со Swing выглядит просто, но, скомпилировав его, запустив и посмотрев на экран, вы подумаете: "Эй, этот объект должен быть в другом месте". Инструмент, который упрощает создание кода, одновременно усложняет управление им – это диспетчер компоновки. Приложив небольшие усилия, вы можете подчинить диспетчер компоновки. Вам предлагается поработать со Swing и ближе познакомиться с виджетами.


Сохранение объектов: объекты могут быть сплющенными и восстановленными. Они характеризуются состоянием и поведением. Поведение содержится в классе, а состояние определяется каждым объектом в отдельности. Что же происходит при сохранении состояния объекта? Если вы создаете игру, вам понадобится функция сохранения / восстановления игрового процесса. Если вы пишете приложение, которое рисует графики, вам также необходима функция сохранения / восстановления. Вы можете сделать это легким объектно-ориентированным способом – нужно просто сублимировать / сплющить / сохранить / опустошить сам объект, а затем реконструировать / надуть / восстановить / наполнить его, чтобы получить снова.


Устанавливаем соединение: свяжитесь с внешним миром. Обо всех низкоуровневых сетевых компонентах заботятся классы из библиотеки java.net. В Java отправка и получение данных по Сети – это обычный ввод / вывод, разве что со слегка измененным соединительным потоком в конце цепочки. Получив класс BufferedReader, вы можете считывать данные. Ему все равно, откуда они приходят – из файла или по сетевому кабелю. Вы узнаете, как установить связь с внешним миром с помощью сокетов и создадите клиентские и серверные сокеты. В итоге у вас будут клиенты и серверы. После того как вы сделаете так, чтобы они смогли общаться между собой, вы получите полноценный многопоточный клиент для чатов.


Структуры данных. У вас уже есть все необходимые инструменты для сбора данных и управления ими, поэтому не нужно писать собственные алгоритмы для сортировки. Фреймворк для работы с коллекциями в Java – Java collections framework, содержит структуры данных, которые должны подойти практически для всего, что вам может понадобиться.


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


Распределенные вычисления: находиться далеко – это не всегда плохо. Конечно, задача упрощается, когда все компоненты приложения собраны в одном месте и всем этим управляет одна JVM. Но это не всегда возможно. И это не всегда целесообразно. Как быть, если ваше приложение выполняет сложные вычисления и должно работать на маленьком симпатичном пользовательском устройстве? Что делать, если вашему приложению нужна информация из базы данных, но в целях безопасности к ней может получить доступ только код на вашем сервере? Вы узнаете про технологии EJB – Enterprise Java Beans, и Jini, а также в каких случаях их работа зависит от RMI.


В книге «Изучаем Java» приводится большое количество примеров Java-программ. Для работы над ним вам не потребуются какие-либо специализированные инструменты, такие как интегрированные среды разработки – IDE. Авторы настоятельно рекомендуют не использовать ничего, кроме простого текстового редактора, поскольку среда IDE может скрыть от вас действительно важные детали. При изучении языка лучше пользоваться командной строкой, а уже потом, вникнув в происходящее, перейти к работе с инструментами, которые автоматизируют процесс разработки.

Формат: PDF + файлы примеров
Качество: eBook
Страниц: 720

Поделиться с друзьями