Skip to main content

New Features in Java 11

 Java 11 introduced several new features and enhancements. Here are some notable features with examples:

  1. Local-Variable Syntax for Lambda Parameters: Java 11 allows var to be used in lambda parameters, which provides improved readability and conciseness.

Example:

java
// Before Java 11 
someList.forEach((String item) -> { System.out.println(item); });
// With Java 11 
someList.forEach((var item) -> { System.out.println(item); })
  1. HTTP Client (Standard API): Java 11 introduced a new HTTP client API as a replacement for the deprecated HttpURLConnection. It provides a more modern and flexible way to send HTTP requests and handle responses.

Example

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class HttpClientExample {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://api.example.com/users")) .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body()); } }
  1. Nest-Based Access Control: Java 11 introduced the concept of nest-based access control, allowing access to private members of an outer class from its inner classes and vice versa.


public class OuterClass { private int outerField = 10; public class InnerClass { private int innerField = 20; public int sum() { return outerField + innerField; } } public static void main(String[] args) { OuterClass outer = new OuterClass(); OuterClass.InnerClass inner = outer.new InnerClass(); System.out.println(inner.sum()); // Output: 30 } }

These are just a few examples of the new features introduced in Java 11. Other features include improved performance, Epsilon garbage collector, enhanced security, and more. It's worth noting that Java continues to evolve, and newer versions may introduce additional features and improvements.

Comments

Popular posts from this blog

Dealing with Passwords in Java Applications: 5 Best Practices You Should Follow

 In modern Java applications—whether core Java applications or enterprise-level web applications—working with passwords is inevitable. Passwords are sensitive pieces of information, just like Social Security Numbers (SSNs), and if you’re handling real human data in systems such as online banking or healthcare portals, it’s critical to implement best practices for dealing with passwords securely. Below, I’ll share five essential best practices that I’ve learned and recommend for managing passwords, particularly when you are handling authentication and authorization. While these tips are a good starting point, be sure to tailor them to your application’s requirements and security policies. 1) Use SSL/TLS to Transfer Username and Password When users send passwords over the network, it is crucial to use SSL/TLS to encrypt the communication. This ensures that sensitive information is protected from eavesdroppers. Tools like LDAP and Active Directory are commonly used for storing usern...

Ace Your Java Interview: Top 50 Java Interview Questions & Answers (2025)

  Introduction Java continues to be a top programming language in 2025 , widely used in enterprise applications, microservices, cloud computing, and AI-based systems . If you're preparing for a Java developer interview , you must be well-versed in Core Java, Java 8-21 features, Spring Boot, Microservices, and Cloud technologies . This guide covers the top 50 Java interview questions for freshers and experienced professionals , ensuring you are ready for your next interview! Table of Contents Core Java Interview Questions Java 8, Java 11, and Java 21 Features OOP and Design Patterns Multithreading and Concurrency JVM, Garbage Collection & Memory Management Collections Framework Spring Boot & Microservices Cloud Technologies (AWS, Azure, GCP) Real-World Java Interview Scenarios 1. Core Java Interview Questions Q1: What are the key features of Java? Answer: Platform Independence – Java runs on JVM , making it OS-independent. Object-Oriented – Java follows...

What does :: mean in Java?

The :: operator refers to a method reference.   A method reference is a simplified way of writing a lambda expression in order to call a method. Method references allow you to call a method by mentioning its name. The syntax for a method reference is as follows: COPY Object :: methodName There are  four  ways to use a method reference: A method reference to a static method. A method reference to an instance method of an object. A method reference to instance methods of an arbitrary object of a particular type. A method reference to a constructor. METHOD REFERENCE TO A STATIC METHOD Let's take a look at the code snippet below: COPY import java.util.function.BiFunction; class Maths { public static int printAddition( int x, int y){ return x + y; } } public class Main { public static void main( String [] args) { BiFunction< Integer , Integer , Integer > addition = Maths::printAddition; int result = addition.apply(...