Вступ до Java 8

Як ми всі знаємо, Java - одна з найпотужніших мов програмування. Нова версія версії Java, Java SE 8 була випущена Oracle 18 березня 2014 р. Цей інноваційний випуск Java в основному використовується для платформ розробки програмного забезпечення. У Java8 є кілька функцій, які є оновленнями існуючої версії бібліотек програмування, JVM та інструментів. Найважливішою особливістю вважається введення лямбда-виразів, про які ми поговоримо в наступному розділі разом з іншими ознаками.

Нові можливості Java 8

Для програмування Java Java SE 8 пропонує безліч функцій. Деякі з них є

  • Лямбда-вирази
  • API потоку
  • Метод ForEach ()
  • Метод за замовчуванням
  • API Час Час
  • Nashorn JavaScript Engine
  • Посилання на метод
  • StringJoiner

Тепер розглянемо кожну з них детально.

1. Вираз лямбда

Лямбда-вираз - це анонімна функція (функція без імені), яка допомагає писати код у певному функціональному стилі. Єдиний абстрактний метод (SAM) може бути реалізований чітко і стисло, використовуючи вираз. Оскільки дані можна повторювати, фільтрувати та витягувати, це дуже корисно, особливо в бібліотеці колекцій. Вираз лямбда також допомагає зменшити складність коду. Нижче представлений синтаксис лямбдаського виразу:

Синтаксис:

(Parameters) -> Expression

Код:

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

2. Поточний API

Stream API пропонує техніку обробки даних різними способами, такими як фільтрування, вилучення, перетворення тощо за допомогою пакету java.util.stream. Не потрібно плутати java.util.streams з Java InputStreams або OutputStreams, оскільки між ними немає ніякого відношення. Однією з головних переваг Stream API є те, що він не змінює джерело. тобто, якщо набір даних відфільтрований, створюється новий набір даних із відфільтрованими даними, а не зміна вихідного джерела. API Stream оцінює код лише тоді, коли він потрібен, і він повторює код не один раз. Якщо повторне повторне повторення потрібно створити, потрібно створити новий потік. Для підтвердження цього існує кілька попередньо визначених методів. Для повторення потоку можна використовувати наступний код.

Код:

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

3. Метод ForEach ()

Для того, щоб переглядати рамки колекції, Java SE8 пропонує новий метод під назвою forEach, який визначений в інтерфейсі Iterable. Цикл ForEach () може використовуватися в класі колекції, що розширює інтерфейс Iterable. Оскільки цей метод вводить один параметр, лямбда-вираз також може передаватися як параметр.

Код:

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

4. Метод за замовчуванням

Зазвичай до інтерфейсів не можна додавати неабразивні методи. Але, у випадку з Java 8, це дозволяє додавати ці методи в інтерфейси. Ці методи записуються з ключовим словом за замовчуванням і відомі як методи за замовчуванням. Оскільки вони не є абстрактними методами, також може бути включено тіло методу. Цікаво, що ця функція також забезпечує двійкову сумісність зі старими версіями коду.

Код:

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

5. API Час Час

У Java 8 введено новий API часу та API, коли дати обробки відрізняються від інших версій Java. Ці класи також називаються JSR-310, ThreeTen.

Нижче наведено класи Час і Дата, які доступні на Java. часовий пакет:

  • Клас Jtime.LocalDate
  • LocalTime клас
  • Клас LocalDateTime
  • MonthDay клас
  • OffsetTime клас
  • Клас OffsetDateTime
  • Годинник класу
  • ZonedDateTime клас
  • ZoneId клас
  • Клас ZoneOffset
  • Річний клас
  • РікМісячний клас
  • Періодний клас
  • Клас тривалості
  • Миттєвий клас
  • DayOfWeek перелік
  • Місячні перерахунки

Код:

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

6. Nashorn Javascript Engine

Nashorn - це двигун JavaScript, який допомагає динамічно виконувати код JavaScript у віртуальній машині Java (JVM).

Зробити це можна за допомогою двох згаданих нижче методів.

  1. За допомогою інструменту командного рядка jjs.
  2. Встановивши його у вихідний код Java.

Для виконання за допомогою інструменту командного рядка jjs можна виконати наступні дії.

  • Створіть .js файл js.
  • Напишіть та збережіть у файл наступний код.

Код:

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

  • Відкритий термінал командного рядка
  • Напишіть команду jjs welcome.js і натисніть клавішу Enter.
  • Після того, як команда буде виконана, буде показано нижній вихід.

Вихід :

7. Посилання на метод

Посилання на методи - це ще одна особливість, яка вводиться в Java 8, яка може використовуватися у функціональних методах інтерфейсу. По-іншому можна сказати, що вони є підмножиною ще однієї особливості java, лямбда-виразів. Це тому, що посилання на метод також може використовуватися, якщо можна використовувати лямбда-вираз.

Методами можуть бути:

  • Посилання на конструктор
  • Посилання на статичний метод
  • Посилання на метод екземпляра

Посилання на статичний метод може бути, як показано нижче

Код:

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

8. StringJoiner

До Java 8 в Java додано новий заключний клас StringJoiner. пакунок util. Послідовність символів може бути побудована розділеними роздільниками, як кома (, ), дефіс (-) тощо.

Код:

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

Вихід:

Покращення безпеки

На додаток до цих функцій, для Java SE8 також зроблено кілька інших поліпшень безпеки. Вони є:

  • Стандарти криптографії відкритого ключа 11 (PKCS) були розширені і містять 64-розрядні підтримки для операційної системи Windows.
  • Для платформ UNIX представлено дві нові реалізації. Він пропонує блокуючу та неблокуючу поведінку.
  • У постачальника SunJCE також додаються такі алгоритми AES та PBE, як PBEWithSHA256AndAES_128 та PBEWithSHA512AndAES_256.
  • Java SE 8 підтримує розширення індикації імені сервера (SNI), яке розширює протоколи TLS / SSL для підключення під час рукостискання для підтримки серверних програм.

Висновок

Java SE8 - це нова версія Java, розроблена Oracle, яка пропонує кілька функцій. Вираз лямбда вважається найбільш значущою ознакою серед них. У цьому документі докладно пояснюються особливості Java SE 8 та покращення безпеки.

Рекомендовані статті

Це посібник щодо Що нового в java 8 ?. Тут ми обговорюємо різні вісім особливостей нового java 8. Ви також можете ознайомитись з іншими пов'язаними з нами статтями, щоб дізнатися більше -

  1. Картонна карта у Java
  2. Зворотне число на Java
  3. JComboBox на Java
  4. StringBuffer на Java
  5. Масиви в програмуванні Java
  6. Статичний метод JavaScript | Приклади