Кто-нибудь использует короткие и байтовые примитивные типы в реальных приложениях? - PullRequest
11 голосов
/ 31 декабря 2008

Я программирую на Java с 2004 года, в основном это корпоративные и веб-приложения. Но я никогда не использовал short или byte , кроме игрушечной программы, просто чтобы узнать, как работают эти типы. Даже в цикле for 100 раз мы обычно используем int . И я не помню, сталкивался ли я когда-либо с кодом, который использовал байт или short , кроме некоторых открытых API и фреймворков.

Да, я знаю, вы можете использовать short или byte для сохранения памяти в больших массивах, в ситуациях, когда экономия памяти действительно имеет значение. Кто-нибудь хочет практиковать это? Или это просто что-то в книгах.

[Изменено]

Использование байтов массивов для сетевого программирования и обмена сокетами - довольно распространенное использование. Спасибо, Даррен, за это. А как насчет коротких ? Райан, дал отличный пример. Спасибо, Райан.

Ответы [ 15 ]

1 голос
/ 18 мая 2012

Для данных в памяти это может быть полезно. Концепция такой сетки данных, как Gemfire, заключается в том, чтобы иметь огромную распределенную карту. Если у вас недостаточно памяти, вы можете переполнить диск с помощью стратегии LRU, но ключи всех записей вашей карты остаются в памяти (по крайней мере, с Gemfire).

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

1 голос
/ 31 декабря 2008

Apache POI использовал short довольно много раз. Вероятно, из-за ограничения числа строк / столбцов в Excel.

Несколько месяцев назад они изменились на int, заменив

createCell (короткий столбец, индекс)

с

createCell (int column) .

1 голос
/ 31 декабря 2008

Я обнаружил, что использую байтовые переменные при выполнении низкоуровневой обработки изображений. Процедуры отрисовки .Net GDI + были очень медленными, поэтому я выполнил свою собственную ручную работу.

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

1 голос
/ 31 декабря 2008

Я использовал байты при сохранении состояния при выполнении проверки модели. В этом приложении экономия места стоит дополнительной работы. Иначе я их никогда не использую.

0 голосов
/ 22 мая 2012

byte s и short s широко используются в разработке Java-карт. Взгляните на мой ответ на Существуют ли в реальной жизни типы примитивных байтов Java? .

...