|
Java форум JavaTalks форум программистов
|
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
Vaxik Новичок
Зарегистрирован: 21.10.2006 Сообщения: 58 Откуда: Кострома
|
|
| Вернуться к началу |
|
 |
Vaxik Новичок
Зарегистрирован: 21.10.2006 Сообщения: 58 Откуда: Кострома
|
Добавлено: Мар 01, 2007 23:06 Заголовок сообщения: RE: FAQ: Часто задаваемые вопросы. |
|
|
1. Что такое Java?
Java является объектно-ориентированным языком программирования: объектно-ориентированнее не бывает . По сравнению с ним, такие языки программирования как С++, это просто языки, "поддерживающие объекты". В отличие от них в Java нет средств, позволяющих писать необъектно-ориентированные программы. |
|
| Вернуться к началу |
|
 |
Vaxik Новичок
Зарегистрирован: 21.10.2006 Сообщения: 58 Откуда: Кострома
|
Добавлено: Мар 01, 2007 23:09 Заголовок сообщения: RE: FAQ: Часто задаваемые вопросы. |
|
|
2. Я хочу изучать Java. С чего мне начать?
Прежде всего запаситесь компилятором и каким-нибудь IDE. Прочитайте пару книжек. А все вопросы, возникающие в процессе изучения вы можете спросить здесь же.
Последний раз редактировалось: Vaxik (Мар 01, 2007 23:31), всего редактировалось 5 раз(а) |
|
| Вернуться к началу |
|
 |
Vaxik Новичок
Зарегистрирован: 21.10.2006 Сообщения: 58 Откуда: Кострома
|
Добавлено: Мар 01, 2007 23:10 Заголовок сообщения: RE: FAQ: Часто задаваемые вопросы. |
|
|
3. Где можно скачать книги? Какие существуют печатные издания книг?
Безусловно, лучше API от Sun Microsystems вы не найдете.
Документацию можно скачать здесь.
Х.М. Дейтл, П.Дж.Дейтл Как программировать на Java ( 3 тома )
По-моему, это замечательное издание особенно для новичков. Здесь всё достаточно понятно описано, много примеров.
Шеферд "Освой самостоятельно XML за 21 день"
И. Хабибуллин "Разработка Web-служб средствами Java"
Дейтел, Сантри "Технология программирования на Java2" 1 том
Д.Э. Кнут "Исскусство программирования" 3 тома
С. Хортсман, Г. Корнелл "Java2 ", 2 тома.
Programmer's Klondike - полно бесплатных книг |
|
| Вернуться к началу |
|
 |
Vaxik Новичок
Зарегистрирован: 21.10.2006 Сообщения: 58 Откуда: Кострома
|
Добавлено: Мар 01, 2007 23:16 Заголовок сообщения: RE: FAQ: Часто задаваемые вопросы. |
|
|
4. Скачать и установить JDK?
Sun Microsystems в разделе Downloads, качаем, запускаем, устанавливаем.
Рассмотрим подробнее что же мы установили:
JRE - Java Runtime Environment. Устанавливается сама JVM(Java Virtual Machine), которая позволяет запускать Java-приложения. Нужна только пользователям, программистам ее мало.
JDK - Java Development Kit. Кроме JVM еще устанавливаются средства для разработки Java-приложений. Программистам без этого пакета никак. JDK можно ставить без JRE, там уже все есть.
Также после установки пакетов, нужно установить Переменные среды в ОС:
- Windows: заходим в свойства моего компьютера(Win+Break) -> Дополнительно -> Переменные среды.
В переменную path через точку с запятой выставляем путь к папке JDK/bin.
Создаем переменную JAVA_HOME и записываем путь к JDK.
Последний раз редактировалось: Vaxik (Мар 01, 2007 23:28), всего редактировалось 1 раз |
|
| Вернуться к началу |
|
 |
Vaxik Новичок
Зарегистрирован: 21.10.2006 Сообщения: 58 Откуда: Кострома
|
Добавлено: Мар 01, 2007 23:18 Заголовок сообщения: RE: FAQ: Часто задаваемые вопросы. |
|
|
5. Какие бывают IDE?
NetBeans
Eclipse
IDEA
GeI
JDeveloper
SunOne Studio
IBM Rational Application Developer |
|
| Вернуться к началу |
|
 |
Староверъ Ктапубеп

Зарегистрирован: 26.01.2008 Сообщения: 4243 Откуда: Русь
|
Добавлено: Дек 22, 2009 22:05 Заголовок сообщения: RE: FAQ: Часто задаваемые вопросы. |
|
|
6. О classpath
classpath - это область видимости ваших классов. Для того, чтоб один класс смог видеть другой класс, последний должен быть в classpath'e. Если хотите подключить к проекту библиотеку, она тоже должна быть включена в classpath при компиляции и во время запуска. Вот команда для компиляции простого приложения(допустим, наш главный класс лежит в пакете ru.javatalks.classpath.example.Main):
| Код: |
javac -cp . ru.javatalks.classpath.example.Main.java |
Точка указывает на текущий каталог, она необходима дабы все классы из ваших пакетов были включены в classpath.
Если ваши библиотеки, которые необходимы для компиляции и запуска приложения, лежат в каталоге lib, то команда будет выглядеть следующим образом:
| Код: |
javac -cp .;lib/somejar.jar;lib/otherjar.jar ru.javatalks.classpath.example.Main.java |
То есть все пути, в которые должен заглянуть компилятор, прописываются через точку с запятой(без каких-либо пробелов). Каждая библиотека должна прописываться отдельно, нельзя просто прописать каталог с jar'ами.
Если вы создали jar-архив вашего приложения, classpath там должен быть прописан в соответствующем атрибуте:
| Код: |
Class-Path: .;lib/somejar.jar;lib/otherjar.jar |
Все выше сказанное касается так же запуска приложения с помощью java/javaw.
Последний раз редактировалось: Староверъ (Дек 23, 2009 11:17), всего редактировалось 1 раз |
|
| Вернуться к началу |
|
 |
Староверъ Ктапубеп

Зарегистрирован: 26.01.2008 Сообщения: 4243 Откуда: Русь
|
Добавлено: Фев 21, 2010 10:43 Заголовок сообщения: RE: FAQ |
|
|
7. Исключения
Исключение (исключительная ситуация, exception) - это ненормальная ситуация в логике приложения. К примеру, метод считывает страницы с нескольких сайтов. В идеальном мире этот метод работал бы без всяких "но", однако в реальности у пользователя может оборваться соединение, тогда метод не может быть работоспособным. Это исключительная ситуация. Такие ситуации нужно отлавливать и правильно обрабатывать.
Исключения решают следующие проблемы:
1. Неоднозначность возвращаемых значений. К примеру, этот метод добывает число из строки:
| Код: |
Integer.parseInt("fff"); |
Что мы должны возвращать в данном случае, если не будет никаких исключений? 0? Но, ведь, туда и "0" могли передать, как тогда определить отработала ли функция верно или нет?
2. Информативность. К примеру, метод работает с сетью и может выбрасывать ConnectionRefusedException при разрыве соединения. Если бы он не был помечен как throws ConnectionRefusedException, разработчик может и не подумать о том, что такая ситуация может произойти, а произойти она может через месяц, когда программу показывают заказчику
3. Неработоспособность объекта. К примеру, есть объект, который из БД выбирает Пользователей. Его используют другие объекты. При инициализации ему подсунули неправильный URL к базе. Этот объект не может выполнять свои функции. Что прикажете с ним делать? Он должен выбросить исключение, ибо он битый.
4. ШопНеЗабытьИсключение. Часто бывает необходимость реализовать метод какого-либо интерфейса, который, собственно, пока не особо нужен и тратить на него время не хочется. Однако возможно кто-то другой захочет этот метод вызвать. Чтоб не вышло ситуации, когда разработчик по несколько часов сидит перед монитором, не понимая, почему метод возвращает неправильные значения или не изменяет состояние объекта(были реальные случаи!), лучше всего не оставлять тело метода пустым, а выбрасывать UnsupportedOperationException.
Существует два вида исключений:
- Checked exceptions - это исключения, которые вызовут ошибку компиляции, если не обрамить их с помощью try-catch.
- Unchecked exceptions - те исключения, которые не обязательно отлавливать. Эти исключения должны быть описаны в комментариях, иначе как пользователь ваших классов узнает о его существовании? Эти исключения позволяют сократить количество строк кода и улучшить его читабельность, однако применять его где нипопадя нельзя. Есть несколько случаев, когда следует использовать этот вид исключений:
- Когда исключение может возникнуть по халатности разработчика. К примеру, IndexOutOfBoundException возникнет в случае, если программист неправильно оформит цикл, NullPointerException - если обратиться к null-ссылке.
- В последнее время пошла мода выбрасывать RuntimeException в случае возникновения критических ошибок в приложении. К примеру, если в файлах свойств была прописан неверный user-password к БД, то приложение не сможет продолжать работать. Обработать правильно такое исключение в большинстве случаев не представляется возможным, посему может быть уместным использовать именно эти исключения.
Синтаксис отлавливания исключений может включать блок finally:
| Код: |
try {
someObject.someMethod();
} catch(SomeException e) {
logger.warning("Some exception occured", e);
} finally {
//some finalizations
} |
Блок finally будет выполняться независимо от того выбросилось ли исключение или нет. Служит он для того, чтоб, к примеру, закрыть соединение к файлу. Ведь, соединение должно закрыться в любом случае - произошло ли чтение из него с ошибками или без, в противном случае придем к утечки памяти из-за незакрытых ресурсов. |
|
| Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|