WebClub - Всероссийский Клуб Веб-разработчиков
WebClub.RU » Архив » Как мне выбрать книгу по JavaTM?

Как мне выбрать книгу по JavaTM?


Дата публикации: 17-03-2013

Однозначного ответа на вопрос "какая мне нужна книга?" не существует.
Здесь список популярных книг по Java.
Многое зависит от того, что вы уже знаете, а также от того, как вам больше нравиться учиться.
Если вы уже умеете программировать на других языках, и только хотите научиться программировать на языке Java, посмотрите книгу автора этого FAQ Только Java 1.2 (Just Java 1.2).

Абсолютно все в одной книге (основы языка, Swing, сети, I/O, доступ к базам данных и многое другое). Книга содержит CD с огромным количеством апплетов, игр, приложений, просто полезных программ с исходными кодами. Также на CD находятся компиляторы Java для Microsoft Windows, Mac, Linux, SolarisTM (SPARCTM и x86). Более подробно на http://www.amazon.com/

Если вы хотите узнать побольше о Java технологии, thin клиентах, CORBA, TCP/IP, JavaBeansTM и др., посмотрите книгу Не Только Java (Not Just Java) автора этого FAQ.

Эта книга не научит вас программировать на Java; она расскажет вам как вы можете получить то, что хотите и о том, какие системы наиболее приспособлены для Java. Также описывается E-Commerce и XML. Более подробно на http://www.amazon.com/

При выборе книги можно руководствоваться следующими правилами:

В первую очередь, удостоверьтесь, что это книга действительно по языку программирования Java. Если она содержит CD, проверьте, что на нем записан именно компилятор Java, а не J++. VJ++ не поддерживает Java 2. VJ++, строго говоря, вообще другой язык и в нем отсутствуют последние библиотеки Java (Swing, Collections, JFC, RMI). Если вы интересуетесь Java, то поставьте книгу по VJ++ обратно на полку.
Соответствует ли содержимое книги текущему уровню развития языка Java, которым является Java 1.2 (JavaTM 2)? Посмотрите, присутствует ли "JApplet" в содержании. Если нет, то, вероятно, книга не содержит описания Java Development Kit (JDKTM) 1.2, и, возможно, вам стоит поискать более новую книгу.
Желательно, чтобы в книге содержалось достаточное количество рисунков, диаграмм и иллюстраций. Довольно сложно объяснить программирование оконной системы без рисунков и диаграмм. Другие темы также сильно зависят от наличия иллюстраций.
Посмотрите, что говориться в аннотации к книге. Эта книга, предназначенная для профессиональных программистов на Java? Быть может, она подразумевает, что вы всегда можете задать вопрос такому человеку? А может, в этой книге только одна теория? Вы такую книгу хотите или все-таки мечтаете о книге, обучающей с помощью примеров и объяснения их работы?
Почитайте превосходные советы Питера Норвига (Peter Norvig) для обучающихся программированию и настоящих программистов.
Определите свой уровень знаний программирования: являетесь ли вы профессиональным программистом на каком-либо другом языке или вы только начали изучать программирование? Соответствует ли книга уровню ваших знаний?
Прочитайте некоторые части книги. Вам нравиться стиль изложения информации в книге? Не надоест ли он вам после прочтения большого количества страниц? Может, книга слишком велика для ваших начальных запросов? Попытайтесь узнать, что говорят другие люди об этой книге.
Если книга содержит CD, то узнайте, что на нем записано. Вы должны быть заинтересованы как минимум в наличии компилятора и всех примеров из книги. Будет ли компилятор работать на вашей платформе (Mac, Linux, и т.д.)? Дополнительное программное обеспечение на CD - это большой плюс, так как просмотр кода других людей - весьма эффективный способ обучения.
Многие люди покупают одну книгу с целью обучиться основам, затем покупают еще множество книг для того, чтобы узнать больше о какой-либо специализированной области. Автор этого FAQ за последние четыре года купил и прочитал около 80 книг по Java.


Как записывать звуки на Java?

некоторое количество полезной информации можно найти здесь:

http://www.afu.com/jbooks.html

http://www.hszk.bme.hu/~werner/Java2BookReviewBETA.html
http://www.geocities.com/RainForest/Canopy/4774/Java/education.html

http://www.flathill.com/languages/java/
http://www.fastgraph.com/books/java.html
http://teamjava.com/links/tj-srv.cgi?MUF=0,tj-booklist.muf
http://www.javaworld.com/javaworld/books/jw-books-index.html

Как проще всего начать работать с языком программирования Java?

Следуйте следующим шагам.

Посмотрите на часть FAQ о книгах для того, чтобы понять, какая книга вам наиболее подходит. Конкретно назвать "лучшую книгу" нельзя. Такая книга для каждого человека своя и ее выбор зависит от многих факторов.
Загрузите бесплатный компилятор с http://java.sun.com/. Сервиспаки для Solaris (если они вам нужны) могут быть найдены на http://www.sun.com/software/solaris/java/download.html
Прочитайте общедоступный текст, обучающий программированию на языке Java. Его можно найти на http://java.sun.com/docs/books/tutorial/index.html
(запомните этот адрес и вам не придется в следующий раз мучительно его разыскивать).
Не стоит пользоваться продуктом J++ компании Microsoft, который по словам самого Microsoft является "загрязненной Java". Этот продукт не соответствует стандарту языка Java, содержит в себе массу платформенно-зависимых элементов. J++ также не совместим с Java по ключевым словам. Microsoft забросила J++ в июле 2000 года, оставив с носом использующих J++ разработчиков. Посмотрите http://www.javacoffeebreak.com/articles/microsoftjava/
Если вы хотите получить дополнительную информацию о пути воздействия Microsoft на компьютерную индустрию, а также злоупотреблении ее монопольным положением, смотрите Microsoft FAQ.

Обучающиеся программированию могут найти много полезной информации на http://www.concentric.net/~pats/beginner.html.
Если вы сталкиваетесь с какой-либо проблемой при программировании на Java, посмотрите этот FAQ. Наверняка, многие люди уже сталкивались с этой проблемой до вас и FAQ уже содержит ответ на ваш вопрос.

Почему не хочет компилироваться мой "Hello World!"?

Обычно проблема заключается в следующем:

Успешно ли вы запустили javac компилятор?
Попробуйте набрать
javac -garbage,
чтобы посмотреть, выводит javac сообщение о корректном использовании или нет. Если нет, попробуйте запустить javac, введя полный путь к нему, или включив в переменную PATH директорию, содержащую javac.
Правильно ли установлена переменная среды CLASSPATH?
В JDK 1.0.2, требовалось установить CLASSPATH так, чтобы включить и системные библиотеки и ваши программы.
В JDK 1.2, включение стандартных библиотек в CLASSPATH больше не является необходимым. Вам нужно включать в CLASSPATH только "пользовательские классы", которые вы используете.
Перед началом работы, вы, скорее всего, захотите включить в свой CLASSPATH, как минимум, "." (текущая директория).
Если CLASSPATH установлен неправильно, javac будет говорить вам, что не может найти определения классов, на которые вы ссылаетесь в исходном файле. Для получения дополнительной информации об установке CLASSPATH смотрите здесь
Содержит ли исходный код ошибки?
Если да, javac будет выдавать предупреждения и сообщения об ошибках. Смотрите вопросы об сообщениях компилятора в следующей части.

Почему моя программа "Hello World!" не запускается?

Причина того, что VM (java или браузер) не может выполнить ваш класс, кроется обычно в следующем:

В первую очередь, вы должны определить, что хотите написать: апплет или приложение. Если апплет, вы должны быть уверены, что наследуете класс java.applet.Applet. Ваш стартовый код (код инициализации) должен быть помещен в метод init().
Если вы пишете приложение, ваш стартовый код должен находиться в методе main(). Не нужно смешивать апплеты и приложения, по крайней мере до тех пор, пока у вас не появится хоть немного опыта.
Вы должны объявлять свой основной класс как "public". Если вы этого не сделаете, то возможен вариант, когда на одних системах ваш код прекрасно работает, в то время как на других - нет. Основной класс должен содержать метод main(), если вы пишите приложение, или, в случае апплета, наследовать класс Applet.
Имя вашего класса и имя файла, в котором этот класс находится, должны совпадать, вплоть до регистра символов. Если ваш класс называется HelloWorld, то файл с исходным кодом должен быть HelloWorld.java и после компиляции class-файл будет "HelloWorld.class".
Если вы пишете апплет и используете ftp для передачи классов на сервер, то вы должны передать по ftp все необходимые классы и при этом использовать бинарный режим передачи, а не символьный.
Ошибки в установке CLASSPATH (и/или codebase в апплете).
Эта ошибка возникает даже у опытных программистов. Информацию об установке CLASSPATH и codebase смотрите в здесь
Если вы запускаете апплет, вы должны проверить следующее:

