Parallel Programming an der TU München

Karteikarten und Zusammenfassungen für Parallel Programming an der TU München

Arrow Arrow

Komplett kostenfrei

studysmarter schule studium
d

4.5 /5

studysmarter schule studium
d

4.8 /5

studysmarter schule studium
d

4.5 /5

studysmarter schule studium
d

4.8 /5

Lerne jetzt mit Karteikarten und Zusammenfassungen für den Kurs Parallel Programming an der TU München.

Beispielhafte Karteikarten für Parallel Programming an der TU München auf StudySmarter:

What are differences between kernel threads and user-level threads?

Beispielhafte Karteikarten für Parallel Programming an der TU München auf StudySmarter:

Чем отличаются HashMap и TreeMap? Как они устроены и работают? Что со временем доступа к объектам, какие зависимости?

Beispielhafte Karteikarten für Parallel Programming an der TU München auf StudySmarter:

О чем говорит ключевое слово final?

Das war nur eine Vorschau der Karteikarten auf StudySmarter.
Flascard Icon Flascard Icon

Über 50 Mio Karteikarten von Schülern erstellt

Flascard Icon Flascard Icon

Erstelle eigene Karteikarten in Rekordzeit

Flascard Icon Flascard Icon

Kostenlose Karteikarten zu STARK Inhalten

Kostenlos anmelden

Beispielhafte Karteikarten für Parallel Programming an der TU München auf StudySmarter:

Есть ли какие-либо рекомендации о том, какие поля следует использовать при подсчете hashCode?

Beispielhafte Karteikarten für Parallel Programming an der TU München auf StudySmarter:

Что вы знаете о реализации классов HashSet и TreeSet?

Beispielhafte Karteikarten für Parallel Programming an der TU München auf StudySmarter:

Что вы знаете о преобразовании примитивных типов данных, есть ли потеря данных, можно ли преобразовать логический тип?

Beispielhafte Karteikarten für Parallel Programming an der TU München auf StudySmarter:

Что вы знаете о коллекциях типа Queue?

Das war nur eine Vorschau der Karteikarten auf StudySmarter.
Flascard Icon Flascard Icon

Über 50 Mio Karteikarten von Schülern erstellt

Flascard Icon Flascard Icon

Erstelle eigene Karteikarten in Rekordzeit

Flascard Icon Flascard Icon

Kostenlose Karteikarten zu STARK Inhalten

Kostenlos anmelden

Beispielhafte Karteikarten für Parallel Programming an der TU München auf StudySmarter:

Чем отличаются конструкторы по-умолчанию, копирования и конструктор с параметрами?

Beispielhafte Karteikarten für Parallel Programming an der TU München auf StudySmarter:

Из каких символов может состоять имя переменной (корректный идентификатор)?

Beispielhafte Karteikarten für Parallel Programming an der TU München auf StudySmarter:

Почему нельзя объявить метод интерфейса с модификатором final или static?

Beispielhafte Karteikarten für Parallel Programming an der TU München auf StudySmarter:

Which are the two concepts of synchronisation between threads in POSIX?
Das war nur eine Vorschau der Karteikarten auf StudySmarter.
Flascard Icon Flascard Icon

Über 50 Mio Karteikarten von Schülern erstellt

Flascard Icon Flascard Icon

Erstelle eigene Karteikarten in Rekordzeit

Flascard Icon Flascard Icon

Kostenlose Karteikarten zu STARK Inhalten

Kostenlos anmelden

Beispielhafte Karteikarten für Parallel Programming an der TU München auf StudySmarter:

Как получить коллекцию только для чтения?

Kommilitonen im Kurs Parallel Programming an der TU München. erstellen und teilen Zusammenfassungen, Karteikarten, Lernpläne und andere Lernmaterialien mit der intelligenten StudySmarter Lernapp. Jetzt mitmachen!

Jetzt mitmachen!

Flashcard Flashcard

