Скомпилируйте openJDK8 в первый раз

Открытый исходный код

Недавно я начал читать книгу "Углубленное понимание виртуальной машины Java". Когда эта книга была опубликована, Oracle еще не запустила JDK8, но прогноз автора о развитии JDK в главе 1.5 все еще был очень точным, как и его функциональное программирование., модульность и т. д. Когда я это увидел, я восхитился предвидением автора.Эти моменты были в основном предсказаны, и, увидев это, я еще больше заинтересовался этой книгой.

Конец первой главы — компиляция OpenJDK самостоятельно, JDK7 еще давным-давно, так что давайте сразу перейдем к JDK8.

Представьте окружающую среду

  • Система Centos7
  • Bootstrap JDK 1.8
  • OpenJDK 1.8

Поскольку это первый раз, когда компилируется openjdk, поэтому выберите свой собственный сервер в качестве среды. Я уже устанавливал JDK8 на этот сервер, и его можно использовать в качестве моего BootStrap jdk.(Установка Linux jdk8 не будет представлена.)

BootStrap JDK — это исполняемый jdk openjdk, потому что openjdk написан на java, а для запуска java требуется среда.

использовался раньше

hg clone hg.openjdk.java.net/jdk8u/jdk8u jdk8u

Эта команда предназначена для загрузки openjdk, но позже я проверил структуру каталогов openjdk и обнаружил, что тот, который я скачал, отличается от того, что есть в Интернете, поэтому я изменил другой. адрес:

disk.baidu.com/is/1DKrenyo LX6…Пароль: r653

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

Затем переходите к установке того, что вам нужно.

Установите пакет alsa.

yum install alsa-lib-devel

Установить cups-devel

yum install cups-devel

Установите X-библиотеки

yum install libX* yum install xrender

установить г++

yum install gcc gcc-c++

установить фритайп

yum install freetype

установить муравей

yum install ant yum install ccache

Установите переменные среды после установки

export JAVA_HOME=/usr/local/java/jdk1.8.0_161

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin


export LANG=C
unset JAVA_HOME
unset CLASSPATH

export ALT_BOOTDIR=/usr/local/java/jdk1.8.0_161
export ANT_HOME=/usr/bin/ant
export ALLOW_DOWNLOADS=true
export USE_PRECOMPILED_HEADER=true
export ARCH_DATA_MODEL=64
export HOTSPOT_BUILD_JOB=6
export ALT_PARALLEL_COMPILE_JOBS=6
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug

Это моя собственная переменная среды.

Затем выполните файл конфигурации

chmod +x configure ./configure

затем скомпилировать

make

При компиляции в первый раз я использовал пакет, скачанный с hg.Как бы я его не компилировал, всегда сообщал об ошибке в конце. Итак, я изменил jdk по ссылке выше.При первой компиляции была проблема, но во второй раз все было в порядке. Прилагаемые чертежи выглядят следующим образом. вечноноцид://C6FAA89E-4A5B-44D0-A821-BA0101E2FCEC/appyinxiangcom/11444250/ENResource/p176

Итак, как вы видите, что он действительно скомпилирован? Используйте команду java -version и сравните ее с sun jdk. солнце JDK: вечноноцид://C6FAA89E-4A5B-44D0-A821-BA0101E2FCEC/appyinxiangcom/11444250/ENResource/p174

открыть JDK: вечноноцид://C6FAA89E-4A5B-44D0-A821-BA0101E2FCEC/appyinxiangcom/11444250/ENResource/p175

Здесь компилируется OpenJDK Его преимущество в том, что можно просмотреть весь исходный код, и даже добавить точки останова для запуска, что делает нам более удобным изучение принципа работы JVM.

Ссылаться на:

  https://www.cnblogs.com/mr-long/p/5841604.html
  https://www.jianshu.com/p/5db1131b3038