Если ваш класс не загружается, проверьте еще раз HTML тэг APPLET
Если вы что-нибудь выводите в System.out, результат будет выведен в Java-консоли вашего браузера. Вы должны открыть это окно, если хотите что-нибудь увидеть.
Проверьте, поддерживает ли ваш браузер все те особенности языка, которые вы используете. Браузеры Internet Explorer и старые версии NetscapeTM неполностью поддерживают JDK 1.1. Попробуйте сначала запустить свой апплет в appltviewer'е из поставке вашего JDK.

Как мне установить CLASSPATH?

Переменная окружения CLASSPATH говорит загрузчику классов виртуальной машины, где находятся классы, которые прямо или косвенно вызываются, включая системные классы. Переменная CLASSPATH должна

указывать на директорию, содержащую файлы классов, для классов необъединенных в пакеты.
указывать на корни пакетов, для классов, заключенных в пакеты.
указывать прямо на zip или jar файл, если классы содержаться в архивном файле. Вы можете иметь список компонентов архива для получения корректной информации о пакете/пути для класса.
Разделите различные пути и архивы плаформенно-зависимым разделителем, ";" для Microsoft Windows; ":" для Solaris.
Также запомните, что
Браузеры устанавливают CLASSPATH на директорию, из которой загружен HTML файл, плюс содержимое параметра codebase.
в JDK 1.1 и выше, системные классы (lib/classes.zip) добавляются автоматически, поэтому у вас нет необходимости этим заниматься.
JDK 1.2 добавляет "." (текущая директория) автоматически, следовательно, вам нет нужды этим заниматься. (Но jre этого не делает - смотрите ниже).
jre из JDK 1.1 не использует CLASSPATH и не добавляет к CLASSPATH текущую директорию. (При этом, на Solaris CLASSPATH будет работать.)
Начиная с JDK 1.1.2, обычная ошибка - установка пользователем CLASSPATH для включения classes.zip. Но CLASSPATH необходимо установить для

указания на корни ваших собственных пакетов, а также пакетов, полученных от третьих лиц.
использования rmic
использования неприсоединенных пакетов, например, Swing в JDK 1.1
указания на машинно-зависимые библиотеки.
Для успокоения совести, минимальная установка classpath должна быть: " set CLASSPATH=. "
Ниже вы найдете примеры для Microsoft Windows (основной класс приложения), Solaris (класс из пакета), javac (несколько пакетов) и browsers (codebase апплета).


Здесь немного примеров для Microsoft Windows. Класс приложения -
D:\src\tries\HelloWorld.class

## JDK 1.1, переменная CLASSPATH не установлена
> cd D:\src\tries\
> D:\jdk11\bin\java HelloWorld
# OK: 1.1 подразумевает включение classes.zip и текущей директории

> D:\jdk11\bin\jre HelloWorld
# ОШИБКА: jre не добавляет автоматически . к CLASSPATH

> cd D:\
> D:\jdk11\bin\jre -cp D:\src\tries HelloWorld
# OK: jre добавляет classes.zip, -cp добавляет директорию класса

## JDK 1.1, переменная CLASSPATH установлена
> set CLASSPATH=D:\src\tries
> D:\jdk11\bin\java HelloWorld
# OK: java использует CLASSPATH

> D:\jdk11\bin\jre HelloWorld
# ОШИБКА: jre не использует CLASSPATH (в Windows)

## JDK 1.0.2, переменная CLASSPATH установлена
> set CLASSPATH=D:\jdk102\lib\classes.zip;D:\src\tries
> D:\jdk102\bin\java HelloWorld
# OK:

> set CLASSPATH=D:\jdk102\lib\classes.zip;D:\src\tries
> D:\jdk11\bin\java HelloWorld
# ОШИБКА: исключение в потоке NULL - ошибочные системные классы.

Здесь немного примеров для Solaris. Класс приложения -
/usr/src/com/devjoes/killer/App.class
и он находится в пакете com.devjoes.killer:

# JDK 1.1, переменная CLASSPATH не установлена
$ /usr/bin/jdk11/bin/jre -cp /usr/src com.devjoes.killer.App
# OK:

$ cd /usr/src/com/devjoes/killer/
$ /usr/bin/jdk11/bin/java App
# ОШИКА: Неверные имя класса и путь

$ CLASSPATH=/usr/src/
$ /usr/bin/jdk11/bin/java App
# ОШИБКА: имя класса - com.devjoes.killer.App

$ /usr/bin/jdk11/bin/java com.devjoes.killer.App
# OK:

Здесь немного примеров для javac, как для Solaris, так и для Microsoft Windows, основанных на следующем:
Исходные файлы Пакет Откуда вызывается
/usr/src/pack/Minimal.java package pack pack.sub.Try.run()
/usr/src/pack/sub/Try.java package pack.sub (ничего)

$ CLASSPATH=""
$ /usr/bin/jdk11/bin/javac /usr/src/pack/sub/Try.java
# OK: прекрасно работает

$ /usr/bin/jdk11/bin/javac /usr/src/pack/Minimal.java
# ОШИБКА: никак не найти pack.sub.Try

$ cd /usr/src
$ /usr/bin/jdk10/bin/javac pack/Minimal.java
# OK: найден pack.sub.Try, так как . является корнем пакета

$ cd /usr/src/pack
$ CLASSPATH=/usr/src
$ /usr/bin/jdk11/bin/javac Minimal.java
# OK: pack.sub.Try найден благодаря CLASSPATH
Теперь определим класс приложения killer
/usr/src/com/devjoes/killer/FastApp.java
(в пакете com.devjoes.killer), использующий пакет, полученный от третьих лиц и расположенный в jar-файле
/usr/jars/JShapes.jar.
Пусть еще наш класс не содержит обращений к другим классам. Следующее будет вполне неплохо работать:

$ CLASSPATH=/usr/jars/JShapes.jar
$ cd /usr/src/com/devjoes
$ /usr/bin/jdk11/bin/javac killer/FastApp.java

Наконец, немного примеров для апплетов. Большинство апплетов использует только один класс, расположенный в той же директории, что и html файл:

Для использования классов в поддиректориях, используйте параметр codebase:
Дополнительные параметры) НЕ отмечено свойство "Prevent MS-DOS-based programs from detecting Windows" ("Не давать программе обнаружить Windows").

Если же эта опция отмечена, то вы будете сталкиваться с подобными проблемами довольно часто.


Я использую Notepad (Блокнот) для редактирования моих файлов. Я столкнулся с проблемой сохранения файлов с расширением ".java". Также, в этом редакторе некоторые файлы отображаются в одну строку. Почему?

Ответ на первый вопрос: поместите при сохранении имя файла в двойные кавычки. После того, как вы создали свой первый файл, дважды щелкните на нем в Explorer'е (Проводник), выберите "Notepad" из меню "Open with" ("Выберите программу для открытия файла") и после этого редактор прекратит добавлять ".txt" к вашим .java файлам.

Ответ на второй вопрос: Notepad ожидает увидеть в конце строки пару CR/LF (возврат каретки/перевод строки). В Unix для завершения строки часто используется только LF (перевод строки). Для преобразования файлов, содержащих в конце строки только LF, воспользуйтесь следующей программой.

/*
* Usage: jre crlf file1.java file2.java ... fileN.java
*/

import java.io.*;
class crlf {
public static void main(String s[]){
byte b[]; byte p;
FileInputStream is;
BufferedOutputStream os;
File f;
for (int i=0; i Accessories->WordPad (Пуск->Программы->Стандартные->Текстовый редактор Wordpad)


Как мне избавиться от сообщения "out of environment space" (недостаточно памяти для переменных среды) ?

Такое сообщение появляется в Windows когда вы используете слишком длинный CLASSPATH. Вам необходимо увеличить пространство переменных окружения. В Windows 95,8 поместите следующую строку в ваш c:\windows\system.ini:

[NonWindowsApp]
CommandEnvSize=4096

В NT, щелкните правой кнопкой мыши на My Computer, выберите System Properties, перейдите на закладку Environment и увеличьте COMSPEC до необходимого вам значения.
Конечно, можно обойтись и добавлением в config.sys следующей строчки:

shell=command /e:4096

Так делать не рекомендуется, ибо в этом случае возникают лишние затраты памяти.

Технология Java "открытая" или "закрытая"?

Спецификация языка общедоступна. Также Sun предоставляет свободный доступ к исходному коду Java. Смотрите http://java.sun.com/communitysource/

Более подробно ответ на этот вопрос можно найти на сайте Sun


Как лучше ссылаться на этот FAQ, если я знаю, что вопрос, который задает некоторый человек здесь освещен?

Java Programmers FAQ (оригинал на http://www.afu.com, русская версия тоже где-нибудь появится =)) содержит ответ на ваш вопрос в части N.n. ...

Таким образом, вы сразу дадите ответ на вопрос и покажете, где искать ответы на будущие вопросы. Также, вы покажете, что FAQ вполне может содержать ответ на нужный вопрос и что прежде чем писать вопросы в конференцию, было бы неплохо просмотреть FAQ.

FAQ для практически любой конференции можно найти путем планомерного ее просматривания или поискав на Deja News (смотрите вопрос 1.4), или зайдя на анонимный FTP ftp://rtfm.mit.edu. Путь к тому, что вам нужно будет похож на этот: /pub/usenet-by-group/comp.lang.java.programmer/Java_Programmers_FAQ В качестве альтернативы, вы можете просмотреть список конференций на этом же FTP в директории /pub/usenet-by-hierarchy. Это поможет вам исследовать все многообразие конференций, содержащих FAQ.

Если у вас нет доступа к FTP, вы можете получить доступ к архивам rtfm.mit.edu посредством E-mail. Пошлите E-mail на mail-server@rtfm.mit.edu со строкой "help" в теле письма для получения подробной информации.

Если вы хотите больше узнать о Internet стандартах типа FTP, telnet и др., посетите сайт IETF на http://www.ietf.org/ где вы можете найти все RFC (Request For Comments).


Что делать, если в FAQ отсутствует ответ на мой вопрос?

Посетите http://www.dejanews.com/home_ps.shtml
В мае 1999, Dejanews сменила свое имя на Deja.com, извратила до неузнаваемости свой web сайт и добавила кучу рекламы. Теперь чтобы у них найти что-нибудь, нужно быть семи пядей во лбу. Воспользуйтесь лучше следующими поисковыми сайтами:
http://www.exit109.com/~jeremy/news/deja.html
http://www.dogpile.com/
http://www.google.com
http://www.hotbot.com/
http://www.mamma.com
В "Newsgroup" введите "comp.lang.java.programmer" (или другое)
В "Subject" введите "Frotteur" (или то, что вы хотите найти)
Нажмите "Create Filter"
Вы попадете на новый документ, где вам нужно будет нажать ссылку
nnn Documents (nnn - некоторое число).

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

Посмотрите также http://sunsite.unc.edu/java/cgi-bin/query
и http://asknpac.npac.syr.edu/

Не мешает заглянуть и на http://www.javaworld.com/search.html

Существуют ли списки рассылок?

Здесь есть несколько списков рассылок по Java: http://java.miningco.com/msub7.htm


Где я могу посмотреть спецификацию языка Java?

Она доступна в online на http://www.javasoft.com/aboutJava/communityprocess/maintenance/JLS/index.htm
Старая документация лежат на

http://java.sun.com/docs/books/jls/html/index.html (Java 1.0)
Документация по классам 1.1 находится здесь:

http://java.sun.com/products/jdk/1.1/docs/guide/innerclasses/spec/innerclasses.doc.html
Всякое разное по 1.1:

http://java.sun.com/docs/books/jls/html/1.1Update.html
Документация по Java API:

http://java.sun.com/products/jdk/1.1/docs/api/
Также доступна книга в печатном варианте (конкретней - на сайте Sun). Посмотрите "Clarifications and Amendments" ("Пояснения и исправления"): http://java.sun.com/docs/books/jls/clarify.html.

Вы также можете ознакомиться со спецификацией виртуальной машины на http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html


Где мне найти информацию о будущем API?

Java Software Division компании Sun Microsystems следует правилу создания новых API путем проведения консультаций с ведущими производителями ПО. Получившиеся в результате этого прототипы предоставляются для публичного обсуждения. Вы можете следить за процессом появления нового API и других продуктов, зайдя на http://java.sun.com:80/products/api-overview/index.html
Также можно найти обсуждение некоторых API здесь:

http://java.sun.com/products/jdk/preview/docs/

Я ищу нормальное пособие по соглашению об именах (naming conventions).

Посмотрите раздел "Naming Conventions" в спецификации языка:

http://java.sun.com/docs/books/jls/html/6.doc.html#11186
Посмотрите соглашение Sun по Java коду:

http://java.sun.com/docs/codeconv/index.html
Также взгляните на предложение стандарта кодирования Дуга Ли (Doug Lea):

http://gee.cs.oswego.edu/dl/html/javaCodingStd.html
Наконец, посмотрите основные правила для соглашения об именах.


Как мне узнать об известных ошибках в JDK?

Посмотрите на Java Developer ConnectionTM. Сие дело находится на http://java.sun.com/jdc/.

Здесь опубликованы все известные Sun ошибки Java, за исключением ошибок в системе безопасности. Если вы обнаружили новую ошибку (именно новую и именно ошибку), то вы можете сообщить об этом зайдя на
http://java.sun.com:80/cgi-bin/bugreport.cgi
Вы должны проверить, что обнаруженная вами ошибка отсутствует в списке известных по двум причинам: во-первых, вы могли обнаружить ошибку, которая известна и к которой существует способ ее обойти. Во-вторых, вы не хотите, чтобы кто-либо тратил уйму времени с сообщением об известной ошибке.

Вы также можете послать в RFE (Request for Enhancement - Предложение об Улучшении) или что-либо еще. ВЫ можете даже присоединиться к голосованию, решающему какие ошибки будут исправляться в первую очередь! Присоединитесь к Java Developer ConnectionTM (это бесплатно), зайдя на http://java.sun.com/jdc/. Затем неспешно топаем на http://developer.javasoft.com/developer/bugParade/#votes


На какие компьютерные платформы перенесена Java? Существует ли версия для Win 3.1?

Список некоторых платформ, поддерживающих Java доступен на http://java.sun.com/cgi-bin/java-ports.cgi
Впечатляющий список систем, на которых запускается GPL Kaffe JVM, приведен на http://www.transvirtual.com/ports.html

Список обновлений, которые вам необходимо установить для запуска Java на Solaris, приведен здесь: http://java.sun.com/products/jdk/1.2/install-solaris-patches.html#2.6

Существует также и версия для Win 3.1. ADK 1.02 от IBM, был замечен в следующем месте:

http://www.alphaworks.ibm.com/formula/
IBM, как и многие другие производители, предлагает версии Java для Linux. IBM Jikes доступен на http://www.alphaworks.ibm.com/ Это довольно большой набор полезного программного обеспечения, включая профилировщик jinsight.
У Netscape Navigator'а для Win3.1 также есть поддержка Java. Но, между тем, полноценной поддержки Java в Win3.1 ждать не стоит, так как в этой системе отсутствуют многие необходимые для нормальной ОС вещи (в основном, длинные имена файлов и многопоточность).

Если вам необходимо работать с Java на старых машинах, то стоит взглянуть на Sun'овский JavaPC. Подробную информацию о нем можно найти на http://java.sun.com/products/javapc/index.html. JavaPC позволяет разрабатывать JDK 1.1-совместимые Java приложения на PC с DOS и Windows 3.x. На данный момент стоит это чудо около $100.


Где мне найти информацию о Java 3DTM?

The Java 3DTM FAQ доступен на http://www.j3d.org/faq/ В нем могут содержаться ответы на те вопросы, которые вы ищете. Он содержит общую информацию о Java 3D, подобно советам для программистов.


Где я могу найти информацию о Java сертификации?

Существуют два уровня сертификации. Прошедшие первый уровень получают звание "Sun Certified Java Programmer", прошедшие второй - "Sun Certified Java Developer". Вы можете найти все об экзаменах на

http://www.sun.com/service/suned/
и затем поискав "sun certified java". Попытка сдать экзамен на Java Programmer стоит $150. Пройти Java-сертификацию не так просто. Это требует ясного представления о всем в данной области.

FAQ о Java сертификации расположен на http://www.marcusgreen.co.uk/


Как мне найти ссылки на свежие новости?

Много полезного можно найти на http://www.nikos.com/javatoys.

Этот сайт очень хорош для программистов, желающих быть хорошо информированными в области компьютерной индустрии - http://slashdot.org/

Этот сайт - источник независимых новостей и комментариев о компьютерной индустрии, включая Java - http://www.pjprimer.com/media.html. Вы можете подписаться ($10/год, 30 дней бесплатно).


А что нынче твориться с Open Source в области Java технологий?

В первую очередь заметим, что все URL в этой области часто меняются и могут быть устаревшими. Если вы можете их уточнить - сообщите об этом автору FAQ. Страничка Gnu Java: http://www.gnu.org/software/java/java.html
Guava (GPL Java компилятор) может быть найден путем долгих поисков в web. В качестве альтернативы, его можно попытаться найти на http://http.cs.berkeley.edu/~engberg/guavac/
Разрабатывается Cygnus Java фронтенд для gcc. Смотрите http://sourceware.cygnus.com/java/

Была выпущена виртуальная машина LaTTe. Это бесплатная виртуальная машина с поддержкой JIT. Она может быть получена с http://latte.snu.ac.kr/.

Classpath - свободная реализация Sun'овских стандартных библиотек Java (v1.1), разрабатываемая в рамках GNU проекта ( http://www.gnu.org). Информация о classpath доступна на http://www.classpath.org/ Это попытка разработать 100% бесплатную замену для библиотек компании Sun, в первую очередь нацеленная на Japhar JVM (ниже). Разработчики всегда с радостью примут вашу помощь.

Смотрите также http://www.japhar.org/ Это - Hungry Programmer's JVM. В настоящий момент доступна только в девелоперском варианте.


Что такое "San Francisco"?

Город такой есть. Шутка.
San Francisco - это кодовое название для очень большого Java проекта, начатого IBM и подержанного другими компаниями. Проект предоставляет возможность создания на Java приложений для обработки данных.

Проект IBM SF соревнуется с продуктами таких компаний, как SAP и Baan. Конечно же, проект SF - мультиплатформенный и использует Java beans и GUI интерфейс. Больше информации об этом проекте можно найти здесь: http://www.ibm.com/Java/Sanfrancisco/


Какие большие, серьезные проекты написаны на Java?

Например, тот же проект San Francisco, описанный выше.

Еще один набор для офиса, написанный на Java, носит имя Applix. Загляните на http://www.applix.com/anyware/index.htm. Демо версия Applix'а стала доступной для загрузки в апреле 1998.

Стоит упомянуть и об Star Division's Client/Server Office. Это набор офисных приложений, с клиентской частью, написанной на Java. Серверная часть может быть запущена на Solaris, NT, OS/390 и AS/400. Старая (не Java) версия шла со всеми рабочими станциями Sun, проданными в Германии. Версия для Linux доступна для свободной загрузки с http://www.stardivision.com/.

Достаточно привлекательным можно назвать и Digital Harbor's Wav текстовый процессор. Он поддерживает массу всего и занимает около 1Mb, в отличие от последнего MS Word, занимающего порядка 114Mb. Бесплатная ознакомительная версия доступна на http://www.digitalharbor.com/

Еще одно приложение - Formula One for Java. Это Excel-совместимая электронная таблица, целиком написанная на Java. Она запускается как JavaBean и поэтому может быть легко использована как один компонент большой системы. Кроме того, ее можно запустить и как приложение, и как апплет! Formula One - продукт Visual Components, Inc. Смотрите http://www.f1j.com/.

Еще есть (я утомился уже) Ncode Research Inc, которая пишет программы для просмотра документов, созданных офисными приложениями. Они специалисты по форматам файлов. Их миссия - сделать все популярные форматы файлов доступными для Java платформы. Они написали целиком на Java вьюеры для Word, Excel и PowerPoint (включая форматы Office 95 и 97). Посмотрите http://www.ncode.com/
Другая компания, работающая в этой области - JSoft. Зайдите на http://www.jsoftinc.com/ для получения дополнительной информации.

Intentia, 8-ой по величине ERP продавец (объем продаж около 320 миллионов $), перенесла весь свой набор программ с RPG на Java - 20 миллионов строк кода. Смотрите их пресс релиз.

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

Многие компании, испытывающие необходимость в выводе графиков, работают с JavaBean компонентами, подобными этому: http://www.quadbase.com/ (смотрите также GraphMaker, упомянутый позже в этом документе). EspressChart - это JavaBean компонент, который предоставляет вам возможность добавлять 2D и 3D графики в ваши приложения/апплеты. Этот компонент легок в использовании, запускается везде и имеет 100% соответствие стандартам Java.

Несколько превосходных игровых апплетов доступно на http://www.gameplay.com/webgames
http://www.javagame.net/
http://www.javaarcade.com/ Посмотрите пинболл -- обалдейте от этого сумасшедшего ритма!
Еще хорошие игровые Java апплеты можно найти здесь: http://www.frontiernet.net/~imaging/java_games.html
и здесь: http://www.gamesdomain.co.uk/GamesArena/
Если вы хотите использовать Java для обучения математие и компьютерной графике, посетите http://www.frontiernet.net/~imaging/math_is_a_game.html

ObjectDesign Inc. имеет ODBMS, написанный на чистой Java. Продукт называется PSE Pro for Java. Посмотрите http://www.objectdesign.com/
Еще одна база данных, написанная на Java доступна с http://www.cloudscape.com/.
И еще одна база данных: http://www.instantdb.co.uk/. InstantDB является бесплатной для некоммерческого использования, очень хорошо документирована и поддерживается. (Рекомендуем!)
Наконец, напомним, что компилятор Sun написан на Java. Это действительно большое приложение, распространенное на огромном количестве всевозможных платформ. Команда компиляции "javac test.java" эквивалентна

java sun.tools.javac.Main test.java


Какие существуют пользовательские группы (User Groups)?

Существует довольно много таких групп по всему миру. Частичный список с информацией для контакта может быть найден на http://sunsite.unc.edu/javafaq/usergroups.html.

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


Что такое Java Bean?

JavaBean - это Java класс, который следует некоторым простым соглашениям, включая соглашения об именах определенных методов получения и установки состояния. Благодаря этим соглашениям, они (классы) легко могут быть обработаны программным обеспечением, которое присоединяет эти компоненты в момент исполнения. JavaBeans являются повторно-используемыми программными компонентами.

Работа с компонентами JavaBeans напоминает игру в конструктор Lego[tm]. Компоненты в данном случае являются как бы кубиками этого конструктора. Их также можно соединять, получая при этом другие классы. Смотрите http://www.jc100.org/
JavaBean FAQ расположен по адресу http://java.sun.com/beans/faq/faq.general.html

Некоторые люди сообщали, что BDK 1.1 демонстрашки не работали в Windows. Эта проблема появляется когда bdk устанавливается в директорию, содержащую пробелы в ее имени, например, "program files".

Попробуйте переустановить bdk в директорию, имя которой не содержит пробелов.


Что такое сервлет (Servlet)?

Java сервлет - это некий код, подобный CGI. Когда вы просматриваете какой-либо URL, соответствующий Java сервлету, вызывается код этого сервлета. Сервлет обычно делает разные вещи, подобные чтению/записи баз данных и выдает HTML код, который отсылается обратно браузеру.


Что такое JSP?

Java Server Page (JSP) - это некоторый код, которому сопоставлен определенный URL. Он подобен открытой версии Microsoft'овских "Active Server Pages" (ASP).

Когда вы просматриваете URL, он динамически генерирует Java код, компилирует и запускает его на лету для генерации HTML кода, отсылаемого обратно браузеру.

JSP файлы используют структуру сервлетов и вызывают компоненты JavaBean. Смотрите http://www.klomp.org/gnujsp/. Здесь вы найдете информацию об open source проекте GNUJsp, бесплатной реализации JSP.


Где мне найти примеры использования библиотек классов Java?

Двухтомник "Java Class Libraries" (Библиотеки Классов Java), авторов Чана (Chan), Ли (Lee) и Крама (Krama), опубликованный Addison Wesley, содержит прекрасные примеры использования стандартных библиотек. Один программист сказал: "Когда мне необходимо использовать плохо знакомую часть библиотеки классов, первым делом я читаю их примеры". Вы можете просмотреть их в онлайн на http://java.sun.com/docs/books/chanlee/second_edition/vol1/examples.html и http://java.sun.com/docs/books/chanlee/second_edition/examples.html


Как мне определить, какая версия Java на моей системе?

В Solaris, вы можете использовать команду pkginfo, например, так:

pkginfo -l SUNWjvrt
Она выдаст вам ответ, подобный этому:
PKGINST: SUNWjvrt
NAME: JavaVM run time environment
CATEGORY: system
ARCH: sparc
VERSION: 1.1.6,REV=1998.07.30.16.21
BASEDIR: /
VENDOR: Sun Microsystems, Inc.
...и т.д.
Вы также можете попробовать
java -fullversion
Правда, это неофициально поддерживаемая опция и может исчезнуть в дальнейшем. Попробуйте также
java -version

Популярное

Не так давно в сети появился новый сервис, под названием Dead Man Zero. Этот сервис сделал...
Рынок социальных площадок уже давно стал стабильным. Несмотря на то, что время от времени...
Artisteer 4 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Февраль 2017 (3)
Январь 2017 (1)
Август 2016 (1)
Май 2016 (2)
Ноябрь 2015 (1)
Октябрь 2015 (1)

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41

Друзья сайта

Хотите продать свой сайт?
- Мы быстро и удобно для Вас сможем его купить:
  • Заявка на продажу сайта
  • Раcсматриваем цены на каждый сайт в индивидуальном порядке.

    Случайная цитата

    Bjarne Stroustrup:

    "Я всегда мечтал о том, чтобы моим компьютером можно было пользоваться так же легко, как телефоном; моя мечта сбылась: я уже не могу разобраться, как пользоваться моим телефоном."

    Опрос

    Какой браузер Вы используете?

    Internet Explorer
    Google Chrome
    Mozilla Firefox
    Netscape Navigator
    Maxthon Browser
    Opera
    Mozilla Suite
    SeaMonkey
    K-Meleon
    Safari
    Amaya
    Avant Browser
    SlimBrowser
    Другой...