Javatpoint标志
Javatpoint标志

Java 8特性

Oracle在2014年3月18日发布了Java的新版本Java 8。这是一个革命性的Java软件开发平台。它包括对Java编程、JVM、工具和库的各种升级。

Java 8编程语言增强

Java 8为Java编程提供了以下特性:

  • Lambda表达式,
  • 方法引用,
  • 功能接口,
  • 流API,
  • 默认的方法,
  • Base64编码解码,
  • 接口中的静态方法,
  • 可选的课,
  • 收藏家类,
  • ForEach()方法,
  • 犀牛JavaScript引擎,
  • 并行数组排序,
  • 类型和重复注释,
  • IO增强,
  • 并发性增强,
  • JDBC增强等。

Lambda表达式

Lambda表达式帮助我们以函数式风格编写代码。它提供了一种使用表达式实现SAM接口(单一抽象方法)的简洁明了的方法。它在集合库中非常有用,可以帮助迭代、过滤和提取数据。

更多信息和示例:点击这里


方法引用

Java 8方法参考用于引用函数接口的方法。它是一种紧凑而简单的lambda表达式形式。每次使用lambda表达式引用方法时,都可以用方法引用替换lambda表达式。

更多信息和示例:点击这里


功能界面

只包含一个抽象方法的接口称为函数接口。它可以有任意数量的默认方法和静态方法。它还可以声明对象类的方法。

功能接口也称为单一抽象方法接口(SAM接口)。

更多信息和示例:点击这里


可选

Java在Java 8中引入了一个新类Optional。它是一个公共的final类,用于处理Java应用程序中的NullPointerException异常。我们必须进口java.util包来使用这个类。它提供了检查特定变量是否存在值的方法。

更多信息和示例:点击这里


forEach

Java提供了一种新的方法forEach()来迭代元素。它在Iterable和Stream接口中定义。

它是Iterable接口中定义的默认方法。扩展了Iterable接口的集合类可以使用forEach()方法迭代元素。

该方法接受一个参数,该参数是一个功能接口。你可以传递lambda表达式作为参数。

更多信息和示例:点击这里


日期/时间的API

Java从Java 8开始引入了一个新的日期和时间API。java。时间包包含Java 8日期和时间类。

更多信息和示例:点击这里


默认的方法

Java提供了在接口中创建默认方法的工具。在接口内部定义并标记为default关键字的方法称为默认方法。这些方法是非抽象方法,可以有方法体。

更多信息和示例:点击这里


犀牛JavaScript引擎

Nashorn是一个JavaScript引擎。它用于在JVM (Java虚拟机)上动态执行JavaScript代码。Java提供了一个命令行工具jj用来执行JavaScript代码。

你可以通过两种方式执行JavaScript代码:

  1. 使用jjs命令行工具,和
  2. 通过嵌入到Java源代码。

更多信息和示例:点击这里


StringJoiner

Java在Java中添加了一个新的final类StringJoiner。util包。它用于构造由分隔符分隔的字符序列。现在,您可以通过传递逗号(,)、连字符(-)等分隔符来创建字符串。

更多信息和示例:点击这里


收藏家

collections是扩展Object类的最终类。它提供了约简操作,例如将元素累积到集合中,根据各种标准汇总元素等。

更多信息和示例:点击这里


流API

Java 8 Java .util.stream包由类、接口和枚举组成,以允许对元素进行函数式操作。它执行惰性计算。因此,它只在需要时执行。

更多信息和示例:点击这里


流过滤

Java流提供了一个方法filter()来根据给定的谓词过滤流元素。假设,您只想获取列表中的偶数元素,您可以在filter()方法的帮助下轻松做到这一点。

该方法以predicate作为参数,并返回结果元素流。

更多信息和示例:点击这里


Java Base64编码和解码

Java提供了一个Base64类来处理加密和解密。您需要导入java.util。Base64类来使用它的方法。

这个类提供了三个不同的编码器和解码器来在每个级别上加密信息。

更多信息和示例:点击这里


Java并行数组排序

Java在Arrays类中提供了一个新的附加特性,用于对数组元素进行并行排序。parallelSort()方法已添加到java.util.Arrays类中,该类使用JSR 166 Fork/Join并行公共池来提供数组排序。它是一个重载的方法。

更多信息和示例:点击这里


Java 8安全增强

1) JSSE (Java Secure Socket Extension)提供程序在客户端默认启用TLS 1.1和TLS 1.2协议。

2)改进AccessController方法。已经添加了doPrivileged,它允许代码断言其特权的子集,而不阻止对堆栈进行完整遍历以检查其他权限。

3) SunJCE提供了AES (Advanced Encryption Standard)和PBE (password based Encryption)算法,如PBEWithSHA256AndAES_128、PBEWithSHA512AndAES_256等。

4) SunJSSE在JDK 7中默认开启了对客户端应用的SNI扩展,JDK 8支持对服务器端应用的SNI扩展。SNI扩展是一个扩展SSL/TLS协议的功能,以指示客户端在握手过程中试图连接到的服务器名称。

5)增强了SunJSSE,支持关联数据认证加密(AEAD)算法。Java密码扩展(SunJCE)提供程序得到了增强,以支持AES/GCM/NoPadding密码实现以及Galois/Counter Mode (GCM)算法参数。

6)一个新的命令标志-importpassword被添加到keytool实用程序中。它用于接受密码并将其作为秘密密钥安全地存储。类,如java.security.DomainLoadStoreParameter和java.security. parameter。添加PKCS12Attribute以支持DKS密钥库类型。

7)在JDK 8中,加密算法已经通过SHA-2消息摘要实现家族的SHA-224变体进行了增强。

8)增强对NSA Suite B加密的支持,包括:

  • NSA Suite B加密算法的OID注册
  • 支持2048位DSA密钥对的生成和其他2048位DSA密钥的签名算法,如SHA224withDSA和SHA256withDSA。
  • 将DH (Diffie-Hellman)算法的密钥大小限制从1024提升到2048。

9) securerrandom类提供生成加密强随机数,用于私有或公共密钥、密码和签名消息。getInstanceStrong()方法是在JDK 8中引入的,它返回最强securerrandom的一个实例。当需要创建RSA私钥和公钥时使用。securerrandom还包括以下其他变化:

  • 为UNIX平台引入了两个新的实现,它们提供阻塞和非阻塞行为。

10)包含了一个新的PKIXRevocationChecker类,它使用PKIX算法检查证书的撤销状态。它支持最佳工作检查、最终实体证书检查和特定于机制的选项。

11)公钥加密标准11 (PKCS)已经扩展到包括Windows的64位支持。

12) Kerberos 5中添加了两种新的rcache类型。类型none表示根本没有rcache,类型dfl表示dfl风格的基于文件的rcache。另外,现在支持接受方请求的子密钥。它们是使用sun.security.krb5.rcache和sun.security.krb5. receiver .subkey系统属性配置的。

13)在JDK 8中,在同一领域内支持Kerberos 5协议转换和受约束的委托。

14) Java 8默认禁用弱加密。默认情况下,不支持与des相关的Kerberos 5加密类型。这些加密类型可以通过在krb5.conf文件中添加allow_weak_crypto=true来启用。

15)您可以将服务器名称设置为null来表示未绑定的服务器。这意味着客户端可以使用任何服务器名请求服务。建立上下文之后,服务器可以通过密钥名称SASL.BOUND_SERVER_NAME检索作为协商属性的名称。

16) Mac OS x支持Java本机接口(JNI)桥接到本机Java通用安全服务(JGSS)。您可以将系统属性sun.security.jgss.native设置为true来启用它。

17)定义了一个新的系统属性jdk.tls.ephemeralDHKeySize来定制临时DH密钥大小。可接受的最小DH密钥大小是1024位,除了可导出的密码套件或遗留模式(jdk.tls.ephemeralDHKeySize=legacy)。

18) Java安全套接字扩展(JSSE)提供程序默认尊重客户端的密码套件首选项。但是,可以通过在服务器上调用SSLParameters.setUseCipherSuitesOrder(true)来更改该行为,以尊重服务器的密码套件首选项。


Java 8工具增强

1)介绍了一个jjs命令,它可以在交互shell模式下调用Nashorn引擎,也可以解释脚本文件。

2) java命令能够启动JavaFX应用程序,前提是JavaFX应用程序被正确打包。

3) java命令手册页(包括nroff和HTML)已经完全重做。高级选项现在根据它们所影响的领域分为运行时、编译器、垃圾收集和可服务性。现在描述了以前丢失的几个选项。还有一节用于介绍自上一版本以来已弃用或删除的选项。

4)新的jdeps命令行工具允许开发人员分析类文件,以确定包级或类级依赖关系。

5)您可以远程访问诊断命令,以前只能通过jcmd工具在本地访问。远程访问是使用Java管理扩展(Java Management Extensions, JMX)提供的,因此诊断命令公开给注册到平台MBean服务器的平台MBean。MBean是com.sun.management.DiagnosticCommandMBean接口。

6) jarsigner工具中包含了一个新的选项-tsapolicyid,它允许您从时间戳机构请求一个签名的时间戳,并将其附加到一个签名的JAR文件上。

7)包含了一个新的方法java.lang.reflect.Executable.getParameters,它允许你访问任何方法或构造函数的形参名称。但是,.class文件默认情况下不存储正式参数名。要在特定的.class文件中存储正式参数名,从而使Reflection API能够检索正式参数名,请使用javac编译器的-parameters选项编译源文件。

8) Java语言规范(JLS)章节15.21中用于二进制比较的类型规则现在将由javac正确执行。

9)在本版本中,apt工具及其包含在包com.sun.mirror中的相关API已被删除。

Javadoc增强

在Java SE 8中,以下新的api被添加到Javadoc工具中。

  • 新的DocTree API引入了一个扫描器,使您能够遍历由抽象语法树表示的源代码。这扩展了编译器树API,以提供对javadoc注释内容的结构化访问。
  • javax。工具包中包含的类和接口使您能够直接从Java应用程序调用Javadoc工具,而不需要执行新的进程。
  • 类或接口的生成文档的“方法摘要”部分已经重新构造。本节中的方法描述按类型分组。默认情况下,列出所有方法。您可以单击一个选项卡查看特定类型的方法(静态、实例、抽象、具体或已弃用的方法,如果它们存在于类或接口中)。
  • javadoc工具现在支持在javadoc生成的文件中检查javadoc注释的内容,以查找可能导致各种问题的问题,例如无效的HTML或可访问性问题。该特性在默认情况下是启用的,也可以通过新的-Xdoclint选项进行控制。

Pack200增强

Java类文件格式已经更新,因为JSR 292支持Java平台上的动态类型语言。

Pack200引擎已经更新,以确保Java SE 8类文件被有效地压缩。现在,它可以识别常量池条目和JSR 292引入的新字节码。因此,使用此版本的pack200工具创建的压缩文件将与旧版本的unpack200工具不兼容。


Java 8 I/O增强

在Java 8中,对Java .nio.charset. charset和扩展的charset实现进行了一些改进。它包括以下内容:

  • 一个新的选择器提供程序,可以提高服务器的性能或可伸缩性。/dev/poll SelectorProvider仍然是默认的。要使用Solaris事件端口机制,请将系统属性java.nio.channels.spi.Selector设置为sun.nio.ch.EventPortSelectorProvider。
  • 缩小/jre/lib/charsets.jar文件大小。
  • java.lang的性能得到了改进。字符串(byte[], ∗) constructor and the java.lang.String.getBytes() method.

Java 8网络增强

1)添加了一个新的类java.net.URLPermission。它表示访问由给定URL定义的资源的权限。

2)增加了一个包jdk.net,它包含了平台特定的套接字选项,以及在所有标准套接字类型上设置这些选项的机制。套接字选项在jdk.net.ExtendedSocketOptions中定义。

3)在HttpURLConnection类中,如果安装了安全管理器,如果调用了一个方法导致试图打开一个连接,调用者必须拥有一个“连接”SocketPermission到目标URL的主机/端口组合,或者一个允许此请求的URLPermission。

如果启用了自动重定向,并且此请求被重定向到另一个目的地,则调用方还必须具有连接到重定向主机/URL的权限。


Java 8并发性增强

concurrent包添加了两个新接口和四个新类。

java . util . concurrent的接口

接口 描述
公共静态接口CompletableFuture。AsynchronousCompletionTask 它是一个标记接口,用于识别异步方法产生的异步任务。它对于监视、调试和跟踪异步活动可能很有用。
公共接口CompletionStage .使用实例 它创建了一个可能是异步计算的阶段,在另一个CompletionStage完成时执行一个操作或计算一个值。

java . util . concurrent类

描述
公共类CompletableFuture扩展对象实现了Future, CompletionStage future可以显式完成,也可以用作CompletionStage,支持在完成时触发的依赖函数和操作。
公共静态类ConcurrentHashMap。KeySetView扩展对象实现Set, Serializable 它是将ConcurrentHashMap作为一组键的视图,其中可以通过映射到公共值来选择启用添加。
公共抽象类CountedCompleter扩展ForkJoinTask 一个ForkJoinTask,在触发时执行一个完成操作,并且没有剩余的挂起操作。
公共类CompletionException扩展了RuntimeException 当在完成结果或任务的过程中遇到错误或其他异常时,它抛出异常。

concurrent. concurrenthashmap类中的新方法

ConcurrentHashMap类在其最新版本中引入了几个新方法。它包括各种forEach方法(forEach, forEachKey, forEachValue, forEachEntry),搜索方法(search, searchKeys, searchValues, searchEntries)和大量的缩减方法(reduce, reduceToDouble, reducet龙等)。还添加了其他杂项方法(mappingCount和newKeySet)。

concurrent.atomic中的新类

最新版本通过一小组新类DoubleAccumulator, DoubleAdder, LongAccumulator和longadder引入了可扩展的,可更新的变量支持。它在内部使用减少争用技术,与原子变量相比,这些技术提供了巨大的吞吐量改进。

描述
公共类DoubleAccumulator扩展了Number实现Serializable 它用于一个或多个变量,这些变量一起维护使用所提供的函数更新的运行double值。
公共类DoubleAdder扩展了Number实现Serializable 它用于一个或多个变量一起保持初始为零的双和。
公共类LongAccumulator扩展了Number实现Serializable 它用于一个或多个变量,这些变量一起维护使用所提供的函数更新的长值。
公共类LongAdder扩展了Number实现Serializable 它用于一个或多个变量一起保持初始为零的长和。

java.util.concurrent.ForkJoinPool类新增方法

该类添加了两个新方法getCommonPoolParallelism()和commonPool(),它们分别返回公共池或公共池实例的目标并行度级别。

方法 描述
commonPool() 它返回公共池实例。
getCommonPoolParallelism() 它返回公共池的目标并行度级别。

新类java.util.concurrent.locks.StampedLock

添加了一个新的类StampedLock,它用于添加基于能力的锁,具有三种控制读写访问的模式(写入、读取和乐观读取)。该类还支持有条件地提供跨三种模式转换的方法。

描述
公共类StampedLock扩展Object实现Serializable 该类表示一个基于能力的锁,具有三种控制读/写访问的模式。

用于XML处理的Java API (JAXP) 1.6增强

在Java 8中,为XML Processing (JAXP) 1.6添加了Java API。它需要使用由java.util.ServiceLoader定义的服务提供程序加载工具来从服务配置文件加载服务。

这样做的基本原理是允许未来对Java SE平台进行模块化,其中服务提供者可以通过JAR文件以外的方式部署,而且可能没有服务配置文件。


Java虚拟机增强

对特殊调用指令的验证已经加强,因此只有当前类或其直接超类中的实例初始化方法可以被调用。


Java任务控制5.3包含在Java 8中

Java Mission Control (JMC)是一组高级工具,它支持高效和详细的数据分析,并提供高级的、不引人注目的Java监视和管理。JMC提供了一些常见的分析领域,如代码性能、内存和延迟。

日文和简体中文的Babel语言包现在默认包含在JDK 8中包含的Java任务控制中。


Java 8国际化增强

1) Unicode增强

JDK 8包括对Unicode 6.2.0的支持。它包含以下特性。

  • 733个新字符,包括土耳其里拉标志。
  • 7个新脚本:
    • Meroitic象形文字
    • Meroitic草书
    • 苍井空Sompeng
    • Chakma
    • Sharada
    • Takri
    • 苗族
  • 11个新块:包括7个上面列出的新脚本块和4个现有脚本块:
  • 阿拉伯语了
  • 巽他语补充
  • 会见tei Mayek扩展
  • 阿拉伯数学字母符号

采用Unicode CLDR数据和java.locale.providers系统属性

Unicode联盟发布了通用语言环境数据存储库(CLDR)项目,以“支持世界上的语言,提供最大、最广泛的语言环境数据标准存储库”。CLDR正在成为地区数据的事实上的标准。CLDR基于xml的语言环境数据已经被合并到JDK 8版本中,但是在默认情况下是禁用的。

locale数据有四个不同的来源:

  • CLDR表示Unicode CLDR项目提供的语言环境数据。
  • HOST表示当前用户对底层操作系统设置的自定义。它只适用于用户的默认区域设置,可定制的设置可能因操作系统而异,但主要支持日期、时间、数字和货币格式。
  • SPI表示在已安装的SPI提供程序中实现的地区敏感服务。
  • JRE表示与以前的JRE版本兼容的语言环境数据。

要选择所需的语言环境数据源,请使用java.locale.providers系统属性。按首选顺序列出数据源。例如:java.locale。默认行为相当于以下设置:java.locale.providers=JRE,SPI


Java 8新日历和区域api

JDK 8包含两个新类、几个新方法和一个现有静态方法的新返回值。

为服务提供者添加两个新的抽象类到java.util.spi包中。

描述
公共抽象类CalendarDataProvider扩展了LocaleServiceProvider 它是一个抽象类,用于提供依赖于区域设置的Calendar参数的服务提供者。
公共抽象类CalendarNameProvider扩展了LocaleServiceProvider 它是一个抽象类,用于提供Calendar字段值的本地化字符串表示(显示名称)的服务提供者。

静态方法现在能够识别Locale。UNICODE_LOCALE_EXTENSION用于编号系统。

方法 描述
getInstance(Locale) 它用于获取指定地区的DecimalFormatSymbols实例。此方法提供了对Java运行时本身支持的地区的DecimalFormatSymbols实例的访问,以及对已安装的DecimalFormatSymbolsProvider实现支持的地区的访问。如果locale为空,则抛出NullPointerException。

在日历API中添加了新方法:

方法 描述
公共布尔isSupportedLocale(区域设置) 如果给定的语言环境由该语言环境服务提供程序支持,则返回true。给定的区域设置可能包含在确定支持时应该考虑的扩展。它在java.util.spi.LocaleServiceProvider类中定义
getcalendar () 它返回此calendar的日历类型。日历类型由Unicode区域数据标记语言(LDML)规范定义。它在java.util.Calendar类中定义。

为Calendar添加了新的样式说明符。getDisplayName和Calendar。方法来确定日历名称的格式。


说明符 描述
public static final int SHORT_FORMAT 它是getDisplayName和getDisplayNames的样式说明符,指示用于格式的短名称。
public static final int LONG_FORMAT 它是getDisplayName和getDisplayNames的样式说明符,指示用于格式的长名称。
public static final int SHORT_STANDALONE 它是getDisplayName和getDisplayNames的样式说明符,指示单独使用的短名称,例如作为日历头的月份缩写。
public static final int LONG_STANDALONE 它是getDisplayName和getDisplayNames的样式说明符,指示单独使用的长名称,例如作为日历头的月份名称。

两个新的Locale方法用于处理Locale的(可选的)扩展。

方法 描述
public boolean hasExtensions() 如果Locale有任何扩展,则返回true。
stripExtensions() 它返回这个区域的副本,不带扩展名。如果该语言环境没有扩展名,则返回该语言环境本身。

两个新的Locale。filter方法返回一个匹配指定条件的Locale实例列表,定义在RFC 4647中:

方法 描述
>过滤器(列表<区域设置。LanguageRange> priorityList,集合 Locale) 它使用RFC 4647中定义的过滤机制返回匹配的Locale实例列表。当mode为Locale.FilteringMode.AUTOSELECT_FILTERING时,这相当于filter(List, Collection, FilteringMode)。
>过滤器(列表<区域设置。LanguageRange> priorityList,集合 Locale, Locale。FilteringMode模式) 它使用RFC 4647中定义的过滤机制返回匹配的Locale实例列表。

两个新的Locale。filterTags方法返回符合RFC 4647中定义的指定标准的语言标记列表。

方法 描述
public static List filterTags(List优先级列表,集合<字符串>标签) 它使用RFC 4647中定义的基本过滤机制返回匹配语言标记的列表。当mode为Locale.FilteringMode.AUTOSELECT_FILTERING时,它等价于filterTags(List, Collection, FilteringMode)。
public static List filterTags(List priorityList,集合<字符串>标签,Locale。FilteringMode模式) 它使用RFC 4647中定义的基本过滤机制返回匹配语言标记的列表。

两个新的查找方法使用RFC 4647中定义的查找机制返回最佳匹配的区域设置或语言标记。

方法 描述
公共静态区域查找(列表<区域设置。LanguageRange> priorityList,集合 Locale) 它使用RFC 4647中定义的查找机制为最匹配的语言标记返回一个Locale实例。
lookupTag(列表<区域设置。>优先级列表,集合<字符串>标签) 它使用RFC 4647中定义的查找机制返回最匹配的语言标记。

其他Java 8版本增强

JDK 8u5中的增强

1)降低了应用程序显示安全提示的频率。


JDK 8u11中的增强

1) Java控制面板的高级选项卡中有一个选项,可以在安装或更新JRE时抑制来自赞助商的报价。

2)入口点属性可以包含在JAR文件清单中,以标识一个或多个类作为RIA(富Internet应用程序)的有效入口点。


JDK 8u20中的增强

1) javafxpackager工具已重命名为javapackager。对于自包含的应用程序捆绑器,此工具已通过新的参数进行了增强。

以下增强是与java工具相关的:

  • 添加了与受限事务内存(Restricted Transactional Memory, RTM)相关的实验性JIT编译器选项。
  • 添加了几个与字符串重复数据删除相关的选项。
  • 添加了几个与高级加密标准(AES) intrinsic相关的选项。
  • 垃圾收集选项的组合已被弃用。

2) Java HotSpot虚拟机中已经添加了垃圾收集调优指南。它描述了Java HotSpot VM中包含的垃圾收集器,并帮助您确定哪一个垃圾收集器可以最好地优化应用程序的性能,特别是当它处理大量数据(多个gb)、有许多线程并且具有高事务率时。


JDK 8u31中的增强

1)在这个版本中,SSLv3协议从Java控制面板高级选项中移除。


JDK 8u40中的增强

Java工具

1)添加了-XX:+CheckEndorsedAndExtDirs,因为已弃用了认可标准的覆盖机制(JDK-8065675)和扩展机制(JDK-8065702)。该选项有助于识别这些机制的任何现有用途,JDK 7u80和JDK 8u40都支持该选项。

2) Java Flight Recorder (JFR)提供了多种方式来解锁商业功能,并在应用程序运行时启用JFR。

它包括java命令行选项,如jcmd诊断命令和java任务控制中的图形用户界面(GUI)控件。这种灵活性使您能够在启动时提供适当的选项,或者稍后与JFR交互。

3)选项-XX:StartFlightRecording=parameter=value有一个新参数dumponexit={true|false},它指定了当JVM受控终止时是否生成JFR数据的转储文件。

4)与限制性事务内存(RTM)相关的选项不再是实验性的。这些选项包括-XX:RTMAbortRatio=abort_ratio, -XX:RTMRetryCount=number_of_retries, -XX:+UseRTMDeopt和-XX:+UseRTMLocking。

5)在Java 8中,引入了应用程序类数据共享(AppCDS)。AppCDS扩展了CDS(类数据共享),使来自标准扩展目录和应用程序类路径的类能够放置在共享归档中。这是一个商业特性,不再被认为是实验性的。

6)新增选项-XX:+ resourcmanagement和-XX:ResourceManagementSampleInterval=value。

7)增加了关于大页面的额外信息。大页(Large page),也称为巨型页,是比标准内存页大小大得多的内存页。大页面优化处理器平移- lookaside缓冲区。Linux选项-XX:+UseHugeTLBFS、-XX:+UseSHM和-XX:+UseTransparentHugePages已文档化。

8)选项-XX:ObjectAlignmentInBytes=对齐已经被记录。

jj的工具

1)增加了选项——optimism -types=[true|false]。它通过反优化重新编译启用或禁用乐观类型假设。

2)选项——language=[es5]已添加到jjs工具中。它指定ECMAScript语言版本。

Javapackager工具

1)新的参数可用于OS X捆绑器。cfbundleversion参数标识要使用的内部版本号。

2) mac.dmg.simple参数表示是否跳过依赖于执行AppleScript代码的DMG定制步骤。

Jcmd工具

Jcmd工具用于与Java Flight Recorder (JFR)进行动态交互。您可以使用它来解锁商业功能,启用/启动/停止飞行记录,并从系统中获取各种状态消息。

Jstat工具

jstat工具已经更新了关于压缩类空间的信息,压缩类空间是元空间的一个特殊部分。

虚拟机

可扩展本机内存跟踪热点虚拟机特性可以帮助诊断虚拟机内存泄漏,并在虚拟机不存在内存泄漏时明确用户。本机内存跟踪器可以在大型系统上运行而无需自动关闭,并且不会造成超出小程序可接受范围的显著性能影响。


下一个话题 Java 8 Lambda表达式





Youtube 观看视频请加入我们的Youtube频道:现在加入

反馈


帮助他人,请分享

脸谱网 推特 pinterest

学习最新教程


准备


热门的技术


B.Tech / MCA






Baidu
map