Beispielhafte Karteikarten für Parallel Programming an der TU München auf StudySmarter:

Parallel Programming

What are differences between kernel threads and user-level threads?
ul-threads... are scheduled by user cannot be preempted no kernel support or modifications needed switch between threads as needed

Parallel Programming

Чем отличаются HashMap и TreeMap? Как они устроены и работают? Что со временем доступа к объектам, какие зависимости?

В целом ответ про HashSet и TreeSet подходит и к этому вопросу.

HashMap работает строго быстрее TreeMap.

TreeMap реализован на красно-черном дереве, время добавления/поиска/удаления элемента — O(log N), где N — число элементов в TreeMap на данный момент.

У HashMap время доступа к отдельному элементу — O(1) при условии, что хэш-функция (Object.hashCode()) определена нормально (что является правдой в случае Integer).

Общая рекомендация — если не нужна упорядоченность, использовать HashMap. Исключение — ситуация с вещественными числами, которые в качестве ключей почти всегда очень плохи. Для них нужно использовать TreeMap, предварительно поставив ему компаратор, который сравнивает вещественные числа так, как это нужно в данной задаче. Например, для обычных геометрических задач два вещественных числа могут считаться равными, если отличаются не более, чем на 1e-9.

Parallel Programming

О чем говорит ключевое слово final?

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

  • Для класса. Класс помеченный при помощи final не может иметь наследников.
  • Для метода. Метод помеченный при помощи final не может быть переопределен в классах наследниках.
  • Для поля. Поле помеченное при помощи слова final не может изменить свое значение после инициализации (инициализируется либо при описании, либо в конструкторе, статическом или динамическом блоке).
  • Значение локальных переменных, а так же параметров метода помеченных при помощи слова final не могут быть изменены после присвоения.

Parallel Programming

Есть ли какие-либо рекомендации о том, какие поля следует использовать при подсчете hashCode?

Те, которые используют при определении метода equals(). Хэш код должен быть равномерно распределен на области возможных принимаемых значений.

Parallel Programming

Что вы знаете о реализации классов HashSet и TreeSet?

Название Hash… происходит от понятия хэш-функция. Хэш-функция — это функция, сужающая множество значений объекта до некоторого подмножества целых чисел. Класс Object имеет метод hashCode(), который используется классом HashSet для эффективного размещения объектов, заносимых в коллекцию. В классах объектов, заносимых в HashSet, этот метод должен быть переопределен (override).

HashSet реализован на основе хеш-таблицы, а TreeSet — на основе бинарного дерева.


HashSet гораздо быстрее чем TreeSet (константное время против логарифмического для большинства операций, таких как add, remove, contains), но TreeSet гарантирует упорядоченность объектов. Оба не синхронизированы.

HashSet

  • предоставляет константное время для add(), remove(), contains() и size()
  • порядок элементов в контейнере может меняться
  • производительность итерации по контейнеру зависит от емкости и «коэффициента загрузки» (рекомендуется оставлять load factor значением по умолчанию равным 0.75, что является хорошим компромиссом между временем доступа и объемом хранимых данных)

TreeSet

  • время для базовых операций add(), remove(), contains() — log(n)
  • гарантирует порядок элементов
  • не предоставляет каких-либо параметров для настройки производительности
  • предоставляет дополнительные методы для упорядоченного списка: first(), last(), headSet(), tailSet() и т.д.

Parallel Programming

Что вы знаете о преобразовании примитивных типов данных, есть ли потеря данных, можно ли преобразовать логический тип?

Преобразование может быть неявным и явным (приведение типов). Неявное преобразование может выполняться если:

  1. типы совместимы (например — оба целочисленные)
  2. размер «принимающего» типа больше чем у того, который преобразуется (так называемое «преобразование с расширением»)




1
2
int a = 123454;
double b =  a; //неявное преобразование - преобразование с расширением


Явное преобразование имеет вид переменная_нового_типа = (новый_тип) имя переменной;



1
2
int a;
byte b = (byte) a; //b будет остатком от деления a на диапазон byte, может быть потеря данных


При повышении типа byte>short; short>int; int>long; float>double; char>int информация не потеряется. При сужении возможна потеря информации (см. пример выше byte = (byte) int).

При различных операциях может происходить повышение типов в порядке «усиления» к более информативному типу. Например складывая int и double получим тип double. Но есть и особенность, например сложив double (8 байт) и long (8 байт) Java оставит знаки после запятой (double), а не более «длинный» тип.

Кратко можно записать такие правила:

  1. byte, short, char в выражениях всегда повышаются до int
  2. если в выражении участвует тип long — то именно к этому типу будет приведён результат
  3. если в выражении участвует float — то результат приводится к float
  4. если один из операндов имеет тип double — то к этому типу будет приведён весь результат
  5. При выборе между длиной и возможностью сохранить дробную часть — будет выбрана дробная часть

Parallel Programming

Что вы знаете о коллекциях типа Queue?

Queue — коллекция, предназначенная для хранения элементов в порядке, нужном для их обработки. В дополнение к базовым операциям интерфейса Collection, очередь предоставляет дополнительные операции вставки, получения и контроля.

Очереди обычно, но не обязательно, упорядочивают элементы в FIFO (first-in-first-out, «первым вошел — первым вышел») порядке.

Метод offer() вставляет элемент в очередь, если это не удалось — возвращает false. Этот метод отличается от метода add() интерфейса Collection тем, что метод add() может неудачно добавить элемент только с использованием unchecked исключения.

Методы remove() и poll() удаляют верхушку очереди и возвращают ее. Какой элемент будет удален (первый или последний) зависит от реализации очереди. Методы remove() и poll() отличаются лишь поведением, когда очередь пустая: метод remove() генерирует исключение, а метод poll() возвращает null.

Методы element() и peek() возвращают (но не удаляют) верхушку очереди.

Parallel Programming

Чем отличаются конструкторы по-умолчанию, копирования и конструктор с параметрами?

Конструктор по умолчанию не принимает никаких параметров. Конструктор копирования принимает в качестве параметра объект класса. Конструктор с параметрами принимает на вход параметры (обычно необходимые для инициализации полей класса).



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    //конструктор по умолчанию
    public Circle() {
    }
 
    //конструктор копирования
    public Circle(Circle circle) {
        this(circle.getName(), circle.getArea(), circle.getPerimeter()); //будет вызван конструктор с параметрами ниже
    }
    
    //конструктор с параметрами
    public Circle(String name, Double area, String perimeter) {
        this.name = name;
        this.area = area;
        this.perimeter = perimeter;
    }

Parallel Programming

Из каких символов может состоять имя переменной (корректный идентификатор)?

Имя или идентификатор переменной — это последовательность из строчных и заглавных латинских букв, цифр, а также символов «$» и «_». Имя переменной может начинаться с любого из перечисленных символов, кроме цифры.

Технически возможно начать имя переменной также с «$» или «_», однако это запрещено соглашением по оформлению кода в Java (Java Code Conventions). Кроме того, символ доллара «$», по соглашению, никогда не используется вообще. В соответствии с соглашением имя переменной должно начинаться именно с маленькой буквы (с заглавной буквы начинаются имена классов). Пробелы при именовании переменных не допускаются.

Parallel Programming

Почему нельзя объявить метод интерфейса с модификатором final или static?

Вообще с 8й версии можно static, но нужно чтобы было тело метода. Например


1
2
3
4
5
public interface Shape {
    static void draw() {
        System.out.println("Wow! It is impossible!");
    };
}


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

Parallel Programming

Which are the two concepts of synchronisation between threads in POSIX?
1) locks/mutual exclusion 2) condition variables

Parallel Programming

Как получить коллекцию только для чтения?

Используйте следующие методы:

  • Collections.unmodifiableList(list);
  • Collections.unmodifiableSet(set);
  • Collections.unmodifiableMap(map);

Все они принимают коллекцию в качестве параметра, и возвращают коллекцию только для чтения с теми же элементами внутри.

Melde dich jetzt kostenfrei an um alle Karteikarten und Zusammenfassungen für Parallel Programming an der TU München zu sehen

Singup Image Singup Image
Wave

Andere Kurse aus deinem Studiengang

Für deinen Studiengang Parallel Programming an der TU München gibt es bereits viele Kurse auf StudySmarter, denen du beitreten kannst. Karteikarten, Zusammenfassungen und vieles mehr warten auf dich.

Zurück zur TU München Übersichtsseite

Maschinendynamik

Zulassung von Medizingeräten

Jenga WK

Fluidmechanik

Grundlagen Medizintechnik: Biokomp. 1

Mechatronische Gerätetechnik

Umformende Werkzeugmaschinen

Maschinenelemente

Grundlagen der Luftfahrttechnik

Zulassung

Messtechnik und medizinische Assistenzsysteme

Versuchsplanung und Statistik

Wärmetransportphänomene

MED-TECHNIK

Grundlagen der Turbomaschinen und Flugantriebe

Fluidmechanik 2

Einführung in die Flugsystemdynamik und Flugregelung

Grundlagen der Raumfahrt

Medical Imaging Technologies

Förder- und Materialflusstechnik

MHI_2

Applikation von Radioaktivität in Industrie, Forschung und Medizin

Dynamik der Straßenfahrzeuge

Grundlagen AM

E-Motoren

Elektrik-Elektroniksysteme im Kraftfahrzeug

Betriebswirtschaftslehre

Fabrikplanung

Qualitätsmanagement

Systems Engineering

Werkstoffkunde 2

Methoden in der Motorapplikation

Programmierung an der

Universität Düsseldorf

Programmierung an der

Duale Hochschule Baden-Württemberg

Programmierung an der

Hochschule für Technik und Wirtschaft Dresden

Programming an der

Universidade Nova de Lisboa

Programmierung an der

Berufsakademie Sachsen - Staatliche Studienakademie Dresden

Ähnliche Kurse an anderen Unis

Schau dir doch auch Parallel Programming an anderen Unis an

Zurück zur TU München Übersichtsseite

Was ist StudySmarter?

Was ist StudySmarter?

StudySmarter ist eine intelligente Lernapp für Studenten. Mit StudySmarter kannst du dir effizient und spielerisch Karteikarten, Zusammenfassungen, Mind-Maps, Lernpläne und mehr erstellen. Erstelle deine eigenen Karteikarten z.B. für Parallel Programming an der TU München oder greife auf tausende Lernmaterialien deiner Kommilitonen zu. Egal, ob an deiner Uni oder an anderen Universitäten. Hunderttausende Studierende bereiten sich mit StudySmarter effizient auf ihre Klausuren vor. Erhältlich auf Web, Android & iOS. Komplett kostenfrei. Keine Haken.

Awards

Bestes EdTech Startup in Deutschland

Awards
Awards

European Youth Award in Smart Learning

Awards
Awards

Bestes EdTech Startup in Europa

Awards
Awards

Bestes EdTech Startup in Deutschland

Awards
Awards

European Youth Award in Smart Learning

Awards
Awards

Bestes EdTech Startup in Europa

Awards
X

StudySmarter - Die Lernplattform für Studenten

StudySmarter

4.5 Stars 1100 Bewertungen
Jetzt entdecken
X

Gute Noten in der Uni? Kein Problem mit StudySmarter!

89% der StudySmarter Nutzer bekommen bessere Noten in der Uni.

50 Mio Karteikarten & Zusammenfassungen
Erstelle eigene Lerninhalte mit Smart Tools
Individueller Lernplan & Statistiken


Lerne mit über 1 Millionen Nutzern in der kostenlosen StudySmarter App.

Du bist schon registriert? Hier geht‘s zum Login