首页 > 编程语言 >Java8新特性

Java8新特性

时间:2022-11-25 23:57:09浏览次数:47  
标签:java Base64 特性 Encoder 日期 static Java Java8

Java 8 Nashorn JavaScript
Java 8 新特性 Java 8 新特性
Nashorn 一个 javascript 引擎。
Nashorn JavaScript Engine 在 Java 15 已经不可用了。
这已经在 Java 11 标记为:
@deprecated (forRemoval = true)
从 JDK 1.8 开始,Nashorn取代Rhino(JDK 1.6, JDK1.7) 成为 Java 的嵌入式 JavaScript 引擎。Nashorn 完全支持 ECMAScript 5.1 规范以及一些扩展。它使用基于 JSR 292 的新语言特性,其中包含在 JDK 7 中引入的 invokedynamic,将 JavaScript 编译成 Java 字节码。
与先前的 Rhino 实现相比,这带来了 2 到 10倍的性能提升。
jjs
jjs是个基于Nashorn引擎的命令行工具。它接受一些JavaScript源代码为参数,并且执行这些源代码。

Java 8 日期时间 API
Java 8 新特性 Java 8 新特性
Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对日期与时间的处理。
在旧版的 Java 中,日期时间 API 存在诸多问题,其中有:
非线程安全 − java.util.Date 是非线程安全的,所有的日期类都是可变的,这是Java日期类最大的问题之一。
设计很差 − Java的日期/时间类的定义并不一致,在java.util和java.sql的包中都有日期类,此外用于格式化和解析的类在java.text包中定义。java.util.Date同时包含日期和时间,而java.sql.Date仅包含日期,将其纳入java.sql包并不合理。另外这两个类都有相同的名字,这本身就是一个非常糟糕的设计。
时区处理麻烦 − 日期类并不提供国际化,没有时区支持,因此Java引入了java.util.Calendar和java.util.TimeZone类,但他们同样存在上述所有的问题。
Java 8 在 java.time 包下提供了很多新的 API。以下为两个比较重要的 API:
Local(本地) − 简化了日期时间的处理,没有时区的问题。
Zoned(时区) − 通过制定的时区处理日期时间。
新的java.time包涵盖了所有处理日期,时间,日期/时间,时区,时刻(instants),过程(during)与时钟(clock)的操作。

Java8 Base64
Java 8 新特性 Java 8 新特性
在Java 8中,Base64编码已经成为Java类库的标准。
Java 8 内置了 Base64 编码的编码器和解码器。
Base64工具类提供了一套静态方法获取下面三种BASE64编解码器:
基本:输出被映射到一组字符A-Za-z0-9+/,编码不添加任何行标,输出的解码仅支持A-Za-z0-9+/。
URL:输出映射到一组字符A-Za-z0-9+_,输出是URL和文件。
MIME:输出隐射到MIME友好格式。输出每行不超过76字符,并且使用'\r'并跟随'\n'作为分割。编码输出最后没有行分割。
内嵌类
序号 内嵌类 & 描述
1 static class Base64.Decoder
该类实现一个解码器用于,使用 Base64 编码来解码字节数据。
2 static class Base64.Encoder
该类实现一个编码器,使用 Base64 编码来编码字节数据。
方法
序号 方法名 & 描述
1 static Base64.Decoder getDecoder()
返回一个 Base64.Decoder ,解码使用基本型 base64 编码方案。
2 static Base64.Encoder getEncoder()
返回一个 Base64.Encoder ,编码使用基本型 base64 编码方案。
3 static Base64.Decoder getMimeDecoder()
返回一个 Base64.Decoder ,解码使用 MIME 型 base64 编码方案。
4
static Base64.Encoder getMimeEncoder()
返回一个 Base64.Encoder ,编码使用 MIME 型 base64 编码方案。
5 static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator)
返回一个 Base64.Encoder ,编码使用 MIME 型 base64 编码方案,可以通过参数指定每行的长度及行的分隔符。
6 static Base64.Decoder getUrlDecoder()
返回一个 Base64.Decoder ,解码使用 URL 和文件名安全型 base64 编码方案。
7 static Base64.Encoder getUrlEncoder()
返回一个 Base64.Encoder ,编码使用 URL 和文件名安全型 base64 编码方案。
注意:Base64 类的很多方法从 java.lang.Object 类继承。

标签:java,Base64,特性,Encoder,日期,static,Java,Java8
From: https://www.cnblogs.com/xiaoguo-25/p/16926701.html

相关文章

  • MybatisPlus的一些高级特性
    1、MybatisPlus多数据源配合导入相关依赖<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.2</vers......
  • php8世界上最好的语言新版本特性
    本文只会讲述新特性的一些关键点,更详细的介绍请认真阅读官方文档。01UnionTypes(联合类型)说明一点,从PHP7开始,支持下面这样的语法: functionsum(int$a,int$b):int......
  • Java8新特性
    Java8新特性Java8(又称为jdk1.8)是Java语言开发的一个主要版本。Oracle公司于2014年3月18日发布Java8,它支持函数式编程,新的JavaScript引擎,新的日期......
  • java8 升级 java11 的一些bug
    1.反射异常有些反射异常,不是自己代码的错而是一些框架调用的时候,所带来的,不好处理。用压制输出的形式,1行为压制,2行为调试模式,输出所有的报错信息。这里用java.base/ja......
  • Dubbo的高级特性
    1、dubbo序列化1.1、序列化、反序列化的介绍序列化:把对象转换为字节序列的过程称为对象的序列化。反序列化:把字节序列恢复为对象的过程称为对象的反序列化。 先来......
  • MySQL8.0新特性—CTE
    MySQL8支持公用表表达式,包括非递归和递归两种。公用表表达式允许使用命名的临时结果集,这是通过允许在SELECT语句和某些其他语句前面使用WITH子句来实现的。不能在同一查......
  • 反射和特性
    反射一个运行的程序查看本身的元数据或者其他程序集的元数据的行为叫做反射。元数据,就是描述数据的数据。Metadata存在于任何对数据和数据关系的描述中,NET是基于面......
  • postgresql 14新特性
    再说PostgreSQL14之前,先来带大家回复一下之前发布的各个版本和特性。PostgreSQL9.0:支持64位windows系统,异步流数据复制、HotStandby;PostgreSQL9.1:支持数据同步复制......
  • 记录一些JDK的新特性~持续更新
    1、record快速定义类@TestpublicvoidtestRecord(){/***JDK16新特性**@paramstart*@paramend......
  • Java帝国的诞生、Java的特性、Java的版本
    Java帝国的诞生C&C++1972年C诞生贴近硬件、运行极快、效率极高操作系统,编译器,数据库,网络系统等指针和内存管理1982年C++诞生面向对象兼容C图形领域、游戏等J......