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

Этот сайт работает для меня.

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

import org.apache.hadoop.fs.*;

...
Configuration conf = new Configuration();

Path output = new Path("/the/folder/to/delete");
FileSystem hdfs = FileSystem.get(conf);

// delete existing directory
if (hdfs.exists(output)) {
    hdfs.delete(output, true);
}

Job job = Job.getInstance(conf, "word count");
...

Вам не нужно явно добавлять hdfs://hdfshost:port.

37
задан Allan Bowe 27 November 2009 в 14:43
поделиться

3 ответа

Извините, на самом деле найденный ответом в JLS: http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#40625 кажется, что имена идентификатора имеют неограниченную длину.

Также найденный подобным вопросом (хотя не появилось в моем начальном поиске, или когда я ввел заголовок вопроса, который является странным): Максимальная Длина Имени метода

20
ответ дан 27 November 2019 в 03:41
поделиться

Если я не ошибаюсь, предел не находится на самом языке, а в classfile формате, который ограничивает имена к 64k, таким образом, для всего практического идентификатора намерений и целей длина не является проблемой. А именно, это - определение постоянной строки в пуле, который, кажется, подразумевает, что максимальная длина составляет 16 битов:

CONSTANT_Utf8_info {
    u1 tag;
    u2 length;
    u1 bytes[length];
}

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

33
ответ дан 27 November 2019 в 03:41
поделиться

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

Основной java:1: представление UTF8 для строки "aaaaaaaaaaaaaaaaaaaa..." является слишком длинным для постоянного пула

9
ответ дан 27 November 2019 в 03:41
поделиться
Другие вопросы по тегам:

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