Java 9
Java9于2017年9月21日正式发布,让我们来一探究竟!
ZhiYuanYe
.
展开
-
Java9 基于异步响应式流的发布-订阅框架
为响应式流(Reactive Streams)增加的发布-订阅(publisher-subscriber)框架、并发包CompletableFuture类的增强,等等。。JEP266中为Java语言的并发性又引入许多新的方式:响应式流,一个为它而生互操作性更强的发布-订阅框架;并且为了Java9其他API而增强的 java.util.concurrent.CompletableFuture 类,翻译 2017-10-08 17:08:12 · 11586 阅读 · 4 评论 -
Java9 集合工厂方法
使集合框架更便捷的工厂方法JEP269中提议,为集合框架增添一些工厂方法,来使创建不可变集合类与含有少量元素的Map变得更加便捷。下文就为什么它们应运而生来展开详细的阐述。集合框架增加工厂方法是必然的结果Java饱受其语法臃肿的批评,比如,创建一个小而确定的集合类时(比如一个List),需要使用它的构造方法,然后将它的引用存放在局部变量中,通过引用来多次调用add()方法之后, 最后才来封装这个集合翻译 2017-10-07 15:02:03 · 7219 阅读 · 2 评论 -
Java 9 模块化(Modular)介绍
前言今年,2017年,我们将迎来 Java 语言的 22 岁生日,22岁,对于一个人而言,正是开始大展鸿图的年纪,可是对于日新月异的科技圈中的一门开发语言而言,却是一个傲视群雄的老态龙钟的年纪。感谢 互联居 的技术分享文章,有兴趣的朋友可以去搜索微信公众号 互联居JVM 语言发展史JVM 家族也是在这22年中茁壮发展,并且都秉承着 Java 的革命口号:一处编译,随处运行。那么,JVM 的带头转载 2017-09-23 01:47:23 · 9016 阅读 · 2 评论 -
Java 9 : 从零开始实现模块化(一)
Well, Java 9 is available so let’s make modules! 模块化在Java9中是炒鸡炒鸡重要的!今后,模块将是应用程序的基础构建单位。无论是使用动态语言或静态语言编写,模块都是应用程序的一个重要组成部分,且模块遵循单一功能原则。你可以将任意方法称为模块,正如函数式编程是基于模块一样。好了,总之,你get到这个点之后就记住:以后模块很重要很重要很重要 The i翻译 2017-09-23 02:42:33 · 24730 阅读 · 5 评论 -
在IDEA中创建Java 9 modules(模块)的Hello World
IntelliJ IDEA 2017.1 支持Java9的模块化特性 (Project Jigsaw)。 在此版本,模块文件中还支持基于特定名称与关键字的自动补全功能 code completion, 并且你可以快速斧正你项目中的模块化代码。So,那就让我们来一探究竟什么是模块化工程。首先,我们创建一个普通的模块工程 IntelliJ IDEA module 其中包含了改变世界的伟大的 “Hello翻译 2017-09-23 11:55:00 · 13676 阅读 · 6 评论 -
Java9新特性之HTTP2和REPL
对Java 9的炒作将不再局限于模块化(modularity),Java 9正在搜罗大量额外的功能模块,这些功能模块正作为Java增强提案(JEP)提交,并在OpenJDK (Java SE的参考实现项目)中实现。在这篇文章中,我们将重点关注一些或将在Java 9整个生命周期中,对开发者的工作生活影响最大的JEP,包括新的HTTP/2支持和JShell REPL(读取-求值-打印-循环),后者带来了转载 2017-09-23 15:46:38 · 4490 阅读 · 1 评论 -
Java9 modules (Jigsaw)模块化迁移
要点通过模块化的方式开发应用程序,实现更好的设计,如关注点分离和封装性。通过Java平台模块化系统(JPMS),开发者可以定义他们的应用程序模块,决定其他模块如何调用他们的模块,以及他们的模块如何依赖其他模块。对于已经使用了其他模块系统(如Maven或Gradle)的应用程序来说,还是有可能再加入JPMS。JDK为开发者提供了一些工具,用于将现有的代码迁移到JPMS。应用程序代码仍然可以依转载 2017-09-23 15:59:33 · 11649 阅读 · 5 评论 -
http2概述及Java9对其的支持
HTTP/2概述HTTP/2意在减轻为维护HTTP/1.1复杂的底层架构而带来的痛苦,以提高HTTP/1.1的性能。尽管HTTP/2仍然对HTTP/1.1向下兼容,但它已不再是一个基于文本的协议。当客户端通过HTTP/1.1请求建立一个连接时,所有请求将会被升级。从这一点上看,HTTP/2是用“二进制数据帧”来说话的。HTTP/2多路复用HTTP/2多路复用使得一个单独连接可以处理多个双向流,因而客转载 2017-09-23 16:05:21 · 6968 阅读 · 4 评论 -
Java9 HTTP2.0 API入门与实践
简述如果您需要使用Java语言来请求HTTP资源,那么你可能会遇到多种解决方案,你最终可能会以一种合理的方式来达成这个目的 —– 引用第三方包。好消息,好消息,黄鹤带着小姨子回来了,皮革厂有救了:Java9除了有模块化特性之外,还附带了一个全新的HTTP客户端API。不仅支持HTTP2.0,还提供了一套有亲和力的API。SO,让我们来剥掉小姨子神秘的蕾丝面纱。HTTP2.0是啥子东东?HTTP2.0翻译 2017-09-23 23:09:15 · 10055 阅读 · 9 评论 -
Java9 进程API
1. 概述Java中的进程API在Java5之前还是非常原始的,开启一个新进程唯一的方式是调用Runtime.getRuntime().exec() ,直到Java5发布之后,一些更加简明的开启新进程方式被封装到了ProcessBuilder 中。而在Java9中,你也将能使用一种全新的方式来获取当前系统所有正在运行的进程的相关信息。话不多说,先睹为快!2. 当前Java进程的信息我们通过调用ja翻译 2017-09-24 20:38:01 · 5204 阅读 · 4 评论 -
Java9 进程API详细介绍
官方在JEP 102中引进新的进程API来增强java.lang.Process 类,并且引进java.lang.ProcessHandle 及其嵌套接口Info 来让开发者逃离时常因为要获取一个本地进程的PID而不得不使用本地代码的窘境。本文将详细介绍这些新特性。1、ProcessHandle 与 ProcessHandle.InfoJava 9 为抽象Process 类增加了许多新方法,通过这些翻译 2017-09-24 22:09:44 · 7241 阅读 · 8 评论