Читать «Java: руководство для начинающих» онлайн - страница 365

Герберт Шилдт

или более поздняя версия данного комплекта. / import java.io.; class Hyphen2 { public static void main(String args[]) throws IOException { int i; // проверить сначала, указаны ли оба файла if(args.length !=2 ) { System.out.println("Usage: CopyFile From To"); return; } // скопировать файл и заменить в нем пробелы дефисами, // используя оператор try с ресурсами try (FileReader fin = new FileReader(args[0]); FileWriter fout = new FileWriter(args[1])) { do { i = fin.read(); // преобразовать пробел в дефис if((char)i == • ') i = if(i != -1) fout.write(i); } while(i != —1); } catch(IOException exc) { System.out.println("I/O Error: " + exc); } } }

К какому типу относится поток System. in? К типу InputStream.

Что возвращает метод read () из класса InputStream по достижении конца потока? Значение -1.

Поток какого типа используется для чтения двоичных данных? Поток типа DatalnputStream.

Классы Reader и Writer находятся на вершине иерархии классов символьного ввода-вывода

Оператор try без ресурсов служит для . автоматического управления ресурсами

Если для закрытия файла используется традиционный способ, то это лучше всего делать в блоке finally. Верно или неверно? Верно. Глава 11. Многопоточное программирование

Каким образом имеющиеся в Java средства многопоточного программирования позволяют писать более эффективные программы? Средства многопоточного программирования дают возможность использовать периоды простоя, наступающие практически в любой программе. Когда операции в одном потоке по каким-то причинам не выполняются, в действие вступают другие потоки. В многоядерных системах два и больше потоков могут исполняться одновременно.

Для поддержки многопоточного программирования в Java предусмотрен класс и интерфейс . Для поддержки многопоточного программирования в Java предусмотрен класс Thread и интерфейс Runnable.

В каких случаях следует отдать предпочтение расширению класса Thread над реализацией интерфейса Runnable? Подклассы, производные от класса Thread, целесообразно создавать в тех случаях, когда, помимо метода run (), требуется переопределить другие методы данного класса.

Покажите, как с помощью метода j о in () можно организовать ожидание завершения потокового объекта MyThrd. MyThrd.join()

Покажите, как установить приоритет потока MyThrd на три уровня выше нормального приоритета. MyThrd.setPriority(Thread.N0RM_PRI0RITY+3);

Что произойдет, если в объявлении метода указать ключевое слово synchronized? Если указать ключевое слово synchronized в объявлении метода, то в каждый момент времени этот метод будет вызываться только в одном потоке для любого заданного объекта его класса.