Lecture11 (1133568), страница 7

Файл №1133568 Lecture11 (Лекции по Технологии программирования. Компонентный подход) 7 страницаLecture11 (1133568) страница 72019-05-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 7)

Все ониреализуют интерфейс последовательностейсимволов CharSequence.Класс String представляет неизменяемыестроки, два других класса — изменяемые.Отличаются они тем, что все операцииStringBuffer синхронизованы, а операцииStringBuilder — нет. Соответственно, первыйкласс нужно использовать для представлениястрок, с которыми могут работать несколькопотоков, а второй — для повышенияпроизводительности в рамках одного потока.В пакете java.lang находятся классы-оберткипримитивных типов Boolean, Byte, Character,Short, Integer, Long, Float, Double.Все числовые классы наследуют классуjava.lang.Number.Эти классы содержат константы,представляющие крайние значениясоответствующих типов, методы дляпреобразования значений соответствующихтипов в строку и для получения этих значенийиз строк, а также методы для работы с битовымпредставлением значений числовых типов.Для форматированного представления чиселиспользуются классы java.text.NumberFormatи java.text.DecimalFormat.Набор математических функций и константреализован в виде элементов классаjava.lang.Math.Для генерации псевдослучайных чисел можноиспользовать как метод Math.random(), так иобладающий большей функциональностьюкласс java.util.Random.Для более сложных вычислений можноиспользовать классы пакета java.math —BigInteger и BigDecimal, представляющиеДля работы со строками используются классыSystem.String, представляющий неизменяемыестроки, и System.Text.StringBuilder,представляющий изменяемые строки.Обертками примитивных типов C# служатследующие структурные типы из пространстваимен System.Boolean, Byte, SByte, Int16, Int32, Int64,UInt16, UInt32, UInt64, Single, Double,Decimal.Они также содержат аналогичные константы иметоды.Для работы с форматированным строковымпредставлением чисел используются методыParse() и ToString() тех же классов сдополнительными параметрами, реализующимиинтерфейс IFormatProvider.

Чаще всего этообъекты класса System.Globalization.NumberFormatInfo.Набор математических функций и константреализован в виде элементов классаSystem.Math.Для генерации псевдослучайных чиселиспользуется класс System.Random.целые числа произвольной величины идесятичные дроби произвольной точности.java.lang.Thread — класс, объекты которогопредставляют потоки в Java машине.Он содержит методы, позволяющие прерватьожидание данным потоком синхронизационнойоперации (interrupt()), подождать концаработы данного потока (join()), запуститьпоток (start()), приостановить выполнениетекущего потока на какое-то время (sleep()),получить текущий поток (currentThread()), атакже получить различные характеристикиданного потока (приоритет, имя, и пр.).Класс java.lang.ThreadLocal служит дляхранения значений, которые должны бытьспецифичны для потока.

Т.е. значение,получаемое методом get() из объекта этогокласса, — то самое, которое текущий потоксохранил ранее с помощью метода set().В пакете java.lang находится и набор наиболееважных интерфейсов.CharSequence — интерфейспоследовательности символов.Cloneable — маркирующий интерфейсобъектов, для которых можно строить копии.Сам по себе он не требует реализации какихлибо методов, хотя для построения копийнужно перегрузить метод clone(), а лишьпозволяет использовать функциональностьэтого метода в классе Object.Iterable<T> — интерфейс итерируемыхколлекций. Объекты, реализующие этотинтерфейс, могут, наравне с массивами,использоваться в инструкции цикла поколлекции.Comparable<T> — интерфейс, реализуемыйклассами, объекты которых линейноупорядочены, т.е.

любые два объекта этогокласса сравнимы по отношению«больше/меньше». Используется, например, дляреализации коллекций с быстрым поиском.В пакете java.lang также находится рядклассов, объекты которых представляютэлементы самого языка — Class<T>,представляющий классы, Enum<T>,представляющий перечислимые типы, иPackage, представляющий пакеты.Все эти классы, а также классы, находящиеся впакете java.lang.reflect (Field, Method,Классом, представляющим потоки .NET в C#,является System.Threading.Thread.Текущий поток может быть получен с помощьюего свойства CurrentThread.Этот класс тоже содержит методы Interrupt(),Join(), Start(), Sleep() и др.Аналогичные интерфейсы в C# следующие.System.ICloneable — требует реализацииметода Clone() для создания копий.System.Collections.IEnumerable,System.Collections.Generic.IEnumerable<T> — интерфейсы итерируемыхколлекций.System.IComparable, System.IComparable<T>— интерфейсы типов, объекты которыхлинейно упорядочены.В C#, в отличии от Java, где шаблонные типывсегда имеют и непривязанный к типамаргументам интерфейс, шаблоны стипизированным интерфейсом простодобавляются в библиотеки к ужесуществовавшим там до появления C# 2.0нетипизированным классам и интерфейсам.Для C# аналогичную роль в механизмерефлексии играют классы System.Type,System.ValueType, System.Enum и классы,входящие в пространство именSystem.Reflection — MemberInfo, MethodInfo,FieldInfo, и т.д.Constructor) используются в рамкахмеханизма рефлексии (reflection) для доступа кинформации об элементах языка во времявыполнения программы.

На механизмерефлексии построены очень многие среды итехнологии, входящие в платформу Java,например JavaBeans.Для анализа структуры и элементов массивов вовремя работы программы можно использоватьметоды класса java.lang.reflect.Array,позволяющие определить тип элементовмассива, получить их значения, создавать новыемассивы и пр.Для манипуляций с массивами — поиска,сортировки, сравнения и пр. — используютсяметоды класса java.util.Arrays.Аналогом обоих классов Java для работы смассивами служит класс System.Array.Он содержит как методы анализа структурымассива, так и операции для поиска,упорядочения, копирования и сравнениямассивов.В обоих языках имеются механизмы, позволяющие определять слабые ссылки.

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

ссылки на нихостались только из такого хранилища.Пакет java.lang.ref содержит классы дляорганизации сложной работы со ссылками.Например, классjava.lang.ref.WeakReference представляетслабые ссылки.Другие классы представляют более хитрыевиды ссылок.Пакет java.util содержит классы иинтерфейсы, представляющие разнообразныеколлекции объектов.Collection<T> — общий интерфейс коллекцийJava.Collections — предоставляет наборобщеупотребительных операций надколлекциями: построение коллекций сразличными свойствами, поиск, упорядочение ипр.Set<T>, HashSet<T>, TreeSet<T> — интерфейсмножества объектов и различные егореализации. TreeSet<T> требует, чтобыобъекты типа T были линейно упорядоченными,и предоставляет быстро работающие (залогарифмическое время от числа объектов вмножестве) функции добавления, удаления ипоиска.Map<K, V>, HashMap<K, V>, TreeMap<K, V> —В C# слабые ссылки реализуются при помощикласса System.WeakReference.Набор интерфейсов и классов коллекций C#находится в пространствах именSystem.Collections иSystem.Collections.Generic.

В первомнаходятся интерфейсы и классынетипизированных коллекций, во втором —шаблоны. Далее упоминаются толькошаблонные типы, если их нетипизированныйаналог называется соответствующим образом.Базовые интерфейсы коллекций —Generic.IEnumerable<T>,Generic.ICollection<T>.Интерфейс отображений и классы,реализующие отображения —Generic.IDictionary<K, V>,Generic.Dictionary<K, V>, Hastable(нетипизированный).Интерфейс и классы списков —Generic.IList<T>, Generic.List<T>,интерфейс ассоциативных массивов илиотображений (maps) и его различныереализации.

TreeMap<K, V> требует, чтобыобъекты-ключи были линейноупорядоченными, и предоставляет быстрыеоперации с отображением.List<T>, ArrayList<T>, LinkedList<T> —интерфейс расширяемого списка и различныеего реализации.BitSet — реализует расширяемый списокфлагов-битов.IdentityHashMap<K, V> реализуетотображение, сравнивающее свои ключи по ихсовпадению, а не с помощью метода equals(),как это делают остальные реализации Map<K,V> (и Set<T>).WeakHashMap<K, V> хранит ключи с помощьюслабых ссылок, что позволяет автоматическиуничтожать хранящиеся в таком отображениипары ключ-значение, если на объект-ключдругих ссылок не осталось.Много полезных классов-коллекций можнонайти вне стандартных библиотек, например, вбиблиотеке Jakarta Commons [12], частиобширного проекта Apache Jakarta Project [13].Для определения линейного порядка наобъектах типа T используется интерфейсjava.util.Comparator<T>.Наиболее часто применяется его реализация длястрок — java.text.Collator, абстрактныйкласс, позволяющий создавать специфическиеобъекты, сравнивающие строки в различныхрежимах, включая игнорирование регистрасимволов, использование национальноспецифических символов и пр.Классы java.util.Calendar,java.util.GregorianCalendar,java.util.Date и java.text.DateFormatиспользуются для работы с датами.Первые два класса используются дляпредставления информации о календаре,объекты класса Date представляют даты имоменты времени, а последний классиспользуется для их конвертации вформатированный текст и обратно.Класса для представления временныхинтервалов в стандартной библиотеке нет.Гораздо более широкий набор средств дляработы с датами и временами предоставляетArrayList (нетипизированный).BitArray — реализует расширяемый списокбитов.Аналогичный интерфейс в C# —System.Collections.Generic.

IComparer<T>.Его реализация для строк — абстрактный классSystem.StringComparer.Для представления различных календарейиспользуются подклассыSystem.Globalization.Calendar, тоженаходящиеся в пространстве именSystem.Globalization.Для представления моментов времени —System.DateType.Для интервалов времени — System.TimeSpan.Для форматированного текстовогопредставления дат и времени —System.Globalization.

DateTimeFormatInfo.библиотека Joda [14].Классы java.util.Timer иjava.util.TimerTask служат выполненияопределенных действий в заданное время иличерез определенное время.Для построения и анализа форматированныхстрок, содержащих данные различных типов,полезен класс java.util.Formatter.С помощью реализации интерфейсаjava.util.Formattable можно определитьразные виды форматирования для объектовпользовательских типов.В пакете java.util есть несколько классов,представляющих регионально- илинационально-специфическую информациюС помощью объектов класса Currencyпредставляют различные валюты.Информация о региональных или национальноспецифических настройках и параметрахпредставляется в виде объектов класса Locale.Набор объектов, имеющих локализованныеварианты, например, строки сообщений наразных языках, может храниться с помощьюподклассов ResourceBundle —ListResiourceBundle,PropertyResourceBundle.Работа с различными кодировками текстаорганизуется при помощи классов пакетаjava.nio.charset.Интерфейс и классы пакета java.utilEventListener, EventListenerProxy,EventObject используются для реализацииобразца «подписчик» в рамках спецификацийJavaBeans (см.

Характеристики

Тип файла
PDF-файл
Размер
570,28 Kb
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6447
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее