[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/Snailclimb/JavaGuide/main/docs/java/new-features/java11.md [Back]  [Original]

---
title: Java 11 
description:  JDK 11  HTTP 
category: Java
tag:
  - Java
head:
  - - meta
    - name: keywords
      content: Java 11,JDK11,LTS,HTTP , API,
---

Java 11  2018  9  25 Java 11  Java 8 Long-Term-Support Oracle Java 11  Extended Support  2032  1 

 Oracle  Oracle JDK 

![Oracle  Oracle JDK ](https://oss.javaguide.cn/github/javaguide/java/new-features/4c1611fad59449edbbd6e233690e9fa7.png)

 JDK 8  JDK 25 

![ JDK 8  JDK 25 ](https://oss.javaguide.cn/github/javaguide/java/new-features/jdk8~jdk24.png)



- [JEP 321: HTTP Client (Standard)](https://openjdk.org/jeps/321)
- [JEP 323: Local-Variable Syntax for Lambda Parameters](https://openjdk.org/jeps/323)
- [JEP 330: Launch Single-File Source-Code Programs](https://openjdk.org/jeps/330)
- [JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)](https://openjdk.org/jeps/333)

## JEP 321: HTTP ClientHTTP 

Java 11  Java 9  Java 10  HTTP Client API HTTP Client 

Java 11 HTTP Client  `jdk.incubator.http`  `java.net.http` API  `CompletableFuture` 

```java
var request = HttpRequest.newBuilder()
    .uri(URI.create("https://javastack.cn"))
    .GET()
    .build();
var client = HttpClient.newHttpClient();

// 
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());

// 
client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
    .thenApply(HttpResponse::body)
    .thenAccept(System.out::println);
```

## JEP 333: ZGC

**ZGC  Z Garbage Collector**

ZGC 

- GC  10ms
-  MB  TB 
-  15% G1 
-  GC  colored  Load barriers 
-  Linux/x64 

ZGC  **** Linux/x64 ZGC  Java 15  Java 21  ZGC

 CMS  ParNew  G1 ZGC - ZGC 

 ZGC  Stop The World 

[ ZGC ](https://tech.meituan.com/2020/08/06/new-zgc-practice-in-meituan.html)

## JEP 323: Local-Variable Syntax for Lambda ParametersLambda 

 Java 10  var 

Java 10  var 

- 
- 
- 
-  Lambda 

Java11  Lambda  var 

```java
// 
Consumer consumer = (var i) -> System.out.println(i);
Consumer consumer = (String i) -> System.out.println(i);
```

## JEP 330: Launch Single-File Source-Code Programs

 Java  Java  Java  `.class`  Java 

 Java  jshell  Java 

## API 

 API  JEPJava Enhancement Proposal

 JDK **JEP**  `var` JVM  ZGC `String.isBlank()`  JDK  **JBS (JDK Bug System)** Ticket

### String 

Java 11 

```java
//
" ".isBlank();//true
//
" Java ".strip();// "Java"
//
" Java ".stripLeading();   // "Java "
//
" Java ".stripTrailing();  // "Java"
//
"Java".repeat(3);             // "JavaJavaJava"
//
"A\nB\nC".lines().count();    // 3
"A\nB\nC".lines().collect(Collectors.toList());
```

### Optional 

 `isEmpty()`  `Optional` 

```java
var op = Optional.empty();
System.out.println(op.isEmpty());// Optional 
```

## 

- ** Epsilon** GC 
- ** Heap Profiling**Java 11  Java  Java  JVMTI 
- **TLS1.3 **Java 11 TLS1.3 RFC 8446 TLS TLS 1.2 TLS  OCSP RFC 6066RFC 6961RFC 7627
- **(Java Flight Recorder)** JDK  Java 11 
- ......

## 

- JDK 11 Release Notes
- Java 11  Features and Comparison



Web Proxy Viewer  |  New URL  |  Original Page