Java что быстрее

программирование java

println(str);
или
print(str + "\n");
Ответы:
Думаю что идентично.
И это - такая "копеечная" оптимизация совершенно бесполезна даже в языках более низкого уровня.
Посмотрим сорцы JDK.
В println() вызываются два метода: print() и newLine() - они оба использую механизм синхронизации и сброс буфера.
В print() используется механизм синхронизации и сброс буфера (второе, если только в конце найден символ '\n').
Следовательно, print("blabla\n") работает чуть быстрее, чем println("blabla").
Но в print(str + "\n") - конкатенация строк, в вашем случае, портит всю малину, т.к. за кулисами создается новый безымянный объект типа String. И именно поэтому println(str) в данном случае будет быстрее (правда, человеческий глаз эту разницу вряд ли заметит, т.к. счет идет всего на пару миллисекунд, но если очень много потоков пытаются печатать на консоли одновременно, то более быстрым будет вариант - print(str + "\n")).
Пару миллисекунд? Никогда не беритесь за создание компьютера. Получится слоупок
Увы. По тестам - 400 раз println строки - 12 мс
400 раз print конкатенации строк - 6мс


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.