Что действительно происходит внутри метода java copyOf ()? [Дубликат]

Ответ зависит от того, какой синтаксический анализатор вы используете.

Ниже приведено подробное описание проблемы: http://www.ibm.com/developerworks/xml/library/x-tipsaxdo4/index.html

С помощью анализатора StaX вы можете указать свойство isCoalescing = true. Это свойство specifies whether to coalesce adjacent adjacent character data.

Но с SAX такого управления вообще нет.

128
задан Mogsdad 15 July 2015 в 02:40
поделиться

11 ответов

Вы не указали, какую версию вы хотите, но архив исходного кода JDK 8 может быть загружен здесь здесь , а также JDK 7 и JDK 6 .

Кроме того, вы можете просматривать или клонировать репозитории Mercurial: 8 , 7 , 6 .

121
ответ дан Luiggi Mendoza 17 August 2018 в 11:01
поделиться
  • 1
    Да; скажем, я хочу 6, а затем на этой странице загрузки, что мне нужно скачать? Большой файл jdk-6u21-ea-src-b04-jrl-05_may_2010.jar, 136.48 MB? Я уже скачал этот. Но не содержит исходного кода. – Martijn Courteaux 24 May 2010 в 13:06
  • 2
    @Martijn: Вы пытались загрузить большой файл jar, а затем читали README внутри него? В основном вы просто запускаете его с помощью java -jar jdk-6u21-ea-src-b04-jrl-05_may_2010.jar. Он будет извлекать источник. – Jon Skeet 24 May 2010 в 13:30
  • 3
    Да я сделал это. И я извлек его, как вы писали. Но в нем нет исходной банки или zip. – Martijn Courteaux 24 May 2010 в 14:31
  • 4
    Просто хотел добавить, что текущим (2013) местом является теперь jdk7.java.net, который перенаправляет на OTN для любых загрузок. – Kedar Mhaswade 14 July 2013 в 02:09
  • 5

Скорее всего, вы уже получили исходный код с JDK, вопрос о том, где он находится. В случае, если папка JDK не содержит исходного кода:

sudo apt-get install openjdk-7-source

OSX Folks, поиск в формулах homebrew.

В ubuntu приведенная выше команда помещает ваш файл souce в : / usr / lib / jvm / openjdk-7 /

Хорошая новость заключается в том, что Eclipse отправит вас туда уже (как привязать Eclipse к исходному коду Java):

Следуйте оранжевые кнопки

enter image description here [/g0] enter image description here [/g1] enter image description here [/g2]

23
ответ дан amertkara 17 August 2018 в 11:01
поделиться

В источнике JDK 8 можно найти в /src.zip. Теперь в некоторых промежуточных версиях этот zip отсутствовал, но снова он доступен.

убедитесь, что вы также выбрали источник из мастера установки.

4
ответ дан dvsakgec 17 August 2018 в 11:01
поделиться
2
ответ дан frewper 17 August 2018 в 11:01
поделиться

Официальная ссылка больше не предлагает исходный код. Официальная ссылка и случайные поисковые запросы Google выведут вас с открытым jdk. Открытый jdk вызывает проблемы с сборкой Android, если файлы сценария сборки не изменены. Исходный пакет можно найти здесь:

sudo add-apt-repository "deb http://ppa.launchpad.net/ferramroberto/java/ubuntu oneiric main"

У этого репо все еще есть пакет sun-java6-source. Кредит: http://pulasthisupun.blogspot.com/2012/05/installing-sun-java-6-with-apt-get-in.html

1
ответ дан Jitendra Kulkarni 17 August 2018 в 11:01
поделиться

Да !! Получил это!

Я загрузил Java Developer Kit (JDK) из sun.com для Linux. Был src.zip. Но сначала я удалил все пакеты Java с помощью синаптики.

2
ответ дан Martijn Courteaux 17 August 2018 в 11:01
поделиться
  • 1
    обратите внимание, что под Linux нет необходимости устанавливать root для установки Java. Я всегда (с тех пор более десяти лет) устанавливаю Java как пользователя без полномочий root на своих Un * x системах (так, нет, я не использую apt-get / synaptic / whatever). – SyntaxT3rr0r 27 February 2011 в 16:31

JDK 1.6, который я сейчас использую на OSX Mountain Lion, также не был с src.zip, и насколько я могу судить, нет поддерживаемого OSX JDK для версии 1.6.

Поэтому я загрузил источник OpenJDK (используя ссылки из принятого ответа (+1)), затем выполнил:

cd ~/Downloads
mkdir jdk6src
cd jdk6src
tar xf ../openjdk-6-src-b27-26_oct_2012.tar.gz
cd jdk/src/share/classes
jar cf /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/src.jar *

(ваши имена файлов и пути могут меняться ...)

Связать это src.jar с соответствующей платформой Java в вашей среде IDE, и вам должно быть хорошо идти.

Существуют некоторые расхождения между исходным кодом OpenJDK и JDK, который я сейчас выполняю (номера строк, t совпадают в отладчике, для одного), но если все, что вам нужно, это zip / jar, чтобы указать вашу среду IDE для относительно небольшого числа случаев, вам нужно заглянуть в какой-то код, чтобы понять, как что-то работает, тогда это должно сделать трюк .

8
ответ дан MisterEd 17 August 2018 в 11:01
поделиться
  • 1
    thx, мне это нужно при использовании mac. нет никаких четких инструкций относительно последней ОС и того, как захватить источник. (все они говорят о загрузке обновлений, которые не включают источник или загрузку из oracle, но все это неопределенно или ошибочно в той или иной форме) – dtc 6 September 2014 в 16:38
  • 2
    Просто хотел подчеркнуть, что это правильный способ сделать это, потому что, как @dtc сказал, каждая другая инструкция там ошибочна или устарела. Это было с IntelliJ 15 в проекте Scala, оно отлично работало. Спасибо @MisterEd! – mjuarez 12 November 2015 в 18:43
  • 3
    src.jar не является полным источником. Например, он не содержит источник javax.net – Kannan Ramamoorthy 12 April 2018 в 06:11

Ну, я открыл терминал на своем Mac и набрал: «echo $ JAVA_HOME», затем я получил директорию, поехал туда и нашел src.zip

2
ответ дан petery 17 August 2018 в 11:01
поделиться

К сожалению, на момент написания этой статьи DESPITE их собственное чтение readme, no src.zip в каталогах установки JDK 7 или 8 при загрузке версии Windows .

Примечание: возможно, это происходит, потому что многие из нас фактически не запускают программу .exe, а вместо этого извлекают ее. Многие из нас не запускают установку Java (полностью взорванные окна) по соображениям безопасности .... мы просто хотим, чтобы JDK помещал где-то в место, где потенциальные вирусы не могут его найти.

Но их политика относительно Windows .exe (что бы это ни было на самом деле) действительно гайки, HOWEVER , src.zip DOES существуют в установке linux (a .tar.gz) , Существует несколько способов извлечения .tar и .gz, и я предпочитаю бесплатную утилиту «7Zip».

  1. загружает 64-битный Linux .tar.gz
  2. используйте 7zip для распаковки .tar.gz в .tar
  3. используйте 7zip для извлечения .tar в каталог установки
  4. src.zip будет ждать вас в этом каталоге установки .
  5. вытащите его и поместите туда, где хотите.

Oracle, это действительно глупо.

12
ответ дан user 17 August 2018 в 11:01
поделиться
  • 1
    Oracle JDK8 (по крайней мере, 1.8.60) имел src.zip для меня в Windows. Однако Eclipse не выбрал его по умолчанию. – milletron 12 September 2015 в 21:35
  • 2
    @milletron, я тоже заметил это в недавнем выпуске Windows. У меня такое ощущение, что что-то сломалось в их загрузке изображений в течение некоторого периода времени ранее. Возможно, связано с различием в терминах окончания строки b / w unix (LF) и windows (CRLF)? – user 13 September 2015 в 14:16
  • 3

Этот файл содержится в стандартном загрузке JDK . Кроме того, ваша система Linux, вероятно, имеет JDK в репозитории. В моем файле Ubuntu Linux находится здесь: /usr/lib/jvm/java-6-sun-1.6.0.20/src.zip

3
ответ дан vbezhenar 17 August 2018 в 11:01
поделиться
  • 1
    Ага! Можете ли вы опубликовать, какие пакеты вы установили для своей виртуальной машины Java и JDK, пожалуйста. Потому что у меня нет этой папки. – Martijn Courteaux 24 May 2010 в 13:25
  • 2
    Я установил sun-java6-jdk. – vbezhenar 24 May 2010 в 15:03

У меня была эта проблема с моим Ubuntu.

Все, что мне нужно было сделать, чтобы получить источники для моего java-атак, было:

sudo apt-get install sun-java6-source 
10
ответ дан Xorty 17 August 2018 в 11:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: