JDK & OpenJDK

Программные средства разработки

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 13914
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: JDK & OpenJDK

Непрочитанное сообщение Olej » 11 дек 2014, 02:03

По самому языку, и даже не по самому языку, а по окружающим его пакетам - нужно иметь под рукой справочные материалы.
Вот, утверждается, что это приличная книга (скачивать отсюда ;-) ):
Java. The Complete Reference. 8th Edition / Java. Полное руководство. 8-е издание.
Изображение

Справочник по пакетам Java от производителя: Java™ Platform, Standard Edition 6. API Specification. Это - основной справочный материал при написании кода Java.

Учебный курс Java из 27 статей: Обучение Java - там есть любопытные мелочи ... но к отдельным утверждениям там нужно подходить с осторожностью.

Аватара пользователя
Olej
Писатель
Сообщения: 13914
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: JDK & OpenJDK

Непрочитанное сообщение Olej » 05 янв 2015, 23:39

Olej писал(а):По самому языку, и даже не по самому языку, а по окружающим его пакетам - нужно иметь под рукой справочные материалы.
Java™ Platform, Standard Edition 8. API Specification - полный, исчерпывающий, интерактивный справочник Java 1.8 непосредственно от Oracle, нынешнего владельца Java... хотя я всегда привык считать автором и владельцем Sun Microsystems.

Аватара пользователя
Olej
Писатель
Сообщения: 13914
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: JDK & OpenJDK

Непрочитанное сообщение Olej » 05 янв 2015, 23:48

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
Писатель
Сообщения: 13914
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: JDK & OpenJDK

Непрочитанное сообщение Olej » 06 янв 2015, 00:00

Olej писал(а): 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
...
Интересно, что в составе самых свежих дистрибутивов Linux включают .rpm пакеты Sun JDK ... но очень старых реализаций:

Код: Выделить всё

[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 ~]$ 
Это даже в сравнении с вариантом OpenJDK, включаемым в тот же дистрибутив по дефаулту:

Код: Выделить всё

[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
Писатель
Сообщения: 13914
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: JDK & OpenJDK

Непрочитанное сообщение Olej » 06 янв 2015, 00:08

Olej писал(а): 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@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
Писатель
Сообщения: 13914
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: JDK & OpenJDK

Непрочитанное сообщение Olej » 06 янв 2015, 00:15

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
Вообще то говоря, это совсем другое место, чем мы видели ранее (JDK 1.7).

Аватара пользователя
Olej
Писатель
Сообщения: 13914
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: JDK & OpenJDK

Непрочитанное сообщение Olej » 06 янв 2015, 00:31

Вписываю, например, ~/.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
Писатель
Сообщения: 13914
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: JDK & OpenJDK

Непрочитанное сообщение Olej » 08 янв 2015, 20:47

Olej писал(а):
Olej писал(а):По самому языку, и даже не по самому языку, а по окружающим его пакетам - нужно иметь под рукой справочные материалы.
Java™ Platform, Standard Edition 8. API Specification - полный, исчерпывающий, интерактивный справочник Java 1.8 непосредственно от Oracle, нынешнего владельца Java... хотя я всегда привык считать автором и владельцем Sun Microsystems.
И тот же (или почти то же справочник), переведенный на русский язык: Платформа Java™, Standard Edition 8. Спецификация API.
Иногда полено, когда толкование каких-то новых и тонких понятий на английском не понятны.

Аватара пользователя
Olej
Писатель
Сообщения: 13914
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: JDK & OpenJDK

Непрочитанное сообщение Olej » 07 апр 2015, 20:29

Ещё раз про оригинальный JDK от Sun/Oracle (был случай установить и вспомнить)...

Качаем отсюда: 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
Если только у вас не RPM дистрибутив (и даже если он), то берём *.tgz.
Разархивируем и просто переносим в хорошее ;-) место...
Хорошее место вполне может быть /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
Здесь для сравнения JDK8 и JDK7 ... видно насколько больше стал размер ... но в принципе, это немного, не должно напрягать ;-)

Теперь осталось только переопределить переменные окружения.
Можно в ~/.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
Теперь если в ранее (до этого) открытых терминалах вы можете исполнять Java:

Код: Выделить всё

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)
То в вновь открытых терминалах у вас используется другая Java:

Код: Выделить всё

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
Писатель
Сообщения: 13914
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: JDK & OpenJDK

Непрочитанное сообщение Olej » 07 апр 2015, 20:33

Olej писал(а):
Olej писал(а):
Olej писал(а):По самому языку, и даже не по самому языку, а по окружающим его пакетам - нужно иметь под рукой справочные материалы.
Java™ Platform, Standard Edition 8. API Specification - полный, исчерпывающий, интерактивный справочник Java 1.8 непосредственно от Oracle, нынешнего владельца Java... хотя я всегда привык считать автором и владельцем Sun Microsystems.
И тот же (или почти то же справочник), переведенный на русский язык: Платформа Java™, Standard Edition 8. Спецификация API.
Иногда полено, когда толкование каких-то новых и тонких понятий на английском не понятны.
А здесь вот лежит холиварная книжка 2015 года издания Шилдт, "Java 8. Полное руководство" [2015, PDF, RUS].
Рекомендую скачать ... пока лежит ;-) , пригодится ... если не сейчас, то потом.

Ответить

Вернуться в «Инструменты программирования»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость