Introducere în Java 8

După cum știm cu toții, Java este unul dintre cele mai puternice limbaje de programare. O nouă versiune de Java, Java SE 8 a fost lansată de Oracle pe 18 martie 2014. Această versiune inovatoare a Java este utilizată în principal pentru platformele de dezvoltare software. Există mai multe caracteristici în Java8, care sunt actualizările la versiunea existentă a bibliotecilor de programare, JVM și Instrumente. Cea mai importantă caracteristică se spune că este introducerea expresiilor lambda despre care vom discuta în secțiunea următoare împreună cu alte caracteristici.

Caracteristici noi ale Java 8

Pentru programarea Java, Java SE 8 oferă o multitudine de caracteristici. Unii dintre ei sunt

  • Expresii Lambda
  • Stream API
  • ForEach () Metoda
  • Metoda implicită
  • Data datei API
  • Nashorn JavaScript Motor
  • Referințe de metodă
  • StringJoiner

Acum, să analizăm în detaliu fiecare dintre ele.

1. Expresia Lambda

Expresia Lambda este o funcție anonimă (o funcție fără nume) care ajută la scrierea codului într-un anumit stil funcțional. Metoda abstractă unică (SAM) poate fi implementată într-un mod clar și concis folosind o expresie. Deoarece datele pot fi iterate, filtrate și extrase, este foarte util, în special în biblioteca de colecții. Expresia Lambda ajută, de asemenea, la reducerea complexității codului. Mai jos este sintaxa unei expresii lambda:

Sintaxă:

(Parameters) -> Expression

Cod:

( a, b ) -> a + b // Expression takes 2 parameters and return the sum.

2. API-ul fluxului

Stream API oferă o tehnică pentru prelucrarea datelor în diferite moduri, cum ar fi filtrarea, extragerea, transformarea, etc., cu ajutorul pachetului java.util.stream. Nu este necesar să confundați java.util.streams cu Java InputStreams sau OutputStreams, deoarece nu există nicio relație între ele. Unul dintre avantajele principale ale API Stream este că nu își modifică sursa. adică Dacă un set de date este filtrat, un nou set de date este creat cu date filtrate, mai degrabă decât cu modificarea sursei originale. API-ul Stream evaluează codul numai atunci când este necesar și nu itera codul de mai multe ori. Dacă trebuie făcută reiterarea, trebuie generat un flux nou. Mai multe metode predefinite sunt prezente pentru a susține acest lucru. Pentru a itera fluxul, se poate utiliza următorul cod.

Cod:

Stream.iterate(1, elem->elem+1)

3. Metoda ForEach ()

Pentru a itera peste Colecția Cadru, Java SE8 oferă o nouă metodă numită forEach care este definită în interfața Iterable. Bucla ForEach () poate fi utilizată într-o clasă de colectare care extinde interfața Iterabilă. Deoarece această metodă introduce un singur parametru, o expresie lambda poate fi transmisă și ca parametru.

Cod:

age.forEach( age -> ( System.out.println(age); )); //each age is taken and printed

4. Metoda implicită

În mod normal, metodele non-abstracte nu pot fi adăugate la interfețe. Dar, în cazul Java 8, permite adăugarea acestor metode în interfețe. Aceste metode sunt scrise cu un cuvânt cheie implicit și cunoscute ca metode implicite. Deoarece sunt metode non-abstracte, corpul metodei poate fi, de asemenea, inclus. Interesant este că această caracteristică asigură, de asemenea, compatibilitatea binară cu versiunile mai vechi de cod.

Cod:

public interface Moveable (
default void Sound()(
System.out.println("Hi Anna, How is my sound?");
))

5. API data datei

În Java 8, a fost introdusă o nouă API-ul Time și Data API în care datele de gestionare sunt într-o metodă diferită în comparație cu alte versiuni de Java. Aceste clase sunt, de asemenea, numite JSR-310, ThreeTen.

