Как развернуть строку задом наперёд?​

Для разворота строки в java у класса StringBuilder есть метод reverse, возвращающий перевёрнутую строку.

 

Как разбить строку на массив строк?​

Для деления строки у класса java.lang.String есть метод split, который в аргументе принимает символ — разделитель строки.

 

В какой кодировке хранятся строки в Java? Как преобразовать строку из UTF-8 в Windows-1251?​

Строки в java хранятся в Unicode. Для того что бы собрать строку в кодировке windows-1251 для неё нужно подготовить «правильные» байты.

 

Как отсортировать список в алфавитном порядке?​

Воспользуемся золотым правилом — не будем изобретать велосипед. Воспользуемся инструментами, которые идут в стандартной библиотеке — java.util.Collections, а точнее методом sort.

Стоит обратить внимание на то, что метод ничего не возвращает, вся сортировка инкапсулирована от клиента и происходит внутри листа, ссылку на который передали в метод.

Как правильно сравнивать строки в Java, игнорируя регистр букв?​

Для этой задачи у класса java.lang.String есть метод equalsIgnoreCase, который сравнивает строки, не обращая внимания на разницу в регистрах букв.

Как правильно сравнивать строки в Java?​

Так как оператор «==» сравнивает на идентичность только примитивы и ссылки на объект, в java для сравнения строк используется метод equals(), наследуемый от класса Object и реализованный в классе java.lang.String. Метод сравнивает строку, на которой он вызван, со строкой, которую в него передали и возвращает true или false.

Выводом вышеуказанного кода будет сначала false, затем true.

В чём отличие i++ от ++i?​

Унарный оператор инкремента в java может записываться как после переменной, так и перед ней. В случае, когда инкремент стоит в конце- сначала используется значение переменной, а уже затем к ней прибавляется единица. В случае же когда инкремент в начале — первой прибавляется единица, а уже потом увеличенная переменная используется в выражении.

В чём отличие wait(100) от sleep(100)?​

Оба метода используются в механизме многопоточности в Java. wait(long ms) можно вызвать в синхронизированном блоке кода с целью поставить нить на паузу на время, переданное внутрь метода или же пока другая нить не дёрнет уснувшую методом notify или notifyAll. Главное в том что wait после вызова освобождает мютекс захваченного монитора и другая нить может выполнять освобождённый блок кода.
Метод sleep(long ms) отправляет нить в сон на переданное время, и нить будет на паузе отведённые миллисекунды, если не произойдёт исключительной ситуации. «Легальных» способов без исключений вырвать нить из sleep не предусмотрено. Вызванный в синхронизированном блоке метод sleep не обеспечивает освобождение мютекса.

Что такое try-with-resources?​

Данная конструкция(try-with-resources) появилась в java 7, она позволяет использовать блок try-catch не заботясь о закрытии ресурсов, используемых в данном сегменте кода.
Ресурсы объявляются в скобках сразу после try, а компилятор уже сам неявно создаёт секцию finally в которой и происходит закрытие без участия разработчика. Конструкция является так называемым «синтаксическим сахаром» и создана для облегчения жизни программиста. Под ресурсами подразумеваются сущности, реализующие интерфейс java.lang.Autocloseable Общий вид конструкции выглядит следующим образом

Стоит заметить, что блоки catch и явный finally выполняются уже после того, как закрываются ресурсы в неявном finnaly.

В чём отличие final, finally, finalize?​

Скорее проще перечислить что есть у них общего… а это только корень final и то что они являются зарезервированными словами в Java.
final — модификатор, применяющийся к классам, методам, переменным. В общем своём представлении делающий объект своего действия неизменным, а если быть точнее, то после его применения:
-от класса становится невозможно наследоваться;
-метод невозможно переопределить;
-переменную невозможно изменить(но в случае, если переменная-это ссылка на объект, то на состояние объекта final никак не влияет, если только класс сам не является final).
finalize() является методом класса Object.
finally является частью конструкции try-catch-finally, в где играет роль блока, который выполняется независимо от событий происходящих в try-catch и выполняется в любом случае.