关注微信公众号可以查看面试经验: 为了offer
2021年11月11日jdk18体验版本已经可以下载,下载地址:jdk.java.net/18/
此次体验版的更新如下:
- 默认为 UTF-8
jdk18之前的字符集取决于你的环境,jdk18指定 UTF-8 作为标准 Java API 的默认字符集。通过此更改,依赖于默认字符集的 API 将在所有实现、操作系统、区域设置和配置中保持一致。
- 简单的网络服务器
提供一个命令行工具来启动一个只提供静态文件的最小网络服务器。没有 CGI 或类似 servlet 的功能可用。该工具对于原型设计、临时编码和测试目的非常有用。
- 描述
Simple Web Server 是一个命令行工具,用于为单个目录层次结构提供服务。它基于com.sun.net.httpserver自 2006 年以来包含在 JDK中的包中的 Web 服务器实现。该包得到官方支持,我们使用 API 对其进行了扩展,以简化服务器创建并增强请求处理。
- 命令行工具
以下命令通过运行jdk.httpserver模块的主类来启动 Simple Web Server :
$ java -m jdk.httpserver
如果启动成功,那么服务器会向 System.out 打印一条消息,列出本地地址和所服务目录的绝对路径。例如:
$ java -m jdk.httpserver
Binding to loopback by default. For all interfaces use "-b 0.0.0.0" or "-b ::".
Serving /cwd and subdirectories on 127.0.0.1 port 8000
URL: <http://127.0.0.1:8000/>
默认情况下,服务器在前台运行并绑定到环回地址和端口 8000。这可以通过-b和-p选项进行更改。例如,要在端口 9000 上运行,请使用:
$ java -m jdk.httpserver -p 9000
例如,将 Simple Web Server 绑定到所有接口:
$ java -m jdk.httpserver -b 0.0.0.0
Serving /cwd and subdirectories on 0.0.0.0 (all interfaces) port 8000
URL: <http://123.456.7.891:8000/>
默认情况下,文件从当前目录提供。可以使用该-d选项指定不同的目录。
仅提供幂等 HEAD 和 GET 请求。任何其他请求都会收到501 - Not Implemented或405 - Not Allowed响应。GET 请求被映射到所服务的目录,如下所示:
如果请求的资源是文件,则提供其内容。
如果请求的资源是包含索引文件的目录,则提供索引文件的内容。
否则,列出目录的所有文件和子目录的名称。未列出或提供符号链接和隐藏文件。
服务器仅支持 HTTP。不支持 HTTPS。
- Java API 文档中的代码片段
引入了一个新的内联标记 ,{@snippet …}来声明要出现在生成的文档中的代码片段。它可用于声明内联片段(其中代码片段包含在标签本身中)和 外部片段(其中代码片段从单独的源文件中读取
- 内联
1 | markdown复制代码/** |
2. 外联
1 | perl复制代码/** |
ShowOptional.java
包含以下内容的文件在哪里:
1 | csharp复制代码public class ShowOptional { |
**
**
- 使用方法句柄重新实现核心反射
这个就是重新实现了底层的反射,API还是没有变
- Vector API(第三孵化器)
引入 API 来表达向量计算,这些计算在运行时可靠地编译为支持的 CPU 架构上的最佳向量指令,从而实现优于等效标量计算的性能
- 互联网地址解析 SPI
定义用于主机名和地址解析的服务提供者接口 (SPI),以便java.net.InetAddress可以使用平台内置解析器以外的解析器
描述
该InetAddressAPI定义了查找操作多种方法:
InetAddress::getAllByName执行正向查找,将主机名映射到一组 IP 地址。
InetAddress::getByName 还执行前向查找,将主机名映射到其地址集中的第一个地址。
InetAddress::getCanonicalHostName执行反向查找,将 IP 地址映射到完全限定的域名。例如:
var addressBytes = new byte[] { (byte) 192, 0, 43, 7};
var resolvedHostName = InetAddress.getByAddress(addressBytes)
.getCanonicalHostName();
InetAddress::getHostName 如果需要,还会执行反向查找。
默认情况下,InetAddress使用操作系统的本机解析器来执行查找。可以缓存该查找的结果,无论是正的还是负的,以避免对同一主机的进一步查找。
本文转载自: 掘金