Următoarele sunt orele și data care sunt disponibile în Java. pachet de timp:

  • Clasa Jtime.LocalDate
  • Clasa LocalTime
  • Clasa LocalDateTime
  • Clasa lună-zi
  • Clasa OffsetTime
  • Clasa OffsetDateTime
  • Clasa de ceas
  • Clasa ZonedDateTime
  • Clasa ZoneId
  • Clasa ZoneOffset
  • Clasa de an
  • An Clasa a doua
  • Clasa periodică
  • Clasa de durată
  • Clasa instantanee
  • DayOfWeek enum
  • Luna enum

Cod:

Clock cl = Clock.systemDefaultZone();
System.out.println(cl.getZone());

6. Motor Nashorn Javascript

Nashorn este un motor JavaScript care ajută la executarea dinamică a codului JavaScript în Java Virtual Machine (JVM).

Poate fi făcută folosind două metode menționate mai jos.

  1. Cu ajutorul instrumentului pentru linia de comandă jjs.
  2. Prin introducerea acestuia în codul sursă Java.

Pentru a executa folosind instrumentul pentru linia de comandă jjs, se pot efectua următorii pași.

  • Creați un fișier .js js.
  • Scrieți și salvați următorul cod în fișier.

Cod:

var welcome = function()(
print("welcome to Nashorn Javascript Engine");
);
welcome ();

  • Terminalul deschis al liniei de comandă
  • Scrieți comanda jjs welcome.js și faceți clic pe Enter.
  • Odată executată comanda, va fi afișată ieșirea de mai jos.

Rezultat :

7. Referințe de metodă

Metode Referințe este o altă caracteristică care este introdusă în Java 8 care poate fi utilizată în metodele de interfață funcțională. Într-un alt mod, se poate spune că sunt un subset al altei caracteristici java, expresiile lambda. Se datorează faptului că se poate utiliza o referință a metodei dacă se poate folosi o expresie lambda.

Metodele pot fi:

  • Referire la constructor
  • Referire la metoda statică
  • Referire la o metodă de instanță

Referirea la metoda statică poate fi așa cum se arată mai jos

Cod:

Thread t=new Thread(ExampleClass::ThreadStatusMethod);
t.start();

8. StringJoiner

O nouă clasă finală StringJoiner a fost adăugată la Java 8 în Java. pachet util O secvență de caractere poate fi construită separat de delimitatori precum virgula (, ), cratima (-) etc.

Cod:

StringJoiner Names = new StringJoiner("-"); // Here, delimiter is -
// Adding names to StringJoiner
joinNames.add("Anna");
joinNames.add("Adam");

ieşire:

Îmbunătățiri de securitate

În plus față de aceste caracteristici, mai multe alte îmbunătățiri de securitate sunt efectuate și la Java SE8. Sunt:

  • Standardele publice de criptografie cu cheie publică (PKCS) au fost extinse pentru a cuprinde suporturi pe 64 de biți pentru sistemul de operare, Windows.
  • Pentru platformele UNIX, au fost prezentate două noi implementări. Oferă un comportament de blocare și de blocare.
  • În furnizorul SunJCE, sunt adăugați și algoritmi AES și PBE, cum ar fi PBEWithSHA256AndAES_128 și PBEWithSHA512AndAES_256.
  • Java SE 8 acceptă extensia SNI (Server Name Indication) care extinde protocoalele TLS / SSL pentru a se conecta în timpul strângerii de mână pentru a sprijini aplicațiile serverului.

Concluzie

Java SE8 este noua versiune de Java dezvoltată de Oracle, care oferă mai multe caracteristici. Expresia Lambda este considerată cea mai semnificativă caracteristică dintre ele. În acest document, caracteristicile Java SE 8 și îmbunătățirile de securitate sunt explicate în detaliu.

Articole recomandate

Acesta este un ghid pentru Ce este nou în java 8 ?. Aici discutăm despre cele opt caracteristici ale noului Java 8. Puteți parcurge și alte articole conexe pentru a afla mai multe-

  1. CardLayout în Java
  2. Numărul invers în Java
  3. JComboBox în Java
  4. StringBuffer în Java
  5. Schiri în programare Java
  6. JavaScript Metoda statică | Exemple