
[Musica]
quindi per questa prossima sessione lo farò
parlo un po ‘e poi me ne vado
consegnare a
Aurelio è così che li presenterò per primi
e poi io Aurelio immagino che potremmo
aspetta le diapositive dove vuoi
aspetta ma sì, certo che possiamo fare
che farò tra un minuto, comincerò
dentro e presentarmi di fatto oh by
il modo in cui entrambi lavoriamo in Oracle così tu
avere il piacere di vedere questo scivolo
giusto sì, niente riguardo al futuro
è solo un piano di Bank su di esso
sì, è il futuro e questo è
sorta di un’altra versione del nostro titolo
che non puoi fare una frittata
senza rompere alcune uova
quindi parleremo di frittata
facendo così sono il vicepresidente
sviluppo per il gruppo Java SE a
Oracle Sono anche il presidente del
aprire il consiglio di amministrazione di JDK e Aurelio è
direttore della gestione prodotti presso
anche presso il gruppo Java SE di Oracle
e in precedenza era a Sun e in giro
lavorando su Java per molti anni quasi a
decennio giusto sì che mi rende uno di
il nah penso di essere solo timido di essere
la persona minore della squadra perché noi
Ho gente che è stata lì per 15 anni
anni quindi ti seguo ancora e
prima di andare oltre il lato oscuro di
gestione Ho lavorato come ingegnere
Java ehm, penso di averlo iniziato in figlio
1996 e così ho molto da fare
colpa prima di metterci così e
poi il terzo presentatore è Charlie Hunt
che in realtà è basato su chicago e quindi noi
speravano in paradiso venire e parlare
per te è nel team delle prestazioni
è un architetto di prestazioni per Java in
la JVM sfortunatamente non era in grado di farlo
fallo oggi
Va bene così alcuni titoli come voi ragazzi
può vedere che tutti stanno predicendo la morte
di Java orribile orribile è davvero
triste ovviamente se dai un’occhiata ad alcuni
delle date puoi vedere che queste erano
titoli in varie versioni di Java
negli ultimi venti anni così fondamentalmente
abbiamo una tendenza qui scrivere un sacco di
roba arriva, ci sono cose nuove che sono
un po ‘spaventoso tutti hanno paura
che il mondo sta per finire e di
Certo, come abbiamo visto, non è finito
ci sono stati che conosci diversi
rilascia alcuni portando di più
funzionalità un po ‘meno ma da e
grande come una comunità di sviluppo noi
abbracciare questi abbiamo trovato modi per entrambi prendere
vantaggio degli aspetti positivi noi
portare e affrontare anche con negativo
aspetti nella misura in cui ci sono
sono stati quelli e la ragione che porto
questo in su è che ci troviamo su
la cuspide di una nuova major release di Java
in programma per luglio di quest’anno
e questa è una di queste versioni e
rilasci che non è tanto
evoluzionario come rivoluzionario questo
porta il sistema del modulo per Java
anche il modulo fa sorgere il JDK e così via
stiamo andando a parlare un po ‘di oggi
riguardo sia a quello che ad altre cose
sono in nove che potresti essere interessato
in così come forse un po ‘di
sai cosa pensiamo sia il futuro
andare a guardare come Penso che una cosa
che possiamo sicuramente prevedere è quello
ci vorrà più tempo per le persone ad adottare
puzzle per il fatto che il
sistema di moduli porta con sé
forte capsulazione e penso
è qualcosa che sarà un po ‘
po ‘una sfida per le persone a
Inizialmente ci pensiamo anche noi
provando a fare molto per farlo
transizione facile penso soprattutto a uno dei
le cose che abbiamo cercato di fare è fare tutto
dello sviluppo di nove all’aperto
in open JDK quindi sei stato in grado di guardare
a tutto quello che sta succedendo
guarda il codice scarica le bollette settimanali
e abbiamo avuto un sacco di persone a farlo
e non solo persone che conosci
interessato all’implementazione JDK o JVM
implementazione ma anche molti produttori
di quadri e librerie, nonché
sviluppatori di applicazioni quindi andiamo
avanti e guarda questo che tipo
di cose lo è per bene lo sai
chiaramente un linguaggio di programmazione moderno
e la piattaforma ha bisogno di un sistema modulare giusto
Voglio dire, sai che difficilmente ne costruirai uno
oggi senza trovare un modo di fare
ma ovviamente una sfida per Java
è che non ne aveva uno in origine giusto
aveva un modo abbastanza semplice di organizzare
il tuo codice è un modo abbastanza semplice di
indicando di usare lo sviluppatore
il codice è in realtà API pubblica che io
dovrebbe usare o qual è qualcosa
è pensato per essere un interno
dettagli di implementazione che possono essere
disponibile per altre classi nel mio pacchetto
ma non è davvero qualcosa
qualcuno da fuori è destinato a
raggiungere e utilizzare comunque Java no
fornire un modo per evitare che tu lo faccia
quello e naturalmente ad alcuni livelli quello
può essere una caratteristica proprio lo rende molto
molto flessibile è davvero conveniente
io che posso andare a guardare un po ‘di
codice che è questo da qualche parte e posso
chiamare d’altra parte si sa, se
si sta cercando di mantenere questo come un
sistema nel tempo e lo evolve e lo faccia
è meglio
è molto difficile farlo se
assolutamente nulla potrebbe essere chiamato e
cambiandolo sarebbe considerato
qualcosa o potrebbe essere considerato
qualcosa che rompe gli utenti e così tu
so che questo è dove questo desiderio
evolvere e migliorare sorta di esce
contro un altro principio che conosci
ci piace pensare che siamo molto forti
nello sviluppo di Java che non deve rompere
Giusto diritto degli utenti , vogliamo che le nostre pubblicazioni siano
compatibile vogliamo il tuo codice esistente
continuare a lavorare in modo da conoscere il
la sfida in questo caso è come si fa
evolvi qualcosa quando nulla può cambiare
chiaramente questo non è qualcosa di simile
è sostenibile per sempre e infatti lo sai
puoi tornare indietro e guardare il
zione da Java per tutto il tempo da sapere
metà degli anni ’90 e vedere tutti i luoghi dove
dice che sai che questa è l’API pubblica
puoi cambiare che puoi usare questi
altre cose che sono qui davvero
sono solo fortemente scoraggiati dall’usare
quindi avremo un po ‘di più su
in pochi minuti ma lo sai
alcuni Ho sentito alcune persone dicono sorta di
beh, sai bene, guarda che posso tipo
capire l’idea di moduli per il
JDK giusto per la modularizzazione
Librerie JDK ma sai che lo facciamo davvero
bisogno di andare ed estenderlo alle strutture
nelle applicazioni bene sai
interessantemente molte persone che
parliamo con e molte persone sul
squadra sai che non sempre sei stato solo
funziona su Java ma in realtà ha usato
in altri sistemi di programmazione su
anni per farti conoscere all’utente finale
applicazioni e conosci uno dei
le cose che usiamo universalmente lo troviamo
che questa sfida che noi che io solo
descritto per l’implementazione del JDK
esiste per tali quadri pure
giusto così se sto scrivendo un quadro
la loro biblioteca voglio essere in grado di
evolvilo ma sono allo stesso modo in cui sai
un cattivo stato se non posso cambiare nulla
perché tutti stanno arrivando
e tratta cose che sono interne
dettagli di implementazione quindi è qualcosa
che le biblioteche hanno bisogno e vogliono anche a
una specie di livello superiore che scrive un
applicazione sai quanti di voi
sei stato in un progetto più ampio
nella tua compagnia dove all’improvviso
hai trovato quello che hai scritto tu
non hai nemmeno pensato di sapere come
per farlo perché questo è tutto interno
sai che qualcun altro ha finito per usare
e in base a e hai cambiato
qualcosa senza rendersene conto e
tutto si è rotto, succede, succede a
molto quindi penso che il bisogno ci sia ma
è anche un po ‘più grande di questo
perché oltre a questo tipo di
incapsulamento sfida un numero di
altre cose che sentiamo dagli utenti è
guarda bene molte prestazioni per essere migliore
vogliamo che l’impronta sia più piccola e quando
diciamo prestazioni intendiamo anche startup
tempo giusto così che è stato uno dei
cose che le persone hanno sentito oltre il
anni che altro che portiamo
intorno a troppe cose come
ho davvero bisogno di avere Corbeau quando
Non sto usando esattamente e in aggiunta
il tempo di avvio che conosci di nuovo
è meraviglioso con Java che hai
la flessibilità delle cose in realtà essere
caricato a runtime giusto e poi cose
iniziando a compilare nel tempo, quindi quale
altro hai sia l’ avvio iniziale
che è il runtime di JVM in arrivo
così come il tuo file è sapere che sei
letto e inizialmente interpretato e
poi nel tempo compilato oltre a tutti
le cose che dipende da e
importare facendo accadere la stessa cosa
lì e abbiamo avuto sapere oltre il
anni alcuni esperimenti produttivi con
cose come la condivisione dei dati sulla pasta e altro
cose che permettono ad alcune cose di farlo
essere fatto prima del tempo ma ciò che realmente
vuole raggiungere è qualcosa in cui si
sapere quando si avvia l’applicazione è
arriva velocemente in fretta perché tutti
il lavoro di validazione di classi pari
compilazione delle dipendenze risolutive
tutto ciò che è fatto dalla classe
caricatore magicamente per voi in grado di runtime
effettivamente fatto in anticipo va bene così così
anche questo è un grande pezzo
così come puoi vedere penso che ci sei
conoscere un sacco di vantaggi che il modulo
sistema comporta tuttavia anche alcuni
di questi vantaggi sono anche cose che
potrebbe essere considerato come uno svantaggio
a destra in modo da sapere un sacco di genere
di risoluzione delle dipendenze e e
evitando ambiguità di cui effettivi
versione di questa classe che era sulla mia
gigantesco percorso di crap ha fatto il runtime
scegli per me ora è sottolineato
sai che stai andando a risolvere tale
dipendenza che devi e
prima potevi pensare a un sistema
lo stavo facendo per te ma in realtà lo sei
solo ingannando te stesso
sei stato fortunato se il tuo codice avesse ottenuto il
quello giusto così sai che ci sono un sacco
di cose come quella che sarà
interessante da guardare tutto bene così
Io vado a portata di mano in realtà fuori ora alla mia
collega Leo che sta per andare
attraverso un mucchio di ulteriori dettagli in inject
su un altro
grazie Giorgio penso che sì, a proposito di chi
notato che l’ ultimo strumento nel bene
sezione è in realtà i primi due nel
brutta sezione, giusto sì, non è un refuso
questo perché per alcune persone la gente
è chiamato dick quindi non ne vuoi
ambiguità vuoi sapere quale classe
stai caricando che sono quadri che
sai sfruttare questa opzione e
considera tutto ciò che risolve ciò
allo stesso modo ora abbiamo una chiara separazione
di quello che sta per intendersi per te
da usare e cosa si intende utilizzare
dalla piattaforma che riteniamo sia buona
cosa permetterà al mondo una piattaforma
probabilmente sarà il più difficile
pillola da ingoiare per le persone che si spostano verso JDK
9, che è ciò che si aspettavano di
usare e siamo sempre abituati ad avere
l’accesso a sta scomparendo così perché è
che è un po ‘ di background c’è
sempre stato un po ‘diverso
categorie di API nel JDK c’è a
un paio di loro che sono stati supportati e
inteso per uso per uso esterno così
ci sono alcune API Java
che fanno parte delle specifiche Java
non puoi avere qualcosa e chiamarlo a
Implementazione Java se non fornite
quelle API quindi ovviamente ti sviluppano
so che è il contratto che è quello che noi
dite che Java fornisce se vi attenete a quello
puoi scrivere Java che verrà eseguito su
Oracle JDK o un IBM o in qualsiasi altro
fornitori perché tutti devono fornire
quelle API allora abbiamo altre API
erano jdk specifici che conosci figlio
ora oracolo per servire le API che sono solo
in quel prodotto, ma che erano destinati a
essere utilizzato da sviluppatori un esempio di tale
è quando introduciamo Java FX
non fa parte delle specifiche Java
ma il dev FX ap è sapere che è inteso
da utilizzare se si guarda alla
la documentazione dice andare avanti e usare
e poi c’è un altro set quelli
non sono JDK interni non supportati
toccare questa API che sono per lo più sotto
stella standard ok ci sono un paio di
Stella del puntino del sole
ragazzi che pensiamo siano buoni da usare ma
l’ultima maggioranza della stella di Santos
non toccarlo e voglio dire che non lo sei
dovrebbe essere in grado di leggerlo ma
è solo uno screenshot lo puoi trovare
con un archivio Internet oltre il 1996 che è
che cosa questo piccolo avvertimento da Sun
dicendoti di non usare questa API al
JDK 6 ricevi avvertimenti se provi a
compilare usando questa API ora appena fuori
curiosità quante persone qui ignorano
gli avvertimenti del compilatore una parte regolare di
il loro giorno vieni a confessare molto
le persone sono come oh yeah io
compilato per darmi uno è chi se ne frega
riguardo all’avvertimento ricompilare sta funzionando
dovresti avere una ragione per cui li abbiamo messi
avvertimenti lì così quando eravamo
considerando anche che abbiamo il puzzle
la verità è che avremmo potuto fare puzzle
e non attivare questa funzione e solo
lascia in modo che quelle api interne
rimarrebbe aperto e l’ avrei fatto
l’adozione di JDK 9 più semplice e noi
sarà solo avere questa conversazione
con dedicato hanoar JDK 11 così faremo
stai solo calciando il secchio per un po ‘
più tardi e saremmo ancora nello stesso
problema quindi abbiamo deciso ora dovremmo
fai la cosa giusta adesso che noi
avere un meccanismo andiamo avanti e usiamo
esso
quindi siamo andati a vedere un po ‘di
diversi prodotti abbiamo lo stesso
di accesso che si fa per le librerie che sono
open source e guardiamo il loro codice a
vedere se ce n’era davvero qualcuno
API interna richiesta e tu
sai forse dovremmo farlo
un’API Java SE e questo è quello che abbiamo trovato
fuori puoi vedere che c’è un paio di
API che sono ampiamente utilizzati, ma che cosa
abbiamo una coda molto lunga che conosci
uno dei due casi di utilizzo di prodotti
domanda quale pensi che sia il
la maggior parte usa l’API interna a chiunque indovina selvaggiamente
e dire questo è dal modo in cui questo sono io
amo questa domanda perché tutti
dice e dice che non è di base per
encoder va bene circa il doppio
beh non il doppio ma è quello
nozioni di base numero uno prima che ci sia
API è che ho fatto questo per un
molto tempo c’è un sacco di esterni
librerie abbiamo introdotto una base64 codificata
in JDK 8 e ancora il più comunemente
API usata è una 64 come un po ‘di
curiosità quando abbiamo introdotto il beige 64
codifica quello ufficiale che è JDK 8 noi
chiedi a un cliente di chiamarci e di dircelo
c’è un bug nella nuova classe è
codifica in modo errato, quindi cos’è?
codificando correttamente ci ha dato il valore
di Nana simile a quella originale il
quello interno che non sta seguendo il
certificazione esatta che usiamo per codificare
un certo insieme di personaggi che
personaggio non era nel nostro banco di prova in modo
il nuovo lo fa correttamente l’altro
uno ha un errore e qual è stato il
la risposta dei clienti dell’azienda potresti inserire un
bandiera in modo che il nuovo ti dia il
stesso errore quindi è così radicato
le persone devono usare queste cose nel modo giusto
bene quando l’abbiamo visto ci siamo resi conto
c’è un sacco di API interne che sono
usato per comodità ma come base64
uno codificato è abbastanza facile
percorso di migrazione giusto usare il funzionario
uno ci sono altri casi in cui si
potrebbe non esserci un chiaro percorso di migrazione
ma sai davvero cosa stai provando
per fare è solo un caso limite
che possiamo vivere senza quella cosa
esistente sai se il tuo codice no
fai quello va bene ci sono stati comunque a
una manciata di API che abbiamo trovato come alcuni
la signorina può salvare dove c’è un uso valido
caso per questo e non c’è ufficialmente
API supportata che la supporterà quindi se
guardi il jet dove abbiamo introdotto
questo l’abbiamo chiamato credo che riguardi
cinque classi che diciamo quelle
API interna che intendiamo rimuovere
ad un certo punto, ma non c’è una buona risposta
per in jdk 9 quindi stiamo andando a lasciare
quelli esposti rimangono pubblici
disponibile visibile
non devi passare alcun parametro
sono ancora lì andare avanti e usare
loro con l’avvertimento che siamo
lavorando attivamente per fornirti
versioni ufficialmente supportate per quelli
api’s quando lo faremo li rimuoveremo così
questo non è un nuovo contratto
li abbiamo introdotti allo standard
non è quello che stiamo facendo qui
solo dicendo si abbiamo bisogno di più tempo per
quelli che chiunque altro sarà
nascosto per impostazione predefinita e avviso I attentamente
scelto la parola è nascosto per impostazione predefinita
il che significa che puoi mostrare loro giusto così ma
non va bene è solo una cattiva idea, ma questo
sta per essere la cosa che sta per
mantenere la maggior parte delle persone solo andando a dare un
molto dispiacere per quello, ma noi
pensa che sia la cosa giusta da fare
allora abbiamo altri cambiamenti e in alcuni
casi sai qualcosa che cambiamo
Scatta qualcuno su uno dei miei preferiti
esempi era che non so se voi ragazzi
sentito che Sun è stato acquisito da Oracle
Sì, nessuna notizia, ovviamente, siamo andati e
cambiato alcune delle proprietà, quindi se
guarda le proprietà di piegatura di JRE
era solito dire figlio subito dopo
acquisizione che cosa ci si può aspettare che
direbbe proprio Oracle
è la proprietà del venditore sul file
chi ha intenzione di influenzare sì, penso
era Eclipse che stava per romperlo
con quello perché stavano usando il
proprietà del venditore per decidere quale antipasto
parametri da usare e hanno detto se lo è
Sun sai che è un piatto caldo e se lo è
non Sun non essere di nuovo ed è j9 e it
utilizza diversi parametri di avvio e
sai che Oracle non è il Sun no pun
destinato
quindi quindi quando li diamo presto
l’accesso alla costruzione di questo si è rotto e abbiamo avuto
per fornire loro se si guarda al J
arena se lo scarichi vedrai
questo è un piccolo file di testo che ha molto
di informazioni incluso sai che è
che si tratti di Oracle o no e basta
il tipo di cose che ci faranno inciampare
Giusto pensiamo che nessuno farà affidamento su
quello e abbastanza sicuro qualcuno lo fa
simile alla versione stringa nessuno
scarica l’ultima versione bene è
ora 31 anziché 20
questo è il verbo se fai un Java –
versione sul ventuno versione presente
è quello che si ottiene in questo momento nessuno lo sa
quello che tutti quei pezzi significherebbe per te
conosci l’un punto è storico
avanzi di ogni versione di Java tutto il
le stringhe di versione sono sempre iniziate con
un punto cosa vuol dire ormai niente
è solo sì, tu non vuoi
cambialo perché sai che è sempre
essere lì l’otto è la versione principale
questo ha senso lo zero che avevamo
qualcosa chiamato revisioni l’ ultima volta
usarlo era quattro versione quattro ricordo
1.4.2 non c’è stata una revisione da allora
e non ci aspettiamo che sarò mai
in realtà non è vero che ci sia stato
una revisione di otto non abbiamo appena letto
il numero perché non è così grande
trattare più giusto quindi non ci proviamo
tenerlo sincronizzato così anche se il
versione lo speck di otto è cambiato
non abbiamo cambiato quel numero è pieno
zero allora c’è un non standard
diametro c’è un numero laggiù
questo è il numero di aggiornamento e la regola è
piuttosto semplice
tutto per sicurezza anche per le funzionalità giuste
questo è un residuo di quando Sun
alternato ed era ogni tre mesi
era come C sincronizzare la sicurezza
rilasciare questo è quello che chiamano e
poi una caratteristica legge poi un segreto
rilascio di sicurezza quindi non è stato pianificato
ma si è scoperto che era fuori per
sicurezza tranne quella e poi il conto
numero eccetto che tu sai che non è così
Rimanere lì abbiamo deciso di fare di più
frequenti aggiornamenti di sicurezza in modo che ordinamento
di rotto che è anche strano ma ci è piaciuto
quindi cambiamo la regola e l’abbiamo detta
lo farà finire in cinque o in uno per
aggiornamento critico delle patch programmato a destra
e manterremo altri numeri dispari per
aggiornamenti di sicurezza non pianificati e multipli
di 24 funzioni e posso vedere il
risate andare intendo tutti questi ogni
una di queste decisioni ha senso al
tempo ma una volta li stringa tutti
insieme finisci con qualcosa
ridicolo dal modo in cui realizziamo qui noi
introdotto bpop oh non è in cinque è
è andato in gruppi di dieci è andato
completamente sfigato
proprio così JDK nove stavano abbandonando questo e
stiamo andando per qualcosa che è più vicino
alla semantica
versioning vi forniamo un’API in modo che
ti danno una versione di screening e
parsing validation quindi la versione DA di
nove se si guarda la schermata della versione
avrai nove non uno ma 9,0 doppio
aggiornamenti di sicurezza che includiamo tu conosci noi
avere un’altra cifra questo è per quando noi
aggiungi nuove funzionalità se alla sicurezza è tutto
stai facendo non stai aggiungendo il tuo
funzione in modo che si rimane invariato
zero e continuiamo a incrementare questo
uno lasciamo anche alcune lacune perché tu
sanno che potrebbe essere un avviso di sicurezza
non abbiamo intenzione e noi non vogliamo
devi rinumerare tutto più lontano
così fino a nove verrà rilasciato il 9:03 il prossimo
l’ aggiornamento della sicurezza del piano sarà nove zero
sei se dovessimo fare un aggiornamento di funzionalità
dopo nove zero sei sarebbero nove punti
un punto sei noti che i sei no
spostare perché prendiamo la sicurezza
vulnerabilità aggiungiamo solo alcune funzionalità
ora fa un po ‘di più
ok leggibile, speriamo di averlo trovato
quello che stiamo guardando codice di codice che
andrei e dirò bene fammi capire
il numero di versione elimina il primo
due giusto perché è un punto che non lo fai
devo sì che sta per rompere dispiace
anche questo significa che tutto il file
i nomi per JRE e JDK cambiano così
se hai una sorta di build automatizzata
sistema che cattura il file per te e
cose concatenate e scaricato il
correggere uno è ciò che dispiace
e tu sai per aggiungere un po ‘
insultare per questo non è retroattivo e
ci aspettiamo che JDK 8 duri a lungo
molto tempo quindi ho immaginato un lungo futuro
dove abbiamo una versione inferiore a te
conoscere nove geologico D se Larssen e
sopra questa è la tua logica ma pensiamo
di nuovo l’unico modo che tu sai
smettere di progredire è se muori così
è il costo del progresso questo lo sai
dobbiamo rompere alcune uova ce ne sono alcune
altri numerosi cambiamenti in JDK nove
matrix um people up there’s un mucchio di
strumenti che spediamo con il JDK che sono
non proprio allo stesso livello di standard
come lo stesso JDK in alcuni casi non lo facciamo
svilupparli quindi ad esempio Java DV è
solo a
impacchettare Apache Derby ed è dentro
il in JDK 8 ha iniziato la spedizione con Jetta
k6s egg o 7 in ogni caso ogni volta che spedisco
più ci rendiamo conto che ora non lo è
un grosso problema quando lo abbiamo fatto
un grosso problema da provare e provare a scaricare
alcuni software separati e questo crea
un sacco di problemi giusti cosa succede se
corrono a una velocità diversa da quella che facciamo noi
stiamo andando in giro solo per non farlo
quindi un sacco di strumenti non lo sono più
di una nave in alcuni casi quando lo faremo
VM ci piace davvero ma non lo facciamo
mantenilo, sai che il nostro team non lo fa
rimane solo in github da cui prelevare
ci sono altri sperimentali
strumenti che abbiamo pensato oh questi sono fantastici
ma sai che è difficile da mantenere
con quegli strumenti sperimentali e ora
hanno alternative migliori quindi quelle
stanno andando via e stiamo anche cambiando a
pochi di default con cui qualcuno abbia familiarità
qual è la garbage collection predefinita
algoritmo per JDK in questo momento e il
domanda trivia è quante persone fanno
pensi davvero che ti interessi ancora non specificare
e basta affidarsi al default sì per
quei ragazzi avranno un
problema perché stiamo cambiando il
default e questo sarà g1
correzione semplice non fare affidamento sul predefinito voi
conosci passare un parametro e dirgli quale
quello che vuoi, ma ancora un po ‘unificato
login non ci aspettiamo che questo sia un grande
problema ma se si stava analizzando l’output
di nuovo il log potrebbe essere necessario semplicemente andare
su rielaborazione pensiamo che faccia di più
senti ora e abbiamo anche qualcosa
chiamato un jnlp parsing che era molto
permissivo se non hai abbastanza abbinato il
spec proveremmo il nostro meglio per indovinare che cosa
previsto e abbiamo scoperto che
non è una buona cosa da fare perché noi
sai che non è sempre corretto e tu
non correggere mai un errore se lo sai
avere questa cosa riparata per te in modo JLP
parsing ora se hai qualcosa di sbagliato
Mi limito ad errore e ti dico cosa fare
vuoi che io faccia, per favore, fornisci il
giusti valori e lavorerò di nuovo
poi c’è il numero di API deprecate
sono stati rimossi
abbiamo iniziato deprecato che hanno un
uno o due a destra su non so 17
18 anni fa, quanti ne abbiamo rimossi
nessuno ha ragione, quindi mi scuso ma ciò significa
ci siamo allenati agli sviluppatori di pensare che
deprecato è solo un generatore di avvisi
quello che abbiamo abusato di più deprecato
c’erano alcune classi di swing che hanno
uno spettacolo e nascondere diritto di opzione di presentarsi
formattare qualcosa e in Java non lo facciamo
come mostrare mostrare in modo che abbiamo introdotto un set
visibile alle cadute visibili e mostra su
nascondi dove contrassegnati come non deprecati
perché abbiamo sempre intenzione di rimuoverli o
perché si sbagliavano ma è solo
non bello come il trampolino fiscale JDK nove
senza deduplicare quella deprecazione che conosci
quindi siamo pre kate li va bene così abbiamo
deprecato un paio di applicazioni
ci sono anche dei casi in cui non c’è niente
sbagliato con l’API che è lì tu
non dovrebbe preoccuparsi
ma c’è un’alternativa migliore quindi se
stai scrivendo un nuovo programma che dovresti
usa quello nuovo ma se ne hai un po ‘
vecchia libreria che funziona bene va bene
continua a utilizzare l’elemento deprecato a destra
e c’è una manciata di altri
roba deprecata che siamo noi
cercando di sbarazzarcene e abbiamo intenzione di farlo
rilasciatelo nella prossima versione quindi anche se
è in tutte le cose se volessi correre
con la prossima versione sarebbe bello se
vai avanti e rimuovilo e prima
gdk9 c’era che potevi leggere nel
documentazione
uno per uno, ma non c’era programmatico
modo di capire quale era quale
abbiamo aggiunto qualcosa chiamato enhanced
deprecazione che è un’annotazione dove
diciamo sì questo che intendiamo rimuovere
nella prossima versione c’è un for
strumento di rimozione e dal momento che tutti ci piacciono
c’è un nuovo strumento chiamato JD per scansione
che puoi correre contro il tuo codice e
troveranno tutte le istanze di
deprecato e se lo passi è giusto
bandiera troveranno quelli che sono
deprecato con per la rimozione è uguale a true
quindi eravamo a sapere che voi ragazzi non lo siete
come le prime persone di cui lamentarsi
alcuni di questi cambiamenti dobbiamo anche
trattare con molte persone all’interno di Oracle
che usano JDK e
a differenza della maggior parte di voi sono costretti a farlo
testarlo e sono molto vocali
queste cose così loro ci dicono cose come
si sa solo che hanno il compilatore dire
quello che non è abbastanza ho bisogno di avere un
strumento che funzionerà quando non ho
quel codice sorgente quando non lo farò
compilare cosa succede se uso un
diritto di libreria di terze parti che non ho
il codice sorgente non so cosa
che stanno facendo voi ragazzi mi dicono così
ci sono un sacco di nuovi strumenti che lo faranno
aiutarti con questo un sacco di cose come
Ho detto se ne sono andati tutti e due abbiamo
non pensare di conoscere Apple non supportata
API sai che erano specifici di Apple
come c’è una versione equivalente che è
indipendente dalla piattaforma alcuni GC
combinazioni in cui siamo deprecati
JDK 8 ricorda quegli avvertimenti che ero
menzionando sì quelli sono avvertimenti su 8
saranno errori in 9 quindi se
vedi quegli avvertimenti fare qualcosa
su di loro per favore e tu sai perm gen
e cose così
ora so che nessuno qui mai avrebbe scelto
a usare un’API interna e si sono molto
attento sai se non permetti a nessuno
in cammino però quando siamo andati a dare un’occhiata
tutte quelle librerie open source noi
scoprire a chiunque importi di indovinare
quale percentuale di essi usa l’API interna
sta parlando di codice non banale
qualcuno pensa
più della metà di più della metà di
80% come circa il cento per cento noi
non riuscivo a trovare un singolo non banale
libreria che non ha utilizzato l’API interna come
In alcuni casi ho detto che era per alcuni
cosa conveniente non è un grosso problema ma
quello che ci aspettiamo è se non stai scrivendo
qualcosa di veramente piccolo e tu no
usando log4j o spring o qualcosa in
meno dovrai leggere a quello successivo
versione di quelle librerie così siamo stati
contatto con loro che abbiamo li raccontiamo
per favore aggiorna questi con senior
codice sorgente e ci aspettiamo che alcuni di
loro se non tutti avranno una versione
pronto per il momento in cui JDK rilascia gdk9 e
speriamo che gli altri si riprendano presto
dopo ma intanto continuo
Intendo le persone di cui sei responsabile
scegliendo le tue librerie che erediti
qualunque sia il loro vizio e la loro virtù
ora è su di te per riposare la biblioteca
allo stesso modo ci sono alcune cose che noi
hanno deprecato in nove alcuni di loro noi
potrebbe voler rimuovere più tardi c’è un
screenshot di un accesso anticipato
pagina di documentazione c’è un intero
sezione di broccato non si può davvero vedere
qui ma c’è una lunga lista di
cose che rimarranno durante le nove di te
può usarli ma dovresti pianificare in
rimuovendoli per una versione successiva va bene
un’altra cosa che è importante è questa
non bene c’è una lunga lista di lavanderia
le cose ci applet di cui tutti hanno bisogno
sai perché questo è deprecato sì
qualche codice
Jar Jar che sta afferrando lo stesso barattolo e
correndo attraverso Jar due volte che per
qualche bizzarro motivo per supportarlo
non sarà più
e altri importanti cambiamenti e questo è
non solo nove dal modo in cui questo accade
in questo momento con sei sette e otto
qualcuno ha sentito di quello che è successo con
Funzione di hashing MD5, che idea eccezionale
non è più considerato sicuro ciò che è
il prossimo che sta andando in quel modo deve
un grazie quindi cosa succede tuo
versione sai che prendi una versione di
il JDK quando hai scaricato questa cosa
nel 2011 Sha-1 lo sapevi considerare sicuro
quello era il default tu e tu
ho firmato un gruppo di barattoli che voglio questo
è quello che succederà presto
andando a dover dimettersi quel barattolo giusto
quindi questo è uno dei pochi casi in cui
usciamo dal nostro modo per dirti con come
molto avvertimento possibile di un cambiamento in
sicurezza non sai quello che sai
creando questi il brouhaha interno
sarebbe stato in grado di pubblicare questo così
c’è una pagina java.com slash crypto
roadmap dove ti diciamo quale
gli algoritmi saranno disabilitati in
quale versione in alcuni casi non possiamo dire
qualsiasi cosa, perché sai che c’è un
vulnerabilità della sicurezza lo faremo semplicemente
e lo faremo
dopo il fatto ma per quelli che noi
possiamo faremo impostarlo come lontano nel
il futuro il più possibile che ti daremo
istruzioni se possibile in modo che tu possa
configura il tuo JRE per comportarsi come sarà
in futuro in questo modo puoi testarlo
e vedere se sei interessato e quando
disabilitiamo l’algoritmo o qualcosa del genere
ci sono istruzioni in là per come
per riaccenderlo che è una pessima
idea non c’è non va bene non va bene così cattiva idea
l’unica scusa sul perché dovresti farlo
è perché eri tu lo conosci
dormivi non hai visto nulla di tutto ciò
hai aggiornato e ora le tue scelte sono
downgrade del GRE idea ancora peggiore o
configurare temporaneamente JRE – for
esempio tranne mv5 mentre vai e
dimissioni Ho ricevuto alcune domande da
gruppi di bene non abbiamo firmato in tempo
Che cosa dobbiamo fare dimettersi e voglio dire
o lasciare l’azienda o firmare
jar uno di quei lavori per me
okay, quindi preparati per il futuro adesso
di questi sembra un po ‘spaventoso
un sacco di preavviso molto tempo noi
attualmente ha build di accesso anticipato di
JDK 9 dove tutte queste cose sono così
ti stiamo dicendo che sei già sul posto
quindi se vai a JDK 9 EA ora ecco il
tra l’altro se cerchi JDK 9
accesso anticipato abbiamo recentemente cambiato il
server e per quanto posso dire di no
il motore di ricerca ha ancora trovato il corretto
uno come stopgap puoi andare al
pagina di download principale di JDK c’è un pulsante
quello che dice l’ accesso in anticipo clicca su quello
quello ha i collegamenti aggiornati sono sicuro
conosci tutto il fatto che Google lo faranno
ritoccare alla fine
tu non spacchetti tutti quei ragazzi ma
puoi scaricare JDK 9 ora prova tutto
questi abbiamo introdotto sapendo che uno era
andare a inciampare su tutti è stato il
nascondendo l’API interna ce n’è una nuova
strumento disponibile in JDK 8 e di
Naturalmente l’ accesso anticipato di 9 ha chiamato Jaidev
Dipendenze Java con cui lo si esegue
bytecode quindi non mi interessa
non hai il codice sorgente che sei
pensato per farcela contro il tuo intero
proietta anche le librerie che tu
scaricalo da Vita e te lo dirà
quali moduli utilizza quella particolare classe
c’è un’opzione che dice che non mi interessa
a proposito di tutta la cosa verbosa basta dirlo
io su quelli interni e loro lo diranno
tu in anticipo sì, ecco quelli
che stanno per esplodere se ci provi
eseguilo su jdk 9 in modo da poterlo usare
trova i nuovi o almeno lo farai
sapere quali riabilitare utilizzando quello
comando che abbiamo menzionato su come
riaccenderlo bene si sa dove la mia
le bugie di preferenza trovano quella giusta così
aggiorna il tuo codice come ho detto stopgap
usa le opzioni della riga di comando per girare
questi indietro e in alcuni casi lo farai
scopri che la tua libreria preferita è quella
lo scarichi nuovamente nel 2001
non viene più mantenuto ed è
ora è un buon momento per andare a trovare un
libreria alternativa che è
qualcosa di meglio va bene questo è il
pagina corrente abbiamo build di accesso anticipato
che aggiorno penso che sia settimanale se
non inviato non è ogni due settimane così
il numero di build è probabilmente spento ormai
ma sai quando ho preso questo screenshot
la settimana scorsa era il 167 che abbiamo finito
saggia quindi quello che stiamo facendo ora è un bug
corregge quindi se sei il tipo di persona
che aspetti finché è abbastanza stabile
perché non vuoi che le cose si spezzino
stai bene, prendilo ora ha un
la piccola etichetta dice in Developer Preview
questo significa che quando sei in modalità bug fixing
nel dolce punto in cui non lo è
cambiando quindi è bene cambiare per controllare
ma hai ancora un po ‘ di a
finestra quindi se trovi un bug che è
importante potremmo essere in grado di risolverlo
per favore non essere il ragazzo che archivia un
bug critico due giorni prima del rilascio
siamo stati lì non ci piace li
sai che crei un sacco di problemi per noi
dacci un paio di mesi saremo molto
grazie per quello
ok questo è l’output di Jaidev
lo strumento di analisi delle dipendenze Java
proprio come ho detto è nel GA
versione 4 JDK 8 quindi l’hai già io
dimenticato a tutti noi qui usando qualsiasi cosa
più vecchio di JDK 8
giusto spero che abbiate piani per risolvere
che presto, sì, alcune persone hanno un buon risultato
motivo ma anche se non stai usando JDK
a puoi ancora usare de contro
il tuo codice sai che è uno strumento esterno
non è necessario ricompilare
tutto ciò in modo che sia buona corsa che l’eseguo
qui contro il nostro PC si aggiorna lo strumento
che ti diamo per aggiornare il tempo
zone e puoi vedere che sì usiamo
alcune API interne e sì questo è il
JDK dobbiamo usarlo online ragazzi in
alcuni casi ti diremo che stai usando
questa API qui è raccomandata
alternativa quindi se stai usando base64
ecco quello ufficiale, in alcuni casi
diremo che non abbiamo idea di cosa tu
dovrebbe usare invece, ma solo uscire
va bene se guardi il JDK 9 presto
accesso 1 abbiamo leggermente meglio
raccomandazioni ma loro o il
JDK 8 o 9 troverà ancora tutto il
API interna e questo è il mio screenshot
di quel comando segreto bene non segreto
ma ecco cosa si fa pubblicando
esporti tu dici il modulo e quale
pacchetto e che si desidera esporre che
a tutti senza nome è il nome automatico
che tutto il codice che non è il modulo ottiene
quindi più probabilmente non è quello che sei
andando a prendere e devi fare questi
non al livello API ma al pacchetto
livello in modo da poter avere il culo in
questo caso più volte e non lo siamo
non renderà tutto più facile e sì
ma potremmo, che mancherebbero la
punto
ok come ho detto abbiamo un nuovo sviluppo
paradigma stiamo per passare a provare a
arrivare a un modello di rilascio più veloce
Lascerò che George lo copra tra un minuto
stiamo cercando di adattarci un sacco di novità
cambiamenti che sto tenendo indietro
quindi ecco alcune piscine aggiuntive da adottare
al nuovo paradigma in anticipo
compilazione Penso di avere un altro
scivolare su questo perché sì ho dimenticato
sulla festa su questo
come sapete interpreta interprete Java
il tuo codice e lo compila mentre è
funzionamento ottimizzato per quel particolare
macchina così immaginiamo di farlo per te
e darti un passaggio facoltativo
quindi ora con JDK 9 offriamo il
alternativa di invece di dover
compilare ogni volta che puoi
compilare in anticipo abbastanza sicuro ha avuto un
piccolo suggerimento qui in fondo che
c’è una ragione per cui non lo facciamo
pre-compilare qualcosa per esempio il
JDK e mettilo fuori la ragione è
perché dovresti davvero usarli su a
sistema il più vicino possibile a
quello che corrisponde alla tua produzione
ambiente perché questa cosa si ottimizza
per il tuo ambiente, il JDK lo farà
produci un bytecode diverso se lo sei
correndo su una macchina schifosa con uno
core e molto sai molto poco
memoria quindi se hai un mostro
macchina con multicore e un’altra
la memoria in modo da non essere così sciocco da
pensa che puoi compilare in anticipo
in una macchina e poi darlo a
tutti è per questo che questo è uno strumento
viene fornito con il JDK che dovresti
eseguilo sulla tua macchina di produzione o come
chiudi il più possibile ok per ora supportiamo
prima del tempo compilare un modulo di database
e sperimentalmente tutto il resto ok così
un altro punto che abbiamo sentito è sì
questa è una nuova e interessante API ma voglio il mio barattolo
file per funzionare anche con le versioni precedenti
questo significa che non posso usare questo nuovo
API quindi posso usare lambda perché qualcuno
potrebbe essere in esecuzione su sette e tu sai
Non voglio avere un JDK per sette e
un JDK per otto così dato che vogliamo
evita di aver creato l’opzione di a
file jar di più settimane in questo esempio
qui se si esegue questo jar contro JDK 8
o inferiori sono le classi ABCD
tuttavia se lo si esegue su jdk 9, invece
di questi una classe usa questa classe che
userà qualche API che è disponibile solo
in nove e invece di questa classe B qui
è un modo più efficiente usando API
sono disponibili solo in nove sei ancora
mantenere il codice per nove e
otto ma ora puoi semplicemente comprimerlo
una sola cosa e darla a qualcuno
e farà la cosa giusta il dieci
su quale ambiente sta funzionando ho detto
tu avevi CI copiato la diapositiva e quello
era un team di professionisti quindi ho già coperto
questo e la proprietà lo usano sul tuo
macchina di produzione non sul
sviluppo uno va bene un’altra cosa che
è cambiato siamo passati da un Giri a
li domina tutti su un runtime personalizzato
ha fatto questo forum, non lo abbiamo detto
pianeta il punto è che abbiamo iniziato questi
con il caso d’uso che è stato incorporato
dispositivi proprio dove hai una macchina
non è così capace e abbiamo capito
beh, hai davvero bisogno di un JRE completo se
stai solo cercando di eseguire un piccolo
l’applicazione corretta di JRE ha un sacco di
biblioteche al punto che ha CORBA è
ha effettuato il login, conosci un numero elevato
di voi conoscete i moduli desktop e se io
non ne ho bisogno, perché devo farlo
nave con esso e il paradigma si è spostato
di nuovo quando è stato deciso il
l’idea era che avresti avuto un Giri
nel tuo sistema e funzionerà
ogni applicazione java quindi tu
Aveva bisogno che Giri fosse completo
tutto perché anche se puoi
voglio gestire solo qualcuno HelloWorld
altrimenti sta andando a provare a correre molto
diversa applicazione java e il Giri
deve essere in grado di prenderlo bene e questo
era quello di minimizzare le dimensioni del download ricordate
quando devi chiamare e pensare
per sempre per il download che non vuoi
avere più GRE per quei 300 megabyte
era gigantesco giusto che tu non volessi
per avere più istanze di questo in poi
il tuo sistema e applicazioni serie
richiede un contenitore di app di grandi dimensioni e tu
sai che lo hai impostato e tutto funziona
contro che ora siamo meglio
minimizzando in dipendenze ciascuno
l’applicazione può avere una sua personalizzazione
tempo e ho nel mio telefono 600
megabyte di giochi e cacciare 20
gigabyte di media proprio così 200 questo è
niente e hai bisogno di centinaia di
migliaia di istanze quindi queste sono le
Moduli JDK
quelli blu con le specifiche Java
quelli verdi sono alcuni tra quelli neri sono JDK
Mi dispiace
Quelli neri JavaFX sono JDK ce n’è uno
modulo di incubazione che è un particolare
modulo che significa che questo non è parte
delle specifiche stiamo ancora lavorando
andare avanti e provare, ma non farlo
costruire sistemi di produzione su di esso perché
non sarà lì nel prossimo
la versione cambierà proprio noi
voglio feedback il mio esempio ho appena resettato
i moduli Java C e i loro
le dipendenze immaginano che scrivo un
applicazione e decido di questi di cui ho bisogno
API diciamo che voglio sequel rosette e
Attivazione Java proprio da quelli
i moduli dipendono da tutti i moduli I
potrebbe creare il mio piccolo grafico e vedere
questo è ciò di cui la mia applicazione ha bisogno
piuttosto che avere un JRE completo che sono io
non so un paio di centinaia di megabyte come
a proposito di creare un runtime personalizzato e da
il modo in cui includiamo la mia domanda in
quel runtime non c’è bisogno di metterlo come un
jar separato è solo un altro modulo
il tutto ora è a 40 megabyte
quindi posso perché non sto condividendo il GRE
questo è noto che il titolo ha
cambiato ho intenzione di rollback Java C
moduli questo non è più un Java è qui
sotto questo è un caso casuale per il tuo
l’applicazione può solo eseguire applicazioni
che si basano su questo quindi questo è quello che tu
può fare ora con j-link e jdk 9 noi
penso che questo abbia molto senso quando
si sta cercando di creare un’applicazione
in un contenitore che è autonomo
e ho intenzione di restituirlo lasciare il
torna a vedere George, possiamo tornare
per domande, grazie
okay, Aurelio ha già iniziato a ordinare
di suggerire verso una direzione che
stiamo andando penso che sia importante
ricordalo anche con i benefici
che il sistema del modulo ti porta dentro
nove guardiamo a che non è lo sai
solo la fine di un mini processo di molti anni
Penso che abbiamo iniziato ad andare completamente
2008 prima sì sì, quindi è così
è in corso da un po ‘di tempo
ma pensiamo anche che questo sia davvero
l’ inizio di qualcosa di nuovo perché io
pensa cosa succederà qui è il
strutture che il sistema del modulo
provvede lo faranno sapere
ancora più facile per le persone nell’ecosistema
per creare e gestire le librerie
tempo e, quindi penso che sia chiaro
qualcosa che sai di essere un
forza per Java negli anni e e
questo lo renderà persino uniforme
più facile per le persone che insieme alle cose
come vasi multi rilascio e quel tipo di
cosa e in termini di sai cosa tu
vedi quando scarichi la versione ora
e di provare questi strumenti di provare
il sistema di moduli che provi è J link
davvero una sorta di punto di partenza il
le cose di cui parlava Aralia
esperimenti in äôt e impronta
riduzione e quel genere di cose siamo
andando a essere in grado di fare un sacco di cose
sulle prossime versioni che continuano
lungo il percorso di miglioramento
che quello che abbiamo fatto veramente un nove è
ha mostrato che quel genere di cose è
possibile e ha cercato di renderlo buono è
un po ‘come con Lambda quando noi
li introdusse in otto il nostro obiettivo era
davvero per cercare di assicurarsi che il
la performance risolve lambda e flussi
erano fondamentalmente buoni come o leggermente
meglio dell’equivalente se tu
sai usare il vecchio modo di fare le cose
Conoscere con un altro centro di classi e
roba divertente come quella ma fondamentalmente te
so che sapevamo che c’è una specie di a
continua roadmap di cose che possiamo
fare per rendere la performance anche lì
meglio nel tempo e certamente intendiamo
per farlo in termini di altre cose
stanno arrivando sapete ho un sacco di
la gente sta iniziando a chiedermi ora bene
sapere cosa succederà dopo
nove
e sai che è possibile tipo di guardare
questo noterai che non ci sono date
questo ma questo è solo per darti un
idea di una sorta di ciò che il modello di rilascio
sembrava giusto, che è un periodo
dove stiamo facendo lo sviluppo e presto
l’accesso costruisce un periodo in cui c’è
una sorta di fatture gratuite pubblicamente disponibili
e poi una specie di lunga coda di supporto
questo esiste
sai di solito il supporto commerciale di
noi e da altri venditori e e così tu
so che è un periodo piuttosto lungo
e come puoi vedere c’è molto
roba che viene mantenuta al
stesso tempo ora da una parte è molto
bene significa che c’è una sorta di
stabilità e prevedibilità bene tranne
non c’è sempre prevedibilità e
uno dei motivi è che in passato
per Java Fe c’è sempre stato questo
modalità di legare un grande pilota di guida
funzionalità per un rilascio anche prima di te
ha iniziato l’ uscita e quindi tutti sappiamo
ora nel 2017, come gli sviluppatori di software che
non è davvero una grande idea
è una specie di ricetta per te
cose in ritardo o altre cose
accadendo e in effetti l’abbiamo visto
con con le principali uscite nel corso dell’anno
nel corso degli anni e così sai cosa noi
sperano di fare è arrivare a un punto in cui
invece di rilasciare funzionalità importanti
in un programma molto molto lungo, in realtà
avere uscite regolari che escono molto lontano
più spesso e poi lavoriamo sulle funzionalità
nei progetti in open JDK finché non abbiamo finito
e quando hanno finito entrano nel giusto
ma nessuno in realtà significa che non stiamo andando
per dirla in e poi sta andando ad avere
due anni su come sistemare correttamente è come
è già stato risolto sappiamo che il
la qualità è buona eccetera ecc e così tu
so che è una specie di modalità diversa di
lavorando ora per essere onesti, abbiamo effettivamente
aveva quella modalità di lavoro per l’aggiornamento
rilascia così in modo sostanziale quando hai visto
un leo grigio ha mostrato la stringa della versione
prima delle 8:28 voi 40 80 60 voi conoscete questi
sono versioni che erano essenzialmente minori
aggiornare le versioni ma aveva funzionalità
miglioramenti in loro giusto e cosa
stiamo parlando di fare ora è il
stessa cosa tranne che non solo avere minori
cambiamenti minori di rilascio, cioè
miglioramenti di implementazione ma anche
introduzione
nuove cose nella lingua nuove API e
cambiamenti più sostanziali nel vm e
quindi in pratica ciò che ci permetterà di farlo
penso che sia andare a un modello che è lontano
più stretto e poi alla fine penso a cosa
abbiamo visto in un sacco di programmazione
comunità che sono andate a questo modello
è che tu sai piuttosto che farlo
supporto per ogni ogni uno di questi
di solito c’è una sorta di a lungo termine
supporto tipo di modello proprio dove ogni
poche uscite c’è qualcosa che è
designato è un ramo di supporto a lungo termine
quindi in ogni caso voglio essere abbastanza chiaro
che sai che questo è qualcosa che
stiamo considerando in questo momento che c’è un
un mucchio di discussioni in OpenJDK tra
persone che stanno collaborando in merito
che siamo molto impegnati a
stabilità e qualità di Java e
tenendolo alto e tu no
qualcosa che tutto il nostro tutto
gli utenti apprezzano moltissimo, quindi lo sai
quello che vogliamo fare è assicurarci che se
stiamo per una consegna più rapida
modello, lo sappiamo fare in un certo modo
che sta per essere in grado di aiutare farci
mantenere i principi fondamentali forti e noi
penso davvero che questo cambiamento con nove
e con i moduli è una parte molto importante di
essere in grado di arrivarci proprio perché
fondamentalmente riducendo la sicurezza
zona di attacco da sai ridurre il
superficie compatibilità e rendendolo
possibile evolvere l’interno
implementazione perché sai che è lontano
meno probabile che il codice là fuori stia andando
per essere in funzione su di esso che ci permetterà di
arrivare a un punto in cui possiamo effettivamente
convalidare le modifiche che stiamo apportando
non spezzerai te e il tuo
applicazioni e librerie che sei
usando bene così sai che in pratica spero
che tu sai che questo ti sta dando
po ‘di comprensione di come pensiamo
su questo un po ‘del tipo di bilanciamento
che facciamo tutto il tempo con tutto il
decisioni che ti fanno provare
per continuare a ruotare Java e lo sai
portarti nuove funzionalità e portarlo
a voi in modo tempestivo, non ti fanno
devo aspettare di sapere altri due anni
per la prossima major release incluso
funzionalità principale ma anche più piccola
cose che sai vorremmo ottenere come dentro
le tue mani
e speriamo di avere una grande esperienza
con nove come Aralia ha detto che otto stanno andando
essere in giro per molto tempo quindi se tu
trova quando inizi le cose facili con
nove che è un po ‘impegnativo no
tieni presente che puoi continuare
usando otto ma guarda nove come sai
cosa sta arrivando
come posso approfittare di ciò che è lì
così è per parlare
quindi per questa prossima sessione lo farò
parlo un po ‘e poi me ne vado
consegnare a
Aurelio è così che li presenterò per primi
e poi io Aurelio immagino che potremmo
aspetta le diapositive dove vuoi
aspetta ma sì, certo che possiamo fare
che farò tra un minuto, comincerò
dentro e presentarmi di fatto oh by
il modo in cui entrambi lavoriamo in Oracle così tu
avere il piacere di vedere questo scivolo
giusto sì, niente riguardo al futuro
è solo un piano di Bank su di esso
sì, è il futuro e questo è
sorta di un’altra versione del nostro titolo
che non puoi fare una frittata
senza rompere alcune uova
quindi parleremo di frittata
facendo così sono il vicepresidente
sviluppo per il gruppo Java SE a
Oracle Sono anche il presidente del
aprire il consiglio di amministrazione di JDK e Aurelio è
direttore della gestione prodotti presso
anche presso il gruppo Java SE di Oracle
e in precedenza era a Sun e in giro
lavorando su Java per molti anni quasi a
decennio giusto sì che mi rende uno di
il nah penso di essere solo timido di essere
la persona minore della squadra perché noi
Ho gente che è stata lì per 15 anni
anni quindi ti seguo ancora e
prima di andare oltre il lato oscuro di
gestione Ho lavorato come ingegnere
Java ehm, penso di averlo iniziato in figlio
1996 e così ho molto da fare
colpa prima di metterci così e
poi il terzo presentatore è Charlie Hunt
che in realtà è basato su chicago e quindi noi
speravano in paradiso venire e parlare
per te è nel team delle prestazioni
è un architetto di prestazioni per Java in
la JVM sfortunatamente non era in grado di farlo
fallo oggi
Va bene così alcuni titoli come voi ragazzi
può vedere che tutti stanno predicendo la morte
di Java orribile orribile è davvero
triste ovviamente se dai un’occhiata ad alcuni
delle date puoi vedere che queste erano
titoli in varie versioni di Java
negli ultimi venti anni così fondamentalmente
abbiamo una tendenza qui scrivere un sacco di
roba arriva, ci sono cose nuove che sono
un po ‘spaventoso tutti hanno paura
che il mondo sta per finire e di
Certo, come abbiamo visto, non è finito
ci sono stati che conosci diversi
rilascia alcuni portando di più
funzionalità un po ‘meno ma da e
grande come una comunità di sviluppo noi
abbracciare questi abbiamo trovato modi per entrambi prendere
vantaggio degli aspetti positivi noi
portare e affrontare anche con negativo
aspetti nella misura in cui ci sono
sono stati quelli e la ragione che porto
questo in su è che ci troviamo su
la cuspide di una nuova major release di Java
in programma per luglio di quest’anno
e questa è una di queste versioni e
rilasci che non è tanto
evoluzionario come rivoluzionario questo
porta il sistema del modulo per Java
anche il modulo fa sorgere il JDK e così via
stiamo andando a parlare un po ‘di oggi
riguardo sia a quello che ad altre cose
sono in nove che potresti essere interessato
in così come forse un po ‘di
sai cosa pensiamo sia il futuro
andare a guardare come Penso che una cosa
che possiamo sicuramente prevedere è quello
ci vorrà più tempo per le persone ad adottare
puzzle per il fatto che il
sistema di moduli porta con sé
forte capsulazione e penso
è qualcosa che sarà un po ‘
po ‘una sfida per le persone a
Inizialmente ci pensiamo anche noi
provando a fare molto per farlo
transizione facile penso soprattutto a uno dei
le cose che abbiamo cercato di fare è fare tutto
dello sviluppo di nove all’aperto
in open JDK quindi sei stato in grado di guardare
a tutto quello che sta succedendo
guarda il codice scarica le bollette settimanali
e abbiamo avuto un sacco di persone a farlo
e non solo persone che conosci
interessato all’implementazione JDK o JVM
implementazione ma anche molti produttori
di quadri e librerie, nonché
sviluppatori di applicazioni quindi andiamo
avanti e guarda questo che tipo
di cose lo è per bene lo sai
chiaramente un linguaggio di programmazione moderno
e la piattaforma ha bisogno di un sistema modulare giusto
Voglio dire, sai che difficilmente ne costruirai uno
oggi senza trovare un modo di fare
ma ovviamente una sfida per Java
è che non ne aveva uno in origine giusto
aveva un modo abbastanza semplice di organizzare
il tuo codice è un modo abbastanza semplice di
indicando di usare lo sviluppatore
il codice è in realtà API pubblica che io
dovrebbe usare o qual è qualcosa
è pensato per essere un interno
dettagli di implementazione che possono essere
disponibile per altre classi nel mio pacchetto
ma non è davvero qualcosa
qualcuno da fuori è destinato a
raggiungere e utilizzare comunque Java no
fornire un modo per evitare che tu lo faccia
quello e naturalmente ad alcuni livelli quello
può essere una caratteristica proprio lo rende molto
molto flessibile è davvero conveniente
io che posso andare a guardare un po ‘di
codice che è questo da qualche parte e posso
chiamare d’altra parte si sa, se
si sta cercando di mantenere questo come un
sistema nel tempo e lo evolve e lo faccia
è meglio
è molto difficile farlo se
assolutamente nulla potrebbe essere chiamato e
cambiandolo sarebbe considerato
qualcosa o potrebbe essere considerato
qualcosa che rompe gli utenti e così tu
so che questo è dove questo desiderio
evolvere e migliorare sorta di esce
contro un altro principio che conosci
ci piace pensare che siamo molto forti
nello sviluppo di Java che non deve rompere
Giusto diritto degli utenti , vogliamo che le nostre pubblicazioni siano
compatibile vogliamo il tuo codice esistente
continuare a lavorare in modo da conoscere il
la sfida in questo caso è come si fa
evolvi qualcosa quando nulla può cambiare
chiaramente questo non è qualcosa di simile
è sostenibile per sempre e infatti lo sai
puoi tornare indietro e guardare il
zione da Java per tutto il tempo da sapere
metà degli anni ’90 e vedere tutti i luoghi dove
dice che sai che questa è l’API pubblica
puoi cambiare che puoi usare questi
altre cose che sono qui davvero
sono solo fortemente scoraggiati dall’usare
quindi avremo un po ‘di più su
in pochi minuti ma lo sai
alcuni Ho sentito alcune persone dicono sorta di
beh, sai bene, guarda che posso tipo
capire l’idea di moduli per il
JDK giusto per la modularizzazione
Librerie JDK ma sai che lo facciamo davvero
bisogno di andare ed estenderlo alle strutture
nelle applicazioni bene sai
interessantemente molte persone che
parliamo con e molte persone sul
squadra sai che non sempre sei stato solo
funziona su Java ma in realtà ha usato
in altri sistemi di programmazione su
anni per farti conoscere all’utente finale
applicazioni e conosci uno dei
le cose che usiamo universalmente lo troviamo
che questa sfida che noi che io solo
descritto per l’implementazione del JDK
esiste per tali quadri pure
giusto così se sto scrivendo un quadro
la loro biblioteca voglio essere in grado di
evolvilo ma sono allo stesso modo in cui sai
un cattivo stato se non posso cambiare nulla
perché tutti stanno arrivando
e tratta cose che sono interne
dettagli di implementazione quindi è qualcosa
che le biblioteche hanno bisogno e vogliono anche a
una specie di livello superiore che scrive un
applicazione sai quanti di voi
sei stato in un progetto più ampio
nella tua compagnia dove all’improvviso
hai trovato quello che hai scritto tu
non hai nemmeno pensato di sapere come
per farlo perché questo è tutto interno
sai che qualcun altro ha finito per usare
e in base a e hai cambiato
qualcosa senza rendersene conto e
tutto si è rotto, succede, succede a
molto quindi penso che il bisogno ci sia ma
è anche un po ‘più grande di questo
perché oltre a questo tipo di
incapsulamento sfida un numero di
altre cose che sentiamo dagli utenti è
guarda bene molte prestazioni per essere migliore
vogliamo che l’impronta sia più piccola e quando
diciamo prestazioni intendiamo anche startup
tempo giusto così che è stato uno dei
cose che le persone hanno sentito oltre il
anni che altro che portiamo
intorno a troppe cose come
ho davvero bisogno di avere Corbeau quando
Non sto usando esattamente e in aggiunta
il tempo di avvio che conosci di nuovo
è meraviglioso con Java che hai
la flessibilità delle cose in realtà essere
caricato a runtime giusto e poi cose
iniziando a compilare nel tempo, quindi quale
altro hai sia l’ avvio iniziale
che è il runtime di JVM in arrivo
così come il tuo file è sapere che sei
letto e inizialmente interpretato e
poi nel tempo compilato oltre a tutti
le cose che dipende da e
importare facendo accadere la stessa cosa
lì e abbiamo avuto sapere oltre il
anni alcuni esperimenti produttivi con
cose come la condivisione dei dati sulla pasta e altro
cose che permettono ad alcune cose di farlo
essere fatto prima del tempo ma ciò che realmente
vuole raggiungere è qualcosa in cui si
sapere quando si avvia l’applicazione è
arriva velocemente in fretta perché tutti
il lavoro di validazione di classi pari
compilazione delle dipendenze risolutive
tutto ciò che è fatto dalla classe
caricatore magicamente per voi in grado di runtime
effettivamente fatto in anticipo va bene così così
anche questo è un grande pezzo
così come puoi vedere penso che ci sei
conoscere un sacco di vantaggi che il modulo
sistema comporta tuttavia anche alcuni
di questi vantaggi sono anche cose che
potrebbe essere considerato come uno svantaggio
a destra in modo da sapere un sacco di genere
di risoluzione delle dipendenze e e
evitando ambiguità di cui effettivi
versione di questa classe che era sulla mia
gigantesco percorso di crap ha fatto il runtime
scegli per me ora è sottolineato
sai che stai andando a risolvere tale
dipendenza che devi e
prima potevi pensare a un sistema
lo stavo facendo per te ma in realtà lo sei
solo ingannando te stesso
sei stato fortunato se il tuo codice avesse ottenuto il
quello giusto così sai che ci sono un sacco
di cose come quella che sarà
interessante da guardare tutto bene così
Io vado a portata di mano in realtà fuori ora alla mia
collega Leo che sta per andare
attraverso un mucchio di ulteriori dettagli in inject
su un altro
grazie Giorgio penso che sì, a proposito di chi
notato che l’ ultimo strumento nel bene
sezione è in realtà i primi due nel
brutta sezione, giusto sì, non è un refuso
questo perché per alcune persone la gente
è chiamato dick quindi non ne vuoi
ambiguità vuoi sapere quale classe
stai caricando che sono quadri che
sai sfruttare questa opzione e
considera tutto ciò che risolve ciò
allo stesso modo ora abbiamo una chiara separazione
di quello che sta per intendersi per te
da usare e cosa si intende utilizzare
dalla piattaforma che riteniamo sia buona
cosa permetterà al mondo una piattaforma
probabilmente sarà il più difficile
pillola da ingoiare per le persone che si spostano verso JDK
9, che è ciò che si aspettavano di
usare e siamo sempre abituati ad avere
l’accesso a sta scomparendo così perché è
che è un po ‘ di background c’è
sempre stato un po ‘diverso
categorie di API nel JDK c’è a
un paio di loro che sono stati supportati e
inteso per uso per uso esterno così
ci sono alcune API Java
che fanno parte delle specifiche Java
non puoi avere qualcosa e chiamarlo a
Implementazione Java se non fornite
quelle API quindi ovviamente ti sviluppano
so che è il contratto che è quello che noi
dite che Java fornisce se vi attenete a quello
puoi scrivere Java che verrà eseguito su
Oracle JDK o un IBM o in qualsiasi altro
fornitori perché tutti devono fornire
quelle API allora abbiamo altre API
erano jdk specifici che conosci figlio
ora oracolo per servire le API che sono solo
in quel prodotto, ma che erano destinati a
essere utilizzato da sviluppatori un esempio di tale
è quando introduciamo Java FX
non fa parte delle specifiche Java
ma il dev FX ap è sapere che è inteso
da utilizzare se si guarda alla
la documentazione dice andare avanti e usare
e poi c’è un altro set quelli
non sono JDK interni non supportati
toccare questa API che sono per lo più sotto
stella standard ok ci sono un paio di
Stella del puntino del sole
ragazzi che pensiamo siano buoni da usare ma
l’ultima maggioranza della stella di Santos
non toccarlo e voglio dire che non lo sei
dovrebbe essere in grado di leggerlo ma
è solo uno screenshot lo puoi trovare
con un archivio Internet oltre il 1996 che è
che cosa questo piccolo avvertimento da Sun
dicendoti di non usare questa API al
JDK 6 ricevi avvertimenti se provi a
compilare usando questa API ora appena fuori
curiosità quante persone qui ignorano
gli avvertimenti del compilatore una parte regolare di
il loro giorno vieni a confessare molto
le persone sono come oh yeah io
compilato per darmi uno è chi se ne frega
riguardo all’avvertimento ricompilare sta funzionando
dovresti avere una ragione per cui li abbiamo messi
avvertimenti lì così quando eravamo
considerando anche che abbiamo il puzzle
la verità è che avremmo potuto fare puzzle
e non attivare questa funzione e solo
lascia in modo che quelle api interne
rimarrebbe aperto e l’ avrei fatto
l’adozione di JDK 9 più semplice e noi
sarà solo avere questa conversazione
con dedicato hanoar JDK 11 così faremo
stai solo calciando il secchio per un po ‘
più tardi e saremmo ancora nello stesso
problema quindi abbiamo deciso ora dovremmo
fai la cosa giusta adesso che noi
avere un meccanismo andiamo avanti e usiamo
esso
quindi siamo andati a vedere un po ‘di
diversi prodotti abbiamo lo stesso
di accesso che si fa per le librerie che sono
open source e guardiamo il loro codice a
vedere se ce n’era davvero qualcuno
API interna richiesta e tu
sai forse dovremmo farlo
un’API Java SE e questo è quello che abbiamo trovato
fuori puoi vedere che c’è un paio di
API che sono ampiamente utilizzati, ma che cosa
abbiamo una coda molto lunga che conosci
uno dei due casi di utilizzo di prodotti
domanda quale pensi che sia il
la maggior parte usa l’API interna a chiunque indovina selvaggiamente
e dire questo è dal modo in cui questo sono io
amo questa domanda perché tutti
dice e dice che non è di base per
encoder va bene circa il doppio
beh non il doppio ma è quello
nozioni di base numero uno prima che ci sia
API è che ho fatto questo per un
molto tempo c’è un sacco di esterni
librerie abbiamo introdotto una base64 codificata
in JDK 8 e ancora il più comunemente
API usata è una 64 come un po ‘di
curiosità quando abbiamo introdotto il beige 64
codifica quello ufficiale che è JDK 8 noi
chiedi a un cliente di chiamarci e di dircelo
c’è un bug nella nuova classe è
codifica in modo errato, quindi cos’è?
codificando correttamente ci ha dato il valore
di Nana simile a quella originale il
quello interno che non sta seguendo il
certificazione esatta che usiamo per codificare
un certo insieme di personaggi che
personaggio non era nel nostro banco di prova in modo
il nuovo lo fa correttamente l’altro
uno ha un errore e qual è stato il
la risposta dei clienti dell’azienda potresti inserire un
bandiera in modo che il nuovo ti dia il
stesso errore quindi è così radicato
le persone devono usare queste cose nel modo giusto
bene quando l’abbiamo visto ci siamo resi conto
c’è un sacco di API interne che sono
usato per comodità ma come base64
uno codificato è abbastanza facile
percorso di migrazione giusto usare il funzionario
uno ci sono altri casi in cui si
potrebbe non esserci un chiaro percorso di migrazione
ma sai davvero cosa stai provando
per fare è solo un caso limite
che possiamo vivere senza quella cosa
esistente sai se il tuo codice no
fai quello va bene ci sono stati comunque a
una manciata di API che abbiamo trovato come alcuni
la signorina può salvare dove c’è un uso valido
caso per questo e non c’è ufficialmente
API supportata che la supporterà quindi se
guardi il jet dove abbiamo introdotto
questo l’abbiamo chiamato credo che riguardi
cinque classi che diciamo quelle
API interna che intendiamo rimuovere
ad un certo punto, ma non c’è una buona risposta
per in jdk 9 quindi stiamo andando a lasciare
quelli esposti rimangono pubblici
disponibile visibile
non devi passare alcun parametro
sono ancora lì andare avanti e usare
loro con l’avvertimento che siamo
lavorando attivamente per fornirti
versioni ufficialmente supportate per quelli
api’s quando lo faremo li rimuoveremo così
questo non è un nuovo contratto
li abbiamo introdotti allo standard
non è quello che stiamo facendo qui
solo dicendo si abbiamo bisogno di più tempo per
quelli che chiunque altro sarà
nascosto per impostazione predefinita e avviso I attentamente
scelto la parola è nascosto per impostazione predefinita
il che significa che puoi mostrare loro giusto così ma
non va bene è solo una cattiva idea, ma questo
sta per essere la cosa che sta per
mantenere la maggior parte delle persone solo andando a dare un
molto dispiacere per quello, ma noi
pensa che sia la cosa giusta da fare
allora abbiamo altri cambiamenti e in alcuni
casi sai qualcosa che cambiamo
Scatta qualcuno su uno dei miei preferiti
esempi era che non so se voi ragazzi
sentito che Sun è stato acquisito da Oracle
Sì, nessuna notizia, ovviamente, siamo andati e
cambiato alcune delle proprietà, quindi se
guarda le proprietà di piegatura di JRE
era solito dire figlio subito dopo
acquisizione che cosa ci si può aspettare che
direbbe proprio Oracle
è la proprietà del venditore sul file
chi ha intenzione di influenzare sì, penso
era Eclipse che stava per romperlo
con quello perché stavano usando il
proprietà del venditore per decidere quale antipasto
parametri da usare e hanno detto se lo è
Sun sai che è un piatto caldo e se lo è
non Sun non essere di nuovo ed è j9 e it
utilizza diversi parametri di avvio e
sai che Oracle non è il Sun no pun
destinato
quindi quindi quando li diamo presto
l’accesso alla costruzione di questo si è rotto e abbiamo avuto
per fornire loro se si guarda al J
arena se lo scarichi vedrai
questo è un piccolo file di testo che ha molto
di informazioni incluso sai che è
che si tratti di Oracle o no e basta
il tipo di cose che ci faranno inciampare
Giusto pensiamo che nessuno farà affidamento su
quello e abbastanza sicuro qualcuno lo fa
simile alla versione stringa nessuno
scarica l’ultima versione bene è
ora 31 anziché 20
questo è il verbo se fai un Java –
versione sul ventuno versione presente
è quello che si ottiene in questo momento nessuno lo sa
quello che tutti quei pezzi significherebbe per te
conosci l’un punto è storico
avanzi di ogni versione di Java tutto il
le stringhe di versione sono sempre iniziate con
un punto cosa vuol dire ormai niente
è solo sì, tu non vuoi
cambialo perché sai che è sempre
essere lì l’otto è la versione principale
questo ha senso lo zero che avevamo
qualcosa chiamato revisioni l’ ultima volta
usarlo era quattro versione quattro ricordo
1.4.2 non c’è stata una revisione da allora
e non ci aspettiamo che sarò mai
in realtà non è vero che ci sia stato
una revisione di otto non abbiamo appena letto
il numero perché non è così grande
trattare più giusto quindi non ci proviamo
tenerlo sincronizzato così anche se il
versione lo speck di otto è cambiato
non abbiamo cambiato quel numero è pieno
zero allora c’è un non standard
diametro c’è un numero laggiù
questo è il numero di aggiornamento e la regola è
piuttosto semplice
tutto per sicurezza anche per le funzionalità giuste
questo è un residuo di quando Sun
alternato ed era ogni tre mesi
era come C sincronizzare la sicurezza
rilasciare questo è quello che chiamano e
poi una caratteristica legge poi un segreto
rilascio di sicurezza quindi non è stato pianificato
ma si è scoperto che era fuori per
sicurezza tranne quella e poi il conto
numero eccetto che tu sai che non è così
Rimanere lì abbiamo deciso di fare di più
frequenti aggiornamenti di sicurezza in modo che ordinamento
di rotto che è anche strano ma ci è piaciuto
quindi cambiamo la regola e l’abbiamo detta
lo farà finire in cinque o in uno per
aggiornamento critico delle patch programmato a destra
e manterremo altri numeri dispari per
aggiornamenti di sicurezza non pianificati e multipli
di 24 funzioni e posso vedere il
risate andare intendo tutti questi ogni
una di queste decisioni ha senso al
tempo ma una volta li stringa tutti
insieme finisci con qualcosa
ridicolo dal modo in cui realizziamo qui noi
introdotto bpop oh non è in cinque è
è andato in gruppi di dieci è andato
completamente sfigato
proprio così JDK nove stavano abbandonando questo e
stiamo andando per qualcosa che è più vicino
alla semantica
versioning vi forniamo un’API in modo che
ti danno una versione di screening e
parsing validation quindi la versione DA di
nove se si guarda la schermata della versione
avrai nove non uno ma 9,0 doppio
aggiornamenti di sicurezza che includiamo tu conosci noi
avere un’altra cifra questo è per quando noi
aggiungi nuove funzionalità se alla sicurezza è tutto
stai facendo non stai aggiungendo il tuo
funzione in modo che si rimane invariato
zero e continuiamo a incrementare questo
uno lasciamo anche alcune lacune perché tu
sanno che potrebbe essere un avviso di sicurezza
non abbiamo intenzione e noi non vogliamo
devi rinumerare tutto più lontano
così fino a nove verrà rilasciato il 9:03 il prossimo
l’ aggiornamento della sicurezza del piano sarà nove zero
sei se dovessimo fare un aggiornamento di funzionalità
dopo nove zero sei sarebbero nove punti
un punto sei noti che i sei no
spostare perché prendiamo la sicurezza
vulnerabilità aggiungiamo solo alcune funzionalità
ora fa un po ‘di più
ok leggibile, speriamo di averlo trovato
quello che stiamo guardando codice di codice che
andrei e dirò bene fammi capire
il numero di versione elimina il primo
due giusto perché è un punto che non lo fai
devo sì che sta per rompere dispiace
anche questo significa che tutto il file
i nomi per JRE e JDK cambiano così
se hai una sorta di build automatizzata
sistema che cattura il file per te e
cose concatenate e scaricato il
correggere uno è ciò che dispiace
e tu sai per aggiungere un po ‘
insultare per questo non è retroattivo e
ci aspettiamo che JDK 8 duri a lungo
molto tempo quindi ho immaginato un lungo futuro
dove abbiamo una versione inferiore a te
conoscere nove geologico D se Larssen e
sopra questa è la tua logica ma pensiamo
di nuovo l’unico modo che tu sai
smettere di progredire è se muori così
è il costo del progresso questo lo sai
dobbiamo rompere alcune uova ce ne sono alcune
altri numerosi cambiamenti in JDK nove
matrix um people up there’s un mucchio di
strumenti che spediamo con il JDK che sono
non proprio allo stesso livello di standard
come lo stesso JDK in alcuni casi non lo facciamo
svilupparli quindi ad esempio Java DV è
solo a
impacchettare Apache Derby ed è dentro
il in JDK 8 ha iniziato la spedizione con Jetta
k6s egg o 7 in ogni caso ogni volta che spedisco
più ci rendiamo conto che ora non lo è
un grosso problema quando lo abbiamo fatto
un grosso problema da provare e provare a scaricare
alcuni software separati e questo crea
un sacco di problemi giusti cosa succede se
corrono a una velocità diversa da quella che facciamo noi
stiamo andando in giro solo per non farlo
quindi un sacco di strumenti non lo sono più
di una nave in alcuni casi quando lo faremo
VM ci piace davvero ma non lo facciamo
mantenilo, sai che il nostro team non lo fa
rimane solo in github da cui prelevare
ci sono altri sperimentali
strumenti che abbiamo pensato oh questi sono fantastici
ma sai che è difficile da mantenere
con quegli strumenti sperimentali e ora
hanno alternative migliori quindi quelle
stanno andando via e stiamo anche cambiando a
pochi di default con cui qualcuno abbia familiarità
qual è la garbage collection predefinita
algoritmo per JDK in questo momento e il
domanda trivia è quante persone fanno
pensi davvero che ti interessi ancora non specificare
e basta affidarsi al default sì per
quei ragazzi avranno un
problema perché stiamo cambiando il
default e questo sarà g1
correzione semplice non fare affidamento sul predefinito voi
conosci passare un parametro e dirgli quale
quello che vuoi, ma ancora un po ‘unificato
login non ci aspettiamo che questo sia un grande
problema ma se si stava analizzando l’output
di nuovo il log potrebbe essere necessario semplicemente andare
su rielaborazione pensiamo che faccia di più
senti ora e abbiamo anche qualcosa
chiamato un jnlp parsing che era molto
permissivo se non hai abbastanza abbinato il
spec proveremmo il nostro meglio per indovinare che cosa
previsto e abbiamo scoperto che
non è una buona cosa da fare perché noi
sai che non è sempre corretto e tu
non correggere mai un errore se lo sai
avere questa cosa riparata per te in modo JLP
parsing ora se hai qualcosa di sbagliato
Mi limito ad errore e ti dico cosa fare
vuoi che io faccia, per favore, fornisci il
giusti valori e lavorerò di nuovo
poi c’è il numero di API deprecate
sono stati rimossi
abbiamo iniziato deprecato che hanno un
uno o due a destra su non so 17
18 anni fa, quanti ne abbiamo rimossi
nessuno ha ragione, quindi mi scuso ma ciò significa
ci siamo allenati agli sviluppatori di pensare che
deprecato è solo un generatore di avvisi
quello che abbiamo abusato di più deprecato
c’erano alcune classi di swing che hanno
uno spettacolo e nascondere diritto di opzione di presentarsi
formattare qualcosa e in Java non lo facciamo
come mostrare mostrare in modo che abbiamo introdotto un set
visibile alle cadute visibili e mostra su
nascondi dove contrassegnati come non deprecati
perché abbiamo sempre intenzione di rimuoverli o
perché si sbagliavano ma è solo
non bello come il trampolino fiscale JDK nove
senza deduplicare quella deprecazione che conosci
quindi siamo pre kate li va bene così abbiamo
deprecato un paio di applicazioni
ci sono anche dei casi in cui non c’è niente
sbagliato con l’API che è lì tu
non dovrebbe preoccuparsi
ma c’è un’alternativa migliore quindi se
stai scrivendo un nuovo programma che dovresti
usa quello nuovo ma se ne hai un po ‘
vecchia libreria che funziona bene va bene
continua a utilizzare l’elemento deprecato a destra
e c’è una manciata di altri
roba deprecata che siamo noi
cercando di sbarazzarcene e abbiamo intenzione di farlo
rilasciatelo nella prossima versione quindi anche se
è in tutte le cose se volessi correre
con la prossima versione sarebbe bello se
vai avanti e rimuovilo e prima
gdk9 c’era che potevi leggere nel
documentazione
uno per uno, ma non c’era programmatico
modo di capire quale era quale
abbiamo aggiunto qualcosa chiamato enhanced
deprecazione che è un’annotazione dove
diciamo sì questo che intendiamo rimuovere
nella prossima versione c’è un for
strumento di rimozione e dal momento che tutti ci piacciono
c’è un nuovo strumento chiamato JD per scansione
che puoi correre contro il tuo codice e
troveranno tutte le istanze di
deprecato e se lo passi è giusto
bandiera troveranno quelli che sono
deprecato con per la rimozione è uguale a true
quindi eravamo a sapere che voi ragazzi non lo siete
come le prime persone di cui lamentarsi
alcuni di questi cambiamenti dobbiamo anche
trattare con molte persone all’interno di Oracle
che usano JDK e
a differenza della maggior parte di voi sono costretti a farlo
testarlo e sono molto vocali
queste cose così loro ci dicono cose come
si sa solo che hanno il compilatore dire
quello che non è abbastanza ho bisogno di avere un
strumento che funzionerà quando non ho
quel codice sorgente quando non lo farò
compilare cosa succede se uso un
diritto di libreria di terze parti che non ho
il codice sorgente non so cosa
che stanno facendo voi ragazzi mi dicono così
ci sono un sacco di nuovi strumenti che lo faranno
aiutarti con questo un sacco di cose come
Ho detto se ne sono andati tutti e due abbiamo
non pensare di conoscere Apple non supportata
API sai che erano specifici di Apple
come c’è una versione equivalente che è
indipendente dalla piattaforma alcuni GC
combinazioni in cui siamo deprecati
JDK 8 ricorda quegli avvertimenti che ero
menzionando sì quelli sono avvertimenti su 8
saranno errori in 9 quindi se
vedi quegli avvertimenti fare qualcosa
su di loro per favore e tu sai perm gen
e cose così
ora so che nessuno qui mai avrebbe scelto
a usare un’API interna e si sono molto
attento sai se non permetti a nessuno
in cammino però quando siamo andati a dare un’occhiata
tutte quelle librerie open source noi
scoprire a chiunque importi di indovinare
quale percentuale di essi usa l’API interna
sta parlando di codice non banale
qualcuno pensa
più della metà di più della metà di
80% come circa il cento per cento noi
non riuscivo a trovare un singolo non banale
libreria che non ha utilizzato l’API interna come
In alcuni casi ho detto che era per alcuni
cosa conveniente non è un grosso problema ma
quello che ci aspettiamo è se non stai scrivendo
qualcosa di veramente piccolo e tu no
usando log4j o spring o qualcosa in
meno dovrai leggere a quello successivo
versione di quelle librerie così siamo stati
contatto con loro che abbiamo li raccontiamo
per favore aggiorna questi con senior
codice sorgente e ci aspettiamo che alcuni di
loro se non tutti avranno una versione
pronto per il momento in cui JDK rilascia gdk9 e
speriamo che gli altri si riprendano presto
dopo ma intanto continuo
Intendo le persone di cui sei responsabile
scegliendo le tue librerie che erediti
qualunque sia il loro vizio e la loro virtù
ora è su di te per riposare la biblioteca
allo stesso modo ci sono alcune cose che noi
hanno deprecato in nove alcuni di loro noi
potrebbe voler rimuovere più tardi c’è un
screenshot di un accesso anticipato
pagina di documentazione c’è un intero
sezione di broccato non si può davvero vedere
qui ma c’è una lunga lista di
cose che rimarranno durante le nove di te
può usarli ma dovresti pianificare in
rimuovendoli per una versione successiva va bene
un’altra cosa che è importante è questa
non bene c’è una lunga lista di lavanderia
le cose ci applet di cui tutti hanno bisogno
sai perché questo è deprecato sì
qualche codice
Jar Jar che sta afferrando lo stesso barattolo e
correndo attraverso Jar due volte che per
qualche bizzarro motivo per supportarlo
non sarà più
e altri importanti cambiamenti e questo è
non solo nove dal modo in cui questo accade
in questo momento con sei sette e otto
qualcuno ha sentito di quello che è successo con
Funzione di hashing MD5, che idea eccezionale
non è più considerato sicuro ciò che è
il prossimo che sta andando in quel modo deve
un grazie quindi cosa succede tuo
versione sai che prendi una versione di
il JDK quando hai scaricato questa cosa
nel 2011 Sha-1 lo sapevi considerare sicuro
quello era il default tu e tu
ho firmato un gruppo di barattoli che voglio questo
è quello che succederà presto
andando a dover dimettersi quel barattolo giusto
quindi questo è uno dei pochi casi in cui
usciamo dal nostro modo per dirti con come
molto avvertimento possibile di un cambiamento in
sicurezza non sai quello che sai
creando questi il brouhaha interno
sarebbe stato in grado di pubblicare questo così
c’è una pagina java.com slash crypto
roadmap dove ti diciamo quale
gli algoritmi saranno disabilitati in
quale versione in alcuni casi non possiamo dire
qualsiasi cosa, perché sai che c’è un
vulnerabilità della sicurezza lo faremo semplicemente
e lo faremo
dopo il fatto ma per quelli che noi
possiamo faremo impostarlo come lontano nel
il futuro il più possibile che ti daremo
istruzioni se possibile in modo che tu possa
configura il tuo JRE per comportarsi come sarà
in futuro in questo modo puoi testarlo
e vedere se sei interessato e quando
disabilitiamo l’algoritmo o qualcosa del genere
ci sono istruzioni in là per come
per riaccenderlo che è una pessima
idea non c’è non va bene non va bene così cattiva idea
l’unica scusa sul perché dovresti farlo
è perché eri tu lo conosci
dormivi non hai visto nulla di tutto ciò
hai aggiornato e ora le tue scelte sono
downgrade del GRE idea ancora peggiore o
configurare temporaneamente JRE – for
esempio tranne mv5 mentre vai e
dimissioni Ho ricevuto alcune domande da
gruppi di bene non abbiamo firmato in tempo
Che cosa dobbiamo fare dimettersi e voglio dire
o lasciare l’azienda o firmare
jar uno di quei lavori per me
okay, quindi preparati per il futuro adesso
di questi sembra un po ‘spaventoso
un sacco di preavviso molto tempo noi
attualmente ha build di accesso anticipato di
JDK 9 dove tutte queste cose sono così
ti stiamo dicendo che sei già sul posto
quindi se vai a JDK 9 EA ora ecco il
tra l’altro se cerchi JDK 9
accesso anticipato abbiamo recentemente cambiato il
server e per quanto posso dire di no
il motore di ricerca ha ancora trovato il corretto
uno come stopgap puoi andare al
pagina di download principale di JDK c’è un pulsante
quello che dice l’ accesso in anticipo clicca su quello
quello ha i collegamenti aggiornati sono sicuro
conosci tutto il fatto che Google lo faranno
ritoccare alla fine
tu non spacchetti tutti quei ragazzi ma
puoi scaricare JDK 9 ora prova tutto
questi abbiamo introdotto sapendo che uno era
andare a inciampare su tutti è stato il
nascondendo l’API interna ce n’è una nuova
strumento disponibile in JDK 8 e di
Naturalmente l’ accesso anticipato di 9 ha chiamato Jaidev
Dipendenze Java con cui lo si esegue
bytecode quindi non mi interessa
non hai il codice sorgente che sei
pensato per farcela contro il tuo intero
proietta anche le librerie che tu
scaricalo da Vita e te lo dirà
quali moduli utilizza quella particolare classe
c’è un’opzione che dice che non mi interessa
a proposito di tutta la cosa verbosa basta dirlo
io su quelli interni e loro lo diranno
tu in anticipo sì, ecco quelli
che stanno per esplodere se ci provi
eseguilo su jdk 9 in modo da poterlo usare
trova i nuovi o almeno lo farai
sapere quali riabilitare utilizzando quello
comando che abbiamo menzionato su come
riaccenderlo bene si sa dove la mia
le bugie di preferenza trovano quella giusta così
aggiorna il tuo codice come ho detto stopgap
usa le opzioni della riga di comando per girare
questi indietro e in alcuni casi lo farai
scopri che la tua libreria preferita è quella
lo scarichi nuovamente nel 2001
non viene più mantenuto ed è
ora è un buon momento per andare a trovare un
libreria alternativa che è
qualcosa di meglio va bene questo è il
pagina corrente abbiamo build di accesso anticipato
che aggiorno penso che sia settimanale se
non inviato non è ogni due settimane così
il numero di build è probabilmente spento ormai
ma sai quando ho preso questo screenshot
la settimana scorsa era il 167 che abbiamo finito
saggia quindi quello che stiamo facendo ora è un bug
corregge quindi se sei il tipo di persona
che aspetti finché è abbastanza stabile
perché non vuoi che le cose si spezzino
stai bene, prendilo ora ha un
la piccola etichetta dice in Developer Preview
questo significa che quando sei in modalità bug fixing
nel dolce punto in cui non lo è
cambiando quindi è bene cambiare per controllare
ma hai ancora un po ‘ di a
finestra quindi se trovi un bug che è
importante potremmo essere in grado di risolverlo
per favore non essere il ragazzo che archivia un
bug critico due giorni prima del rilascio
siamo stati lì non ci piace li
sai che crei un sacco di problemi per noi
dacci un paio di mesi saremo molto
grazie per quello
ok questo è l’output di Jaidev
lo strumento di analisi delle dipendenze Java
proprio come ho detto è nel GA
versione 4 JDK 8 quindi l’hai già io
dimenticato a tutti noi qui usando qualsiasi cosa
più vecchio di JDK 8
giusto spero che abbiate piani per risolvere
che presto, sì, alcune persone hanno un buon risultato
motivo ma anche se non stai usando JDK
a puoi ancora usare de contro
il tuo codice sai che è uno strumento esterno
non è necessario ricompilare
tutto ciò in modo che sia buona corsa che l’eseguo
qui contro il nostro PC si aggiorna lo strumento
che ti diamo per aggiornare il tempo
zone e puoi vedere che sì usiamo
alcune API interne e sì questo è il
JDK dobbiamo usarlo online ragazzi in
alcuni casi ti diremo che stai usando
questa API qui è raccomandata
alternativa quindi se stai usando base64
ecco quello ufficiale, in alcuni casi
diremo che non abbiamo idea di cosa tu
dovrebbe usare invece, ma solo uscire
va bene se guardi il JDK 9 presto
accesso 1 abbiamo leggermente meglio
raccomandazioni ma loro o il
JDK 8 o 9 troverà ancora tutto il
API interna e questo è il mio screenshot
di quel comando segreto bene non segreto
ma ecco cosa si fa pubblicando
esporti tu dici il modulo e quale
pacchetto e che si desidera esporre che
a tutti senza nome è il nome automatico
che tutto il codice che non è il modulo ottiene
quindi più probabilmente non è quello che sei
andando a prendere e devi fare questi
non al livello API ma al pacchetto
livello in modo da poter avere il culo in
questo caso più volte e non lo siamo
non renderà tutto più facile e sì
ma potremmo, che mancherebbero la
punto
ok come ho detto abbiamo un nuovo sviluppo
paradigma stiamo per passare a provare a
arrivare a un modello di rilascio più veloce
Lascerò che George lo copra tra un minuto
stiamo cercando di adattarci un sacco di novità
cambiamenti che sto tenendo indietro
quindi ecco alcune piscine aggiuntive da adottare
al nuovo paradigma in anticipo
compilazione Penso di avere un altro
scivolare su questo perché sì ho dimenticato
sulla festa su questo
come sapete interpreta interprete Java
il tuo codice e lo compila mentre è
funzionamento ottimizzato per quel particolare
macchina così immaginiamo di farlo per te
e darti un passaggio facoltativo
quindi ora con JDK 9 offriamo il
alternativa di invece di dover
compilare ogni volta che puoi
compilare in anticipo abbastanza sicuro ha avuto un
piccolo suggerimento qui in fondo che
c’è una ragione per cui non lo facciamo
pre-compilare qualcosa per esempio il
JDK e mettilo fuori la ragione è
perché dovresti davvero usarli su a
sistema il più vicino possibile a
quello che corrisponde alla tua produzione
ambiente perché questa cosa si ottimizza
per il tuo ambiente, il JDK lo farà
produci un bytecode diverso se lo sei
correndo su una macchina schifosa con uno
core e molto sai molto poco
memoria quindi se hai un mostro
macchina con multicore e un’altra
la memoria in modo da non essere così sciocco da
pensa che puoi compilare in anticipo
in una macchina e poi darlo a
tutti è per questo che questo è uno strumento
viene fornito con il JDK che dovresti
eseguilo sulla tua macchina di produzione o come
chiudi il più possibile ok per ora supportiamo
prima del tempo compilare un modulo di database
e sperimentalmente tutto il resto ok così
un altro punto che abbiamo sentito è sì
questa è una nuova e interessante API ma voglio il mio barattolo
file per funzionare anche con le versioni precedenti
questo significa che non posso usare questo nuovo
API quindi posso usare lambda perché qualcuno
potrebbe essere in esecuzione su sette e tu sai
Non voglio avere un JDK per sette e
un JDK per otto così dato che vogliamo
evita di aver creato l’opzione di a
file jar di più settimane in questo esempio
qui se si esegue questo jar contro JDK 8
o inferiori sono le classi ABCD
tuttavia se lo si esegue su jdk 9, invece
di questi una classe usa questa classe che
userà qualche API che è disponibile solo
in nove e invece di questa classe B qui
è un modo più efficiente usando API
sono disponibili solo in nove sei ancora
mantenere il codice per nove e
otto ma ora puoi semplicemente comprimerlo
una sola cosa e darla a qualcuno
e farà la cosa giusta il dieci
su quale ambiente sta funzionando ho detto
tu avevi CI copiato la diapositiva e quello
era un team di professionisti quindi ho già coperto
questo e la proprietà lo usano sul tuo
macchina di produzione non sul
sviluppo uno va bene un’altra cosa che
è cambiato siamo passati da un Giri a
li domina tutti su un runtime personalizzato
ha fatto questo forum, non lo abbiamo detto
pianeta il punto è che abbiamo iniziato questi
con il caso d’uso che è stato incorporato
dispositivi proprio dove hai una macchina
non è così capace e abbiamo capito
beh, hai davvero bisogno di un JRE completo se
stai solo cercando di eseguire un piccolo
l’applicazione corretta di JRE ha un sacco di
biblioteche al punto che ha CORBA è
ha effettuato il login, conosci un numero elevato
di voi conoscete i moduli desktop e se io
non ne ho bisogno, perché devo farlo
nave con esso e il paradigma si è spostato
di nuovo quando è stato deciso il
l’idea era che avresti avuto un Giri
nel tuo sistema e funzionerà
ogni applicazione java quindi tu
Aveva bisogno che Giri fosse completo
tutto perché anche se puoi
voglio gestire solo qualcuno HelloWorld
altrimenti sta andando a provare a correre molto
diversa applicazione java e il Giri
deve essere in grado di prenderlo bene e questo
era quello di minimizzare le dimensioni del download ricordate
quando devi chiamare e pensare
per sempre per il download che non vuoi
avere più GRE per quei 300 megabyte
era gigantesco giusto che tu non volessi
per avere più istanze di questo in poi
il tuo sistema e applicazioni serie
richiede un contenitore di app di grandi dimensioni e tu
sai che lo hai impostato e tutto funziona
contro che ora siamo meglio
minimizzando in dipendenze ciascuno
l’applicazione può avere una sua personalizzazione
tempo e ho nel mio telefono 600
megabyte di giochi e cacciare 20
gigabyte di media proprio così 200 questo è
niente e hai bisogno di centinaia di
migliaia di istanze quindi queste sono le
Moduli JDK
quelli blu con le specifiche Java
quelli verdi sono alcuni tra quelli neri sono JDK
Mi dispiace
Quelli neri JavaFX sono JDK ce n’è uno
modulo di incubazione che è un particolare
modulo che significa che questo non è parte
delle specifiche stiamo ancora lavorando
andare avanti e provare, ma non farlo
costruire sistemi di produzione su di esso perché
non sarà lì nel prossimo
la versione cambierà proprio noi
voglio feedback il mio esempio ho appena resettato
i moduli Java C e i loro
le dipendenze immaginano che scrivo un
applicazione e decido di questi di cui ho bisogno
API diciamo che voglio sequel rosette e
Attivazione Java proprio da quelli
i moduli dipendono da tutti i moduli I
potrebbe creare il mio piccolo grafico e vedere
questo è ciò di cui la mia applicazione ha bisogno
piuttosto che avere un JRE completo che sono io
non so un paio di centinaia di megabyte come
a proposito di creare un runtime personalizzato e da
il modo in cui includiamo la mia domanda in
quel runtime non c’è bisogno di metterlo come un
jar separato è solo un altro modulo
il tutto ora è a 40 megabyte
quindi posso perché non sto condividendo il GRE
questo è noto che il titolo ha
cambiato ho intenzione di rollback Java C
moduli questo non è più un Java è qui
sotto questo è un caso casuale per il tuo
l’applicazione può solo eseguire applicazioni
che si basano su questo quindi questo è quello che tu
può fare ora con j-link e jdk 9 noi
penso che questo abbia molto senso quando
si sta cercando di creare un’applicazione
in un contenitore che è autonomo
e ho intenzione di restituirlo lasciare il
torna a vedere George, possiamo tornare
per domande, grazie
okay, Aurelio ha già iniziato a ordinare
di suggerire verso una direzione che
stiamo andando penso che sia importante
ricordalo anche con i benefici
che il sistema del modulo ti porta dentro
nove guardiamo a che non è lo sai
solo la fine di un mini processo di molti anni
Penso che abbiamo iniziato ad andare completamente
2008 prima sì sì, quindi è così
è in corso da un po ‘di tempo
ma pensiamo anche che questo sia davvero
l’ inizio di qualcosa di nuovo perché io
pensa cosa succederà qui è il
strutture che il sistema del modulo
provvede lo faranno sapere
ancora più facile per le persone nell’ecosistema
per creare e gestire le librerie
tempo e, quindi penso che sia chiaro
qualcosa che sai di essere un
forza per Java negli anni e e
questo lo renderà persino uniforme
più facile per le persone che insieme alle cose
come vasi multi rilascio e quel tipo di
cosa e in termini di sai cosa tu
vedi quando scarichi la versione ora
e di provare questi strumenti di provare
il sistema di moduli che provi è J link
davvero una sorta di punto di partenza il
le cose di cui parlava Aralia
esperimenti in äôt e impronta
riduzione e quel genere di cose siamo
andando a essere in grado di fare un sacco di cose
sulle prossime versioni che continuano
lungo il percorso di miglioramento
che quello che abbiamo fatto veramente un nove è
ha mostrato che quel genere di cose è
possibile e ha cercato di renderlo buono è
un po ‘come con Lambda quando noi
li introdusse in otto il nostro obiettivo era
davvero per cercare di assicurarsi che il
la performance risolve lambda e flussi
erano fondamentalmente buoni come o leggermente
meglio dell’equivalente se tu
sai usare il vecchio modo di fare le cose
Conoscere con un altro centro di classi e
roba divertente come quella ma fondamentalmente te
so che sapevamo che c’è una specie di a
continua roadmap di cose che possiamo
fare per rendere la performance anche lì
meglio nel tempo e certamente intendiamo
per farlo in termini di altre cose
stanno arrivando sapete ho un sacco di
la gente sta iniziando a chiedermi ora bene
sapere cosa succederà dopo
nove
e sai che è possibile tipo di guardare
questo noterai che non ci sono date
questo ma questo è solo per darti un
idea di una sorta di ciò che il modello di rilascio
sembrava giusto, che è un periodo
dove stiamo facendo lo sviluppo e presto
l’accesso costruisce un periodo in cui c’è
una sorta di fatture gratuite pubblicamente disponibili
e poi una specie di lunga coda di supporto
questo esiste
sai di solito il supporto commerciale di
noi e da altri venditori e e così tu
so che è un periodo piuttosto lungo
e come puoi vedere c’è molto
roba che viene mantenuta al
stesso tempo ora da una parte è molto
bene significa che c’è una sorta di
stabilità e prevedibilità bene tranne
non c’è sempre prevedibilità e
uno dei motivi è che in passato
per Java Fe c’è sempre stato questo
modalità di legare un grande pilota di guida
funzionalità per un rilascio anche prima di te
ha iniziato l’ uscita e quindi tutti sappiamo
ora nel 2017, come gli sviluppatori di software che
non è davvero una grande idea
è una specie di ricetta per te
cose in ritardo o altre cose
accadendo e in effetti l’abbiamo visto
con con le principali uscite nel corso dell’anno
nel corso degli anni e così sai cosa noi
sperano di fare è arrivare a un punto in cui
invece di rilasciare funzionalità importanti
in un programma molto molto lungo, in realtà
avere uscite regolari che escono molto lontano
più spesso e poi lavoriamo sulle funzionalità
nei progetti in open JDK finché non abbiamo finito
e quando hanno finito entrano nel giusto
ma nessuno in realtà significa che non stiamo andando
per dirla in e poi sta andando ad avere
due anni su come sistemare correttamente è come
è già stato risolto sappiamo che il
la qualità è buona eccetera ecc e così tu
so che è una specie di modalità diversa di
lavorando ora per essere onesti, abbiamo effettivamente
aveva quella modalità di lavoro per l’aggiornamento
rilascia così in modo sostanziale quando hai visto
un leo grigio ha mostrato la stringa della versione
prima delle 8:28 voi 40 80 60 voi conoscete questi
sono versioni che erano essenzialmente minori
aggiornare le versioni ma aveva funzionalità
miglioramenti in loro giusto e cosa
stiamo parlando di fare ora è il
stessa cosa tranne che non solo avere minori
cambiamenti minori di rilascio, cioè
miglioramenti di implementazione ma anche
introduzione
nuove cose nella lingua nuove API e
cambiamenti più sostanziali nel vm e
quindi in pratica ciò che ci permetterà di farlo
penso che sia andare a un modello che è lontano
più stretto e poi alla fine penso a cosa
abbiamo visto in un sacco di programmazione
comunità che sono andate a questo modello
è che tu sai piuttosto che farlo
supporto per ogni ogni uno di questi
di solito c’è una sorta di a lungo termine
supporto tipo di modello proprio dove ogni
poche uscite c’è qualcosa che è
designato è un ramo di supporto a lungo termine
quindi in ogni caso voglio essere abbastanza chiaro
che sai che questo è qualcosa che
stiamo considerando in questo momento che c’è un
un mucchio di discussioni in OpenJDK tra
persone che stanno collaborando in merito
che siamo molto impegnati a
stabilità e qualità di Java e
tenendolo alto e tu no
qualcosa che tutto il nostro tutto
gli utenti apprezzano moltissimo, quindi lo sai
quello che vogliamo fare è assicurarci che se
stiamo per una consegna più rapida
modello, lo sappiamo fare in un certo modo
che sta per essere in grado di aiutare farci
mantenere i principi fondamentali forti e noi
penso davvero che questo cambiamento con nove
e con i moduli è una parte molto importante di
essere in grado di arrivarci proprio perché
fondamentalmente riducendo la sicurezza
zona di attacco da sai ridurre il
superficie compatibilità e rendendolo
possibile evolvere l’interno
implementazione perché sai che è lontano
meno probabile che il codice là fuori stia andando
per essere in funzione su di esso che ci permetterà di
arrivare a un punto in cui possiamo effettivamente
convalidare le modifiche che stiamo apportando
non spezzerai te e il tuo
applicazioni e librerie che sei
usando bene così sai che in pratica spero
che tu sai che questo ti sta dando
po ‘di comprensione di come pensiamo
su questo un po ‘del tipo di bilanciamento
che facciamo tutto il tempo con tutto il
decisioni che ti fanno provare
per continuare a ruotare Java e lo sai
portarti nuove funzionalità e portarlo
a voi in modo tempestivo, non ti fanno
devo aspettare di sapere altri due anni
per la prossima major release incluso
funzionalità principale ma anche più piccola
cose che sai vorremmo ottenere come dentro
le tue mani
e speriamo di avere una grande esperienza
con nove come Aralia ha detto che otto stanno andando
essere in giro per molto tempo quindi se tu
trova quando inizi le cose facili con
nove che è un po ‘impegnativo no
tieni presente che puoi continuare
usando otto ma guarda nove come sai
cosa sta arrivando
come posso approfittare di ciò che è lì
così è per parlare
Please follow and like us: