JDK & OpenJDK
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: JDK & OpenJDK
По самому языку, и даже не по самому языку, а по окружающим его пакетам - нужно иметь под рукой справочные материалы.
Вот, утверждается, что это приличная книга (скачивать отсюда ):
Java. The Complete Reference. 8th Edition / Java. Полное руководство. 8-е издание.
Справочник по пакетам Java от производителя: Java™ Platform, Standard Edition 6. API Specification. Это - основной справочный материал при написании кода Java.
Учебный курс Java из 27 статей: Обучение Java - там есть любопытные мелочи ... но к отдельным утверждениям там нужно подходить с осторожностью.
Вот, утверждается, что это приличная книга (скачивать отсюда ):
Java. The Complete Reference. 8th Edition / Java. Полное руководство. 8-е издание.
Справочник по пакетам Java от производителя: Java™ Platform, Standard Edition 6. API Specification. Это - основной справочный материал при написании кода Java.
Учебный курс Java из 27 статей: Обучение Java - там есть любопытные мелочи ... но к отдельным утверждениям там нужно подходить с осторожностью.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: JDK & OpenJDK
Java™ Platform, Standard Edition 8. API Specification - полный, исчерпывающий, интерактивный справочник Java 1.8 непосредственно от Oracle, нынешнего владельца Java... хотя я всегда привык считать автором и владельцем Sun Microsystems.Olej писал(а):По самому языку, и даже не по самому языку, а по окружающим его пакетам - нужно иметь под рукой справочные материалы.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: JDK & OpenJDK
Время идёт ... Всё меняется...Olej писал(а): 1. С сайта Oracle, если вариант SE, то отсюда: http://www.oracle.com/technetwork/java/ ... index.html
2. берём JDK, но можно и JREКод: Выделить всё
[olej@notebook Java]$ ls -l j*-7u5* -rw-rw-r--. 1 olej olej 67218147 июля 31 15:25 jdk-7u5-linux-i586.rpm -rw-rw-r--. 1 olej olej 82947286 июля 31 15:26 jdk-7u5-linux-i586.tar.gz -rw-rw-r--. 1 olej olej 34374469 июля 31 17:00 jre-7u5-linux-i586.tar.gz
Java SE Development Kit 8 Downloads
Java SE Development Kit 8u25
...
Linux x86 135.24 MB jdk-8u25-linux-i586.rpm
Linux x86 154.88 MB jdk-8u25-linux-i586.tar.gz
Linux x64 135.6 MB jdk-8u25-linux-x64.rpm
Linux x64 153.42 MB jdk-8u25-linux-x64.tar.gz
...
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: JDK & OpenJDK
Интересно, что в составе самых свежих дистрибутивов Linux включают .rpm пакеты Sun JDK ... но очень старых реализаций:Olej писал(а): Java SE Development Kit 8 DownloadsJava SE Development Kit 8u25
...
Linux x86 135.24 MB jdk-8u25-linux-i586.rpm
Linux x86 154.88 MB jdk-8u25-linux-i586.tar.gz
Linux x64 135.6 MB jdk-8u25-linux-x64.rpm
Linux x64 153.42 MB jdk-8u25-linux-x64.tar.gz
...
Код: Выделить всё
[Olej@modules ~]$ yum list java*sun*
...
Доступные пакеты
java-1.6.0-sun.x86_64 1:1.6.0.41-1.R russianfedora-nonfree
java-1.6.0-sun-demo.x86_64 1:1.6.0.41-1.R russianfedora-nonfree
java-1.6.0-sun-devel.x86_64 1:1.6.0.41-1.R russianfedora-nonfree
java-1.6.0-sun-jdbc.x86_64 1:1.6.0.41-1.R russianfedora-nonfree
java-1.6.0-sun-plugin.x86_64 1:1.6.0.41-1.R russianfedora-nonfree
java-1.6.0-sun-src.x86_64 1:1.6.0.41-1.R russianfedora-nonfree
[Olej@modules ~]$
Код: Выделить всё
[Olej@modules examples.draft]$ java -version
java version "1.7.0_71"
OpenJDK Runtime Environment (fedora-2.5.3.0.fc20-x86_64 u71-b14)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: JDK & OpenJDK
Установка:Olej писал(а): Java SE Development Kit 8 DownloadsJava SE Development Kit 8u25
...
Linux x86 135.24 MB jdk-8u25-linux-i586.rpm
Linux x86 154.88 MB jdk-8u25-linux-i586.tar.gz
Linux x64 135.6 MB jdk-8u25-linux-x64.rpm
Linux x64 153.42 MB jdk-8u25-linux-x64.tar.gz
...
Код: Выделить всё
[Olej@modules JDK]$ sudo yum localinstall jdk-8u25-linux-x64.rpm
...
Общий размер: 220 M
Объем изменений: 220 M
Is this ok [y/d/N]: y
...
Установка : 2000:jdk1.8.0_25-1.8.0_25-fcs.x86_64 1/1
Unpacking JAR files...
rt.jar...
jsse.jar...
charsets.jar...
tools.jar...
localedata.jar...
jfxrt.jar...
yum-updatesd not on the bus
Проверка : 2000:jdk1.8.0_25-1.8.0_25-fcs.x86_64 1/1
Установлено:
jdk1.8.0_25.x86_64 2000:1.8.0_25-fcs
Выполнено!
Код: Выделить всё
[Olej@modules opt]$ ls -l /opt
итого 16
drwxr-xr-x. 6 root root 4096 июл 1 2014 google
drwxr-xr-x. 9 root root 4096 янв 3 17:46 maxthon
drwxr-xr-x. 6 root root 4096 дек 3 20:19 teamviewer
drwxr-xr-x. 3 root root 4096 ноя 10 11:10 yandex
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: JDK & OpenJDK
Olej писал(а): Ну ... и куда он его поставил?
Код: Выделить всё
[Olej@modules /]$ ls /usr/java/jdk1.8.0_25/bin/
appletviewer jarsigner javah jcmd jhat jmc.ini jstat orbd rmiregistry unpack200
ControlPanel java javap jconsole jinfo jps jstatd pack200 schemagen wsgen
extcheck javac javapackager jcontrol jjs jrunscript jvisualvm policytool serialver wsimport
idlj javadoc java-rmi.cgi jdb jmap jsadebugd keytool rmic servertool xjc
jar javafxpackager javaws jdeps jmc jstack native2ascii rmid tnameserv
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: JDK & OpenJDK
Вписываю, например, ~/.bashrc
Проверяем:
Код: Выделить всё
[Olej@modules ~]$ cat ./.bashrc
...
export JAVA_HOME=/usr/java/jdk1.8.0_25
export JDK_HOME=$JAVA_HOME
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JRE_HOME/lib/rt.jar:.
export PATH=$JDK_HOME/bin:$JRE_HOME/bin:$PATH
...
Код: Выделить всё
[Olej@modules ~]$ echo $PATH
/usr/java/jdk1.8.0_25/bin:/usr/java/jdk1.8.0_25/jre/bin:/usr/lib64/qt-3.3/bin:/usr/libexec/lightdm:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/Olej/2014-WORK/own.BOOK/GO/examples.Go.DRAFT/bin:/home/Olej/.local/bin:/home/Olej/bin:/home/Olej/2014-WORK/own.BOOK/GO/examples.Go.DRAFT/bin
[Olej@modules ~]$ env | grep _HOME
JRE_HOME=/usr/java/jdk1.8.0_25/jre
JAVA_HOME=/usr/java/jdk1.8.0_25
JDK_HOME=/usr/java/jdk1.8.0_25
[Olej@modules ~]$ env | grep CLASS
CLASSPATH=/usr/java/jdk1.8.0_25/jre/lib/rt.jar:.
[Olej@modules ~]$ java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
[Olej@modules ~]$ javac -version
javac 1.8.0_25
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: JDK & OpenJDK
И тот же (или почти то же справочник), переведенный на русский язык: Платформа Java™, Standard Edition 8. Спецификация API.Olej писал(а):Java™ Platform, Standard Edition 8. API Specification - полный, исчерпывающий, интерактивный справочник Java 1.8 непосредственно от Oracle, нынешнего владельца Java... хотя я всегда привык считать автором и владельцем Sun Microsystems.Olej писал(а):По самому языку, и даже не по самому языку, а по окружающим его пакетам - нужно иметь под рукой справочные материалы.
Иногда полено, когда толкование каких-то новых и тонких понятий на английском не понятны.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: JDK & OpenJDK
Ещё раз про оригинальный JDK от Sun/Oracle (был случай установить и вспомнить)...
Качаем отсюда: http://www.oracle.com/technetwork/java/ ... 33151.html
Для Linux там не так и много вариантов:
Если только у вас не RPM дистрибутив (и даже если он), то берём *.tgz.
Разархивируем и просто переносим в хорошее место...
Хорошее место вполне может быть /opt/oracle (куда ставятся многие пакеты от Oracle по умолчанию):
Здесь для сравнения JDK8 и JDK7 ... видно насколько больше стал размер ... но в принципе, это немного, не должно напрягать
Теперь осталось только переопределить переменные окружения.
Можно в ~/.bashrc дописать такой вот фрагмент:
Теперь если в ранее (до этого) открытых терминалах вы можете исполнять Java:
То в вновь открытых терминалах у вас используется другая Java:
Таким образом можем легко менять какую нам надо.
Качаем отсюда: http://www.oracle.com/technetwork/java/ ... 33151.html
Для Linux там не так и много вариантов:
Код: Выделить всё
Linux x86 146.84 MB jdk-8u40-linux-i586.rpm
Linux x86 166.85 MB jdk-8u40-linux-i586.tar.gz
Linux x64 145.14 MB jdk-8u40-linux-x64.rpm
Linux x64 165.17 MB jdk-8u40-linux-x64.tar.gz
Разархивируем и просто переносим в хорошее место...
Хорошее место вполне может быть /opt/oracle (куда ставятся многие пакеты от Oracle по умолчанию):
Код: Выделить всё
[root@notebook tmp]# du -hs jdk1.8.0_40
330M jdk1.8.0_40
[root@notebook oracle]# du -hs jdk1.7.0_05
192M jdk1.7.0_05
Теперь осталось только переопределить переменные окружения.
Можно в ~/.bashrc дописать такой вот фрагмент:
Код: Выделить всё
export JAVA_HOME=/opt/oracle/jdk1.8.0_40
export JDK_HOME=$JAVA_HOME
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JRE_HOME/lib/rt.jar:.
export PATH=$JDK_HOME/bin:$JRE_HOME/bin:$PATH
MANPATH=$MANPATH:$JAVA_HOME/man
Код: Выделить всё
bash-4.2$ java -version
java version "1.7.0_75"
OpenJDK Runtime Environment (fedora-2.5.4.2.fc20-i386 u75-b13)
OpenJDK Server VM (build 24.75-b04, mixed mode)
Код: Выделить всё
bash-4.2$ java -version
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
Java HotSpot(TM) Server VM (build 25.40-b25, mixed mode)
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: JDK & OpenJDK
А здесь вот лежит холиварная книжка 2015 года издания Шилдт, "Java 8. Полное руководство" [2015, PDF, RUS].Olej писал(а):И тот же (или почти то же справочник), переведенный на русский язык: Платформа Java™, Standard Edition 8. Спецификация API.Olej писал(а):Java™ Platform, Standard Edition 8. API Specification - полный, исчерпывающий, интерактивный справочник Java 1.8 непосредственно от Oracle, нынешнего владельца Java... хотя я всегда привык считать автором и владельцем Sun Microsystems.Olej писал(а):По самому языку, и даже не по самому языку, а по окружающим его пакетам - нужно иметь под рукой справочные материалы.
Иногда полено, когда толкование каких-то новых и тонких понятий на английском не понятны.
Рекомендую скачать ... пока лежит , пригодится ... если не сейчас, то потом.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость