java 2

Von Oracle Certified Professional Java SE 8 Programmer 2 Study guide - Jeanne Boyarsky and Scott Selikoff

Von Oracle Certified Professional Java SE 8 Programmer 2 Study guide - Jeanne Boyarsky and Scott Selikoff


Kartei Details

Karten 500
Sprache Deutsch
Kategorie Informatik
Stufe Universität
Erstellt / Aktualisiert 03.03.2020 / 22.06.2022
Weblink
https://card2brain.ch/box/20200303_java_2
Einbinden
<iframe src="https://card2brain.ch/box/20200303_java_2/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Was ist der Unterschied zwichen Streams und Reader/Writern?

  • Streams: inputing/outputing all types of binary/byte data
  • Reader/Writer: inputing/outputing only charakcter/string-data

Sind Reader/Writer streams?

Ja, auch wenn es nicht im namen steckt

Es gibt eine PrintWirter klasse, gibt es auch eine PrintReader klasse=

Nein

Es gibt eine PrintStream-klasse, gibt es auch eine InputStream-Klasse?

Nein

Was für Streams sollte man verwenden wenn man files lesen will?

Buffered-streams

Was sind die parents von allen stream-classen?

InputStream, OutputStream, Reader, Writer

Compiled das? :

new BufferedInputStream(new FileReader("zoo-data.txt"));

nein, mixes reader/writer mit inputStream/outputStream

Compiled das=

new BufferedWriter(new FileOutputStream("zoo-data.txt"));

Nein, mixes Reader/Writer mit InputStream/OutputStreamj

Compiled das?

new ObjectInputStream(new FileOutputStream("zoo-data.txt"));

Nein, mixes OutputStream mit InputStream

Compiled das?

new BufferedInputStream(new InputStream());

Nein,InputStream ist eine abstrakte KLasse -> nicht instanziierbar

Für was werden Klassen verwendet die InputStream/OuputStream im Namen haben?

writing binary data/reading binary data

Für was werden Klassen verwendet die Reader/Writer im Namen haben?

Reading/Writing character/string data

Haben alle Iputlassen auch eine korrespondierende outputklasse?

Fast alle

Was macht ein BufferedStream/reader/writer?

Liest/Schreibt daten in groups of bytes(characters -> bessere perfomance

Wie kann man einen Stream schließen?

mit der close-methode im finally block oder mit der try-with-resource- syntax

Wie kann man sicherstellen dass Daten zu einem bestimmten Zeitpunkt gespeichert werden (also nicht verloren gehen wenn die Applikation abstürzt)

In dem man flush() aufruft. 

Wie kann man eine Position in File-streams markieren um später dorthin zurück zu kommen?

Mit mark(int) und reset().

Der int wert in mark legt ein limit fest, wieviel positionen hier gespeichert werden sollen.

Wie kann man Felder/Werte in Filestreams skippen? Was sind die (rückgabe-) parameter?

Mit long skip(long)
Gibt die Anzahl bytes zurück die geskipped wurden (also auch null oder negative werte wenn das ende eines streams erreicht wurde)

Für was werden FileInputStream und FileOutputStream verwendet?

Um Bytes von einer File zu lasen oder in eine FIle zu schreiben

Wie werden Daten in einem FileInputStream normalerweise accessed=

sukkessive Calls auf die read() Methode bis -1 returned wird

Wie kann man mit einem FileInputStream Daten in ein byteArray lesen?

int read(byte[] arr]

int read(byte[] b, int off, int len)

Wie kann man mit FileOutputStream ein byte schreiben? wie ein bytearray?

void write(int b)

void write(byte[] b)

void write(byte[] b, int off, int len)

Was machen BufferedInputStream und BufferedOutputStream?

Man kann mehrere Bytes zu einer Zeit lesen/schreiben.

Performance-improvements ggnü. InputStream/OutputStream

Für was braucht man die Anzahl Bytes die von read bei BufferedInputStream zurückkommen?

Wenn sie 0 ist weiß man, dass man das ende erreicht hat. Außerdem teilt uns die Zahl mit wieviele Bytes aus dem Stream tatsächlich im TargetArray liegen. Wenn es bspw. noch 30 bytes sind die in einem 1000  byte großen Array landen weiß man, dass nur 30 bytes passen, die restlichen schon mal gelesen wurden und discarded werden können.

Für was gibt es FileReader und FileWriter?

Um Chars zu lesen/schreiben

Welches interfavce muss inplementiert werden wenn man ein Objekt serialisieren möcnhte?

java.io.Serializable

Was muss man mit nested objects bei der serialisierung beachten?

Alle nested objects müssen serialisierbar sein (viele built-in java klassen sind das bereits)

Was für eine exception wird geworfen wenn ein Objekt nicht serialisiert werden kann?

NotSerializableException

Wie kann man ein nested objekt markieren dass es in der serialisierung ignoriert wird?

mit transient

Werden statische class members im serialisierungs/deserialisierungsprozess mit berücktsichtigt?

Nein

Wie kann man statische class members im serialisierugs/deserialisierungsprozess mit einbeziehen?

In dem man die informationen in ein instanzobjekt kopiert die dann separat serialisiert werden

Wie heißen die Streamklassen die für die Serialisierung etwncikelt wurden?

ObjectInputStream und ObjectOutputStream

Wie serialisiert man ein Object mit ObjectOutputStream? Was pasiert im Fehlerfall?

mit writeObject(Object)

Im Fehlerfall: NotSerializableException

Wie deserialisiert man ein serialisiertes Object mit ObjectInputStream? 

readObject()

Auf was muss man im deserialisierungsprozess achten?

Konstruktor und defaultwerte werden ignoriert

Auf/mit was arbeitet PrintStream?

Auf Outputstream, schreibt daten als bytes

Auf/mit was arbeitet PrintWriter?

auf Writer-instanzen, schreibt daten als Characters

Was sind System.out und System.err eigentlich?

PrintStream-Objecte

Was ist der emfpholene Weg um mit dem user auf de rKonsole zu interagieren?

Mit der Console-Klasse

Wie kann man Usereingaben lesen ohne die Console-klasse?

Mit system.in:

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

reader.readLine()