Parallel Programming an der TU München

Karteikarten und Zusammenfassungen für Parallel Programming im Maschinenwesen Studiengang an der TU München in Augsburg

CitySTADT: Augsburg

CountryLAND: Deutschland

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.

Schaue jetzt auf StudySmarter nach, welche Lernmaterialien bereits für deine Kurse von deinen Kommilitonen erstellt wurden. Los geht’s!

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.

Schaue jetzt auf StudySmarter nach, welche Lernmaterialien bereits für deine Kurse von deinen Kommilitonen erstellt wurden. Los geht’s!

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:

Что вы знаете о вложенных классах, зачем они используются? Классификация, варианты использования, о нарушении инкапсуляции.
В чем разница вложенных и внутренних классов?
Какие классы называются анонимными?

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:

Чем отличаются и что общего у классов String, StringBuffer и StringBuilder?

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

В чем разница между Iterator и Enumeration?

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

Что общего и чем отличаются следующие потоки: InputStream, OutputStream, Reader, Writer?

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:

Чем отличается ArrayList от Vector?

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:

Что будет, если переопределить equals не переопределяя hashCode? Какие могут возникнуть проблемы?

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

В чем разница между Iterator и ListIterator?

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:

Что такое volatile и transient? Для чего и в каких случаях можно было бы использовать default?

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

Parallel Programming

Что вы знаете о вложенных классах, зачем они используются? Классификация, варианты использования, о нарушении инкапсуляции.
В чем разница вложенных и внутренних классов?
Какие классы называются анонимными?

Вложенный класс — это класс, который объявлен внутри объявления другого класса. Вложенные классы делятся на статические и нестатические (non-static). Собственно нестатические вложенные классы имеют и другое название — внутренние классы (inner classes).

Внутренние классы в Java делятся на такие три вида:

  • внутренние классы-члены (member inner classes);
  • локальные классы (local classes);
  • анонимные классы (anonymous classes).

Внутренние классы-члены ассоциируются не с самим внешним классом, а с его экземпляром. При этом они имеют доступ ко всем его полям и методам.

Локальные классы (local classes) определяются в блоке Java кода. На практике чаще всего объявление происходит в методе некоторого другого класса. Хотя объявлять локальный класс можно внутри статических и нестатических блоков инициализации.

Анонимный класс (anonymous class) — это локальный класс без имени.

Использование вложенных классов всегда приводит к некоторому нарушению инкапсуляции — вложенный класс может обращаться к закрытым членам внешнего класса (но не наоборот!). Если это обстоятельство учитывается в архитектуре вашего приложения, не стоит уделять ему особого внимания, поскольку внутренний класс всего лишь является специализированным членом внешнего класса.

Parallel Programming

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

Также как и локальные классы, анонимные могут захватывать переменные, доступ к локальным переменным происходит по тем же правилам:

  • Анонимный класс имеет доступ к полям внешнего класса.
  • Анонимный класс не имеет доступ к локальным переменным области, в которой он определен, если они не финальные (final) или неизменяемые (effectively final).
  • Как и у других внутренних классов, объявление переменной с именем, которое уже занято, затеняет предыдущее объявление.
  • Вы не можете определять статические члены анонимного класса.

Анонимные классы также могут содержать в себе локальные классы. Конструктора в анонимном классе быть не может.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Animal {
    
    Integer classAreaVar2 = 25;
 
    public void anonymousClassTest() {
        final Integer[] localAreaVar = {25};
        //Анонимный класс
        ActionListener listener = new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //можно использовать переменные класса без указания final
                classAreaVar2 = classAreaVar2 + 25;
 
                //нельзя использовать локальные переменные, если они не final;
                /*Local variable is accessed from within inner class: needs to be declared final */
                localAreaVar[0] = localAreaVar[0] +5;
            }
        };
    }
}

Parallel Programming

Чем отличаются и что общего у классов String, StringBuffer и StringBuilder?

В дополнение к ответу вначале приведу сравнение производительности классов.

Сравнение производительности. Linux

КлассOpen JDK 1.6.0_18HotSpot 1.6.0_20JRockit 4.0.1

String27390ms26850ms26940ms
StringBuffer35.55ms34.87ms15.41ms
StringBuilder33.01ms31.78ms12.82ms

Сравнение производительности. Windows XP:

КлассHotSpot 1.6.0_20JRockit 4.0.1

String55260ms45330ms
StringBuffer19.38ms14.50ms
StringBuilder16.83ms12.76ms

Parallel Programming

В чем разница между Iterator и Enumeration?

Enumeration в два раза быстрее Iterator и использует меньше памяти. Iterator потокобезопасен, т.к. не позволяет другим потокам модифицировать коллекцию при переборе. Enumeration можно использовать только для read-only коллекций. Так же у него отсутствует метод remove();

Enumeration: hasMoreElement(), nextElement()

Iterator: hasNext(), next(), remove()

Parallel Programming

Что общего и чем отличаются следующие потоки: InputStream, OutputStream, Reader, Writer?

Базовый класс InputStream представляет классы, которые получают данные из различных источников:
— массив байтов
— строка (String)
— файл
— канал (pipe): данные помещаются с одного конца и извлекаются с другого
— последовательность различных потоков, которые можно объединить в одном потоке
— другие источники (например, подключение к интернету)

Класс OutputStream — это абстрактный класс, определяющий потоковый байтовый вывод. В этой категории находятся классы, определяющие, куда направляются ваши данные: в массив байтов (но не напрямую в String; предполагается что вы сможете создать их из массива байтов), в файл или канал.

Символьные потоки имеют два основных абстрактных класса Reader и Writer, управляющие потоками символов Unicode. Класс Reader — абстрактный класс, определяющий символьный потоковый ввод. Класс Writer — абстрактный класс, определяющий символьный потоковый вывод. В случае ошибок все методы класса передают исключение IOException.

Parallel Programming

Как получить часть строки?

Метод substring(int beginIndex, int lastIndex) — возвращает часть строки по указанным индексам.

1
2
3
4
String fs = „123456789“;
String sub = fs.subSequence(3,6).toString();
String sub2 = fs.substring(3,6);
System.out.println(sub2); //456

Parallel Programming

Чем отличается ArrayList от Vector?

Vector deprecated. У Vector некоторые методы синхронизированы и поэтому они медленные. В любом случае Vector не рекомендуется использовать вообще.

Parallel Programming

Как выбрать все ЭФС определенного каталога по критерию (например, с определенным расширением)?

Метод File.listFiles() возвращает массив объектов File, содержащихся в каталоге. Метод может принимать в качестве параметра объект класса, реализующего FileFilter. Это позволяет включить список только те элементы, для которых метода accept возвращает true (критерием может быть длина имени файла или его расширение).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class FileDemo {
   public static void main(String[] args) {
      
      File f = null;
      File[] paths;
      
      try{      
         // create new file
         f = new File(„c:/test“);
         
         // returns pathnames for files and directory
         paths = f.listFiles();
         
         // for each pathname in pathname array
         for(File path:paths)
         {
            // prints file and directory paths
            System.out.println(path);
         }
      }catch(Exception e){
         // if any error occurs
         e.printStackTrace();
      }
   }
}

Parallel Programming

Что будет, если переопределить equals не переопределяя hashCode? Какие могут возникнуть проблемы?

Нарушится контракт. Классы и методы, которые использовали правила этого контракта могут некорректно работать. Так для объекта HashMap это может привести к тому, что пара, которая была помещена в Map возможно не будет найдена в ней при обращении к Map, если используется новый экземпляр ключа.

Parallel Programming

В чем разница между Iterator и ListIterator?

Есть три различия:

  1. Iterator может использоваться для перебора элементов Set, List и Map. В отличие от него, ListIterator может быть использован только для перебора элементов коллекции List
  2. Iterator позволяет перебирать элементы только в одном направлении, при помощи метода next(). Тогда как ListIterator позволяет перебирать список в обоих направлениях, при помощи методов next() и previous()
  3. При помощи ListIterator вы можете модифицировать список, добавляя/удаляя элементы с помощью методов add() и remove(). Iterator не поддерживает данного функционала

Parallel Programming

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

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

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

Parallel Programming

Что такое volatile и transient? Для чего и в каких случаях можно было бы использовать default?

volatile  — не используется кэш (имеется ввиду область памяти в которой JVM может сохранять локальную копию переменной, чтобы уменьшить время обращения к переменной) при обращении к полю. Для volatile переменной JVM гарантирует синхронизацию для операций чтения/записи, но не гарантирует для операций изменения значения переменной.

transient — указание того, что при сериализации/десериализации данное поле не нужно сериализовать/десериализовывать.

Gradient

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

Andere Kurse aus deinem Studiengang

Für deinen Studiengang Maschinenwesen 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

E-Motoren

Systems Engineering

Förder- und Materialflusstechnik

Betriebswirtschaftslehre

Applikation von Radioaktivität in Industrie, Forschung und Medizin

Dynamik der Straßenfahrzeuge

Elektrik-Elektroniksysteme im Kraftfahrzeug

Methoden in der Motorapplikation

Zulassung

Messtechnik und medizinische Assistenzsysteme

Versuchsplanung und Statistik

Maschinendynamik

Grundlagen Medizintechnik: Biokomp. 1

Praktikum Regenerative Energien

Umformende Werkzeugmaschinen

Mechatronische Gerätetechnik

Werkstoffkunde

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.

studysmarter schule studium
d

4.5 /5

studysmarter schule studium
d

4.8 /5

StudySmarter Tools

Individueller Lernplan

StudySmarter erstellt dir einen individuellen Lernplan, abgestimmt auf deinen Lerntyp.

Erstelle Karteikarten

Erstelle dir Karteikarten mit Hilfe der Screenshot-, und Markierfunktion, direkt aus deinen Inhalten.

Erstelle Zusammenfassungen

Markiere die wichtigsten Passagen in deinen Dokumenten und bekomme deine Zusammenfassung.

Lerne alleine oder im Team

StudySmarter findet deine Lerngruppe automatisch. Teile deine Lerninhalte mit Freunden und erhalte Antworten auf deine Fragen.

Statistiken und Feedback

Behalte immer den Überblick über deinen Lernfortschritt. StudySmarter führt dich zur Traumnote.

1

Lernplan

2

Karteikarten

3

Zusammenfassungen

4

Teamwork

5

Feedback

Nichts für dich dabei?

Kein Problem! Melde dich kostenfrei auf StudySmarter an und erstelle deine individuellen Karteikarten und Zusammenfassungen für deinen Kurs Parallel Programming an der TU München - so schnell und effizient wie noch nie zuvor.