Ciao, questo è che non volevo andare.
Quindi per me ha senso.
Interfaccia sotto-rappresentazione ma c'è anche un altro tipo di interfaccia di mercato
per le interfacce su Nuzzi raucousness quando altre interfacce.
Dichiarare uno o più metodi astratti che indicano alcune funzionalità o alcune funzionalità di base in base al tipo
di interfaccia, ma le interfacce di mercato sono leggermente diverse.
Ci sono semplicemente interfacce senza alcun metodo.
È così che tutti aleggiano lì sono ancora preziosi.
Sono principalmente usati per classificare il mercato come aventi certe proprietà che sono qualsiasi classe che implementa l'interfaccia
di mercato e annuncia che ha la proprietà definita dall'interfaccia di mercato e questa proprietà è spiegata
in semplici parole inglesi nel documento Java dell'interfaccia di mercato che fondamentalmente è un
problema specifico dell'interfaccia marcatore.
OK, quindi sono solo parole inglesi semplici e non ci sono metodi che i tipi della classe di
implementazione intraprenderebbero un'azione in base alla proprietà supportata potrebbero intraprendere quell'azione.
I client potrebbero dover richiamare alcuni dei metodi della classe di implementazione che è la classe che
sta implementando l'interfaccia marker.
A volte l'interfaccia del marcatore una specifica menziona esplicitamente su questi metodi.
Diamo un'occhiata ad alcune interfacce di mercato di esempio nell'API Java.
Il primo esempio è un'interfaccia marcatore chiamata accesso casuale che proviene dal pacchetto Gelada, dato che proviene
da Dawidoff.
Sappiamo che questa interfaccia è rilevante per le strutture di dati o che all'interno di qualsiasi strumento di
vetro in questa interfaccia si dichiara che consente un rapido accesso casuale ai suoi elementi.
È possibile accedere agli elementi in modo casuale e rapido. L'accesso casuale così veloce è una proprietà
definita dall'interfaccia di accesso casuale e un altro elenco è una classe che implementa questa interfaccia.
E così facendo dichiara che supporta l'accesso casuale rapido ai suoi elementi.
Vedi un esempio che mostra come questa informazione è usata da uno degli algoritmi secondo esempio è un'interfaccia
marcatore chiamata Serializable che è dal pacchetto dollaro e non suggerisce il nome qualsiasi classe
che implementa questa interfaccia dichiara che permette che i suoi oggetti siano serializzati.
OK, dichiarando che consente alle istanze X di essere serializzate.
Esamineranno la serializzazione in dettaglio nel capitolo, ma in sostanza significa che consente agli oggetti Java di essere
convertiti in flussi di byte in modo che i flussi di byte possano essere salvati sul disco rigido per una
successiva realizzazione di DC o flussi di byte possono anche essere trasmessi a un JVM remota.
Burdekin con DC DNS La televisione DC non è altro che la semplice conversione dei flussi di
byte nell'oggetto Java.
Quindi in questo caso una proprietà definita dall'interfaccia Serializable è un'abilità serializzata.
Non che quando guardiamo da vicino la semantica del termine proprietà è un po 'di confusione qui nel
primo esempio.
Una classe che implementa l'accesso casuale sta dicendo che ha la capacità intrinseca di supportare l'accesso
casuale veloce mentre con Serializable le classi di implementazione dicono semplicemente che sta dando il permesso per
i suoi oggetti di essere serializzati.
L'effettiva capacità di serializzare oggetti appartiene a una classe esterna, quindi non è con l'erba
che sta implementando l'interfaccia.
Quindi esiste una classe denominata pacchetto Angella di output degli oggetti che esegue la
serializzazione effettiva ma la classe di implementazione può fornire assistenza specifica nel processo di serializzazione e transizione DC.
Ma per i non-letterati ci preoccupiamo di questo.
Quindi, non solo la differenza di semantica per quella sulla proprietà.
In un caso era capacità.
In entrambi i casi era più che permesso dare.
Non solo un esempio di utilizzo dell'interfaccia di mercato attorno a Maxxis, abbiamo il
metodo statico chiamato shuffle nelle raccolte di classi che fa anche parte del pacchetto totale.
E questo metodo prende una lista e mescola casualmente tali elementi come il rimescolamento principale suggerisce
che l'algoritmo shuffle applicato dipende o meno dall'elenco di input che implementa l'accesso casuale e per questo viene
utilizzata l'istanza dell'operatore come mostrato qui.
Se la lista di input ha implementato l'accesso casuale come nel caso di una lista, l'algoritmo shuffle
viene applicato direttamente sulla lista.
Per questo l'algoritmo utilizza alcuni dei metodi della porta senza libro che sarebbe il più idiale
se l'ordine fosse appena passato.
Tuttavia, l'elenco di input non implementa l'accesso casuale come nel caso di un elenco collegato che
implementa anche l'interfaccia dell'elenco.
Quindi il metodo utilizza un algoritmo alternativo per ottenere prestazioni ragionevoli.
Questo perché senza il supporto dell'accesso casuale sarebbe costoso applicare l'algoritmo shuffle direttamente nella
lista di input.
Quindi in questo caso la logica è che gli elementi dell'elenco Fuster vengono copiati in un array.
Quindi l'algoritmo shuffle verrebbe applicato su quella matrice.
E infine gli elementi shuffle vengono scaricati dall'arcata nella lista.
Quindi, come puoi vedere, l'algoritmo applicato si basa sul fatto che l'elenco di input supporti o
meno la proprietà di accesso casuale, non che l'accesso casuale sia utilizzato anche in molti altri metodi nella classe di raccolta.
Quindi questa è un'interfaccia marcatore.
Ma c'è un'interfaccia di marker interessante chiamata Fattura di Groner, di cui parleremo come
un altro esempio nella prossima lezione.
Quindi, per ricapitolare.
A differenza dei mixdown su Representer, le interfacce di mercato delle interfacce non dichiarano alcun metodo.
Sono semplicemente usati o Mark o Taggett hanno una certa proprietà in quanto non ci sono molti marcatori
come nella libreria Java.
Serializable è probabilmente uno di quelli comunemente usati, ma più che scrivere su hard disk
in questi giorni è più comune che alcuni oggetti complessi usati non frequentemente vengano lanciati nella memoria.
In questo modo non dobbiamo ricostruire questi oggetti complessi ogni volta che sono necessari.
Possono essere semplicemente prelevati dalla cache e memcache è un sistema di caching degli oggetti che richiede tutti
gli oggetti che gira per implementare serializzabili.
OK, quindi l'interfaccia di mercato Serializable deve essere implementata.
Quindi su questo e grazie.