iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java 9特性的三个新的API分别是什么
  • 101
分享到

Java 9特性的三个新的API分别是什么

2023-06-17 07:06:01 101人浏览 泡泡鱼
摘要

本篇文章给大家分享的是有关Java 9特性的三个新的api分别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。oracle已经公布,Java9***增强计划集(众所周知的J

本篇文章给大家分享的是有关Java 9特性的三个新的api分别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

oracle已经公布,Java9***增强计划集(众所周知的JEPs),已经确定会在2016年早些时候发布。

三个新的API已经公布:

Process API在更新后能够与操作系统中非JAVA相关的进程互动,目前使用的API存在诸多限制,这迫使开发人员经常求助于本地代码。这个API存在的主要风险是操作系统的异构性,尤其是windows。该API的设计需要适应在不同的操作系统上的小型设备的部署工作,它还应该考虑多个Java虚拟机运行在同一个操作系统进程的环境。这些考量将带来一个更为抽象的API,这会增加设计的工作量。

新的Http客户端,引入了对HTTP/2的支持。

现有API的问题及实现:

  • 基于URLConnection的API是考虑到多种协议而设计的,其中很多都已经被废弃了(ftp, Gopher等)

  • 早先的HTTP 1.1过于抽象

  • 难以使用(许多行为都没有文档化)

  • 只能以阻塞模式工作(每个请求/响应对应一个线程

  • 非常难以维护

https 2.0支持依赖于TLS ALPN (Application Layer Negotiation Extension),目前jdk中并不支持,Http 2.0规范本身还处于互联网草案的形式,但在2014年它有望成为一个正式草案。

新的轻量级JSON API:它提供了一个轻量级的API用来处理和生成jsON文档以及数据流,后者是基于已经标准化的JSON支持,它是JSR 353的一部分。

还有三个JVM和性能相关的特性公布:

改进竞争,旨在改进当线程竞争访问对象时的性能。改进竞争锁对现实世界中的应用程序大有裨益,尤其是针对工业基准,如Volano和DaCapo。

这项工程将在以下与竞争Java监视器相关的领域,探索性能改进:

  • 字段重排序(Field reordering)和缓存线对齐(cache line alignment)

  • 加速PlatfORMEvent::unpark()

  • 快速的Java监视器操作进入操作

  • 快速的Java监视器退出操作

  • 快速的Java监视器notify/notifyAll操作

  • 自适应的spin改进以及SPARC上的SpinPause

分割JIT编译器的代码缓存(在大型应用程序上获得更好的JIT性能)。将代码缓存分解为独立的段,每个段都包含特定形式的编译代码,目的是为了改善性能,并支持未来扩展。

编译代码的组织和维护会对性能造成巨大影响,如果代码缓存走错了方向,若干方面的性能退化实例将会获悉。在引入多层编译后,代码缓存的地位变得极其重要,因为编译代码的数量比起不使用多层编译,会有2-4倍的增长。多层编译也引入了一个新的编译代码类型:instrumented编译代码 (异型代码)。异形代码具备与非异形代码不同的属性,其中一个重要区别是,异形代码有一个预定义的限制性生命周期,与此相反,非异形代码永远都会保留在代码缓存中。

现存的代码缓存是针对单一代码优化的,即只有一种形式的编译代码。代码缓存被组织为一个独立的堆数据结构,位于一个连续的内存块头部。因此,具有预定义的限制性生命周期的异形代码将与非异形代码混合,并***保留在代码缓存中,这会带来不用的性能和设计问题。比如说,sweeper方法在扫描时将被迫扫描整个代码缓存,即使其中一些实体从未更新,或存在非方法的代码。

“智慧的”Java编译器的深入开发,称之为sjavac,它支持并行和共享编译,还包含一些其他特性。

由于存在各类关于稳定性和可移植性的问题,sjavac在默认情况下并没有在JDK构建脚本中使用,这项JEP的***目标是解决这些问题,这牵扯到必须确保工具能始终在所有的软硬件配置上产生可靠的结果。

总体目标是要改善sjavac的质量,使其成为一个通用的javac封装,有能力编译各种大型Java项目

后续项目将继续探索如何在JDK工具链中将sjavac分离出来,如果可以的话。sjavac可能会成为一个独立支持的工具,或是与javac集成的非独立工具,或是其他。

***,一个诱人的特性已经在JEP 201中得到了承诺:模块化源码。这其实就是曾经我们熟知的模块化解决方案“Jigsaw项目”(最初目标是Java 8的一部分)。

Jigsaw项目旨在为Java SE平台设计和实现一套标准化的模块系统,并应用于自身平台中,继而投入到JDK中。其最初的目标是使平台实现更容易扩展到小型设备上,改善安全性和可维护性,改善应用程序性能,并提供给开发人员在面对大型应用时一种更好的工具。

这项JEP是Jigsaw项目的***阶段的一部分,接下来JEP会将JRE和JDK的镜像模块化,之后再引入一个模块系统。

在早期对源代码进行重新组织的动机是:

  1. 让JDK开发人员有机会熟悉系统的模块化结构。

  2. 通过在构建中强制模块边界,继续推进结构,这甚至会发生在引入模块系统之前。

  3. 对Jigsaw项目进行深入开发,而不是总是“慢吞吞地”将现有的非模块化代码转化为模块化代码。

以上就是Java 9特性的三个新的API分别是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网精选频道。

--结束END--

本文标题: Java 9特性的三个新的API分别是什么

本文链接: https://www.lsjlt.com/news/287696.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java 9特性的三个新的API分别是什么
    本篇文章给大家分享的是有关Java 9特性的三个新的API分别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Oracle已经公布,Java9***增强计划集(众所周知的J...
    99+
    2023-06-17
  • 值得学习的三个CSS 新特性分别是什么
    今天就跟大家聊聊有关值得学习的三个CSS 新特性分别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. 特性查询不久前,我写了 我真心期望的一...
    99+
    2024-04-02
  • HTMl5中28个新特性分别是什么
    这篇文章主要介绍HTMl5中28个新特性分别是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 新的Doctype 尽管使用<!DOCTYPE html>,即使浏览...
    99+
    2024-04-02
  • CSS的三个特性是什么
    这篇文章给大家分享的是有关CSS的三个特性是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 层叠(cascade)、继承(Inheritance)、特异性(Specific...
    99+
    2024-04-02
  • python的13个特性分别是什么
    python的13个特性分别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。如果你是一个正在学习python的c、c++或者java程序员,或者你是刚开始学python...
    99+
    2023-06-02
  • FlexSDK4的八大新特性分别是什么
    这篇文章主要为大家展示了“FlexSDK4的八大新特性分别是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“FlexSDK4的八大新特性分别是什么”这篇文章吧。FlexSDK4新特性FlexS...
    99+
    2023-06-17
  • 深入讲解Java 9中的九个新特性
    本文主要跟大家分享了Java 9中的九个新特性,对大家具有一定的参考学习价值,下面来看看详细的介绍:一、 Java 平台级模块系统Java 9 的定义功能是一套全新的模块系统。当代码库越来越大,创建复杂,盘根错节的“意大利面条式代...
    99+
    2023-05-31
    java9 新特性 ava
  • Redis三个主要特点分别是什么
    这篇文章主要介绍了Redis三个主要特点分别是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。redis是单线程服务器。它的设计并不能从多核c...
    99+
    2024-04-02
  • java三大特性是什么
    java三大特性是:1、面向对象,java最核心的特性之一,将现实世界中的事物抽象成类,并且用对象来描述和处理问题;2、平台无关性,java源代码经过编译后生成的是字节码,而不是机器码;3、高性能,通过即时编译和垃圾回收技术的应用,在运行时...
    99+
    2023-08-04
  • SQL Server 2005的十大新特性分别是什么
    SQL Server 2005的十大新特性分别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。SQL Server 200...
    99+
    2024-04-02
  • php中面向对象的三大特性分别是什么
    这篇“php中面向对象的三大特性分别是什么”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“php中面向对象的三大特性分别是什么”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接...
    99+
    2023-06-06
  • C++语言的15个晦涩特性分别是什么
    本篇文章为大家展示了C++语言的15个晦涩特性分别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。这个列表收集了 C++ 语言的一些晦涩(Obscure)特性,是我经年累月研究这门语言...
    99+
    2023-06-17
  • CSS的三大特性是什么
    这篇文章主要介绍“CSS的三大特性是什么”,在日常操作中,相信很多人在CSS的三大特性是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS的三大特性是什么”的疑惑有所帮...
    99+
    2024-04-02
  • 优化Kubernetes成本的9个办法分别是什么
    这篇文章将为大家详细讲解有关优化Kubernetes成本的9个办法分别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Kubernetes统治着容器市场。根据CNCF的一项调查,到202...
    99+
    2023-06-15
  • 9个爱不释手的JSON工具分别是什么
    这期内容当中小编将会给大家带来有关9个爱不释手的JSON工具分别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。JSON吸引了工具构建者的注意,它们开发了用于重新格式化、验证和解析JSON的众多工具,...
    99+
    2023-06-19
  • 三个稳定的微信域名检测API接口分别是什么
    三个稳定的微信域名检测API接口分别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。微信域名检测接口是腾讯官方对外公布的域名查询api,请求api接口可实时...
    99+
    2023-06-04
  • Java11的新特性是什么
    这篇文章主要讲解了“Java11的新特性是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java11的新特性是什么”吧!1. String API字符串绝对是 Java 中最常用的一个类...
    99+
    2023-06-02
  • CSS3的新特性是什么
    本篇内容主要讲解“CSS3的新特性是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS3的新特性是什么”吧! 1.属性选择器(常用的简单归纳下) [a...
    99+
    2024-04-02
  • es6的新特性是什么
    这篇文章将为大家详细讲解有关es6的新特性是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。es6新特性:const与let变量、模板字面量、解构、增强的对象字面量、for...of循环、展开运算符(....
    99+
    2023-06-06
  • MySQL8.0的新特性是什么
    本篇文章给大家分享的是有关MySQL8.0的新特性是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。大量使用 class 重构代码明面上: ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作