Java11教程

     

Java 13权威指南 - CodeFX

2918 1 8K

Java 13在一小时前发布,这里有你需要了解的一切:如果您想自己使用代码,请查看GitHub上的Java X Demo。以下是Java 13最常见的IDE和构建工具的最低版本要求: IntelliJ.

HttpClient Executors工作原理 - Cay Horstmann

2836 4K

 Java 11添加了HttpClient,为我们提供了一种更好的HTTP请求发送方式。它支持异步和同步模式。支持HTTP2开箱即用。有点时髦,Cay Horstmann教授探讨了如何在表面下的工作原.

Java中的函数编程技术 - Deepu K Sasidharan

1297 3 20K

关于函数式编程(FP)有很多炒作,很多很酷的孩子都在做这件事,但它并不是一颗银弹。与其他编程范式/风格一样,函数式编程也有其优点和缺点,人们可能更喜欢一种范式而不是另一种范式。如果您是Java开发人员.

Java以后将可以不用GC实现内存回收

2218 2
人们还在为G1,Shenandoah或ZGC等复杂的GC工作原理而大伤脑筋?其实在无服务器中Java是不需要GC的,此功能将在Java 11的JEP318-Epsilon :Epsilon:No-Op.

也许以后Java世界分裂为两种:Java8和Java11以后

6166 2

许多开发人员仍然坚持使用已有五年历史的Java 8。当Java工具公司JetBrains的开发者倡导者Trisha Gee在本周伦敦QCon会议上发表讲话之前对Twitter进行了调查时,78%的受访.

自JDK 8 以来所有Java和JVM新功能的分类列表

1730 18K

一个方便的参考,涵盖从从Java 8到11及更高版本各种新语言功能到新版本命名方案的所有内容。自从版本8发布到版本11以来,Java由120个 JDK增强建议(JEP)构成,每个建议都为平台带来了一些.

在Java 11中创建一个简单的模块化应用教程

4693 12K

模块化编程使人们能够将代码组织成独立的,有凝聚力的模块,这些模块可以组合在一起以实现所需的功能。本文摘自Nick Samoylov和Mohamed Sanaulla撰写的一本名为Java 11 Coo.

Java版本更新重大提醒 - Azul

3428 2K

2019年1月对于Java开发人员和用户都特别重要。原因是Oracle JDK 8发布了更新202,这是Oracle的JDK 8的最终公开更新(针对商业用户)。用户现在需要仔细考虑将来如何更新升级Ja.

用Java 11实现清洁架构Clean Architecture

3349 2 17K
在软件工程方面,软件架构是过去几年中最重要的主题之一。罗伯特·C·马丁(又名鲍勃大叔)在他的书中深刻地提出了他对清洁架构的看法,我强烈推荐!但是当涉及到具体实施时,事情变得困难并且出现了许多问题。我该.

Java 11可以直接运行源代码

2940 3

从JDK 10开始,java可以在命令行启动的三种方式:运行带有public static void main(String args)方法的类;运行JAR文件的main类,或启动模块的main类。从.

基于Java11最小化Spring Boot 2 的Docker镜像文件配置

2687 2K

使用Jigsaw模块, Dockerfile配置如下:FROM alpine:3.8 AS builderWORKDIR /optARG JDK_TAR=openjdk-11+28_linux-x64.

为Docker设置Java内存防止OOM Killer

6152 4 2K

在Logistimo,我们的所有应用程序都是Docker化的,并在Kubernetes内以docker容器运行。我们注意到在使用Java的容器上发生了大量重启,并且非常随机。Docker检查发现该po.

创建基于Java 11的SpringBoot Docker镜像到48M!

6003 5K

本文介绍使用AdoptOpenJDK的Alpine JDK 11版本,能够将一个SpringBoot应用大小最小化到48M,DockerHub镜像地址:https://hub.docker.com/r.

Java 11迁移成功案例

1838 1 4K

这篇文章总结了如何成功将微服务从Java 8迁移到Java 11。对于每项服务,已经完成了以下步骤: 使用Java 11编译代码 在Java 8上运行Java 11兼容服务 在Java 11上运行该服.

从 java 8到 java 11变化一览

4 2755 2 20K

本文列举了从Java8到11各个变化的API:变量从Java 10开始,开发人员可以选择让编译器使用var来推断类型:var x=1.0/2.0var list = new ArrayList<Str.

使用Java 9 Flow进行响应式编程

7017 3 3K

在本指南中,您将学习Java 9中的Flow API如何帮助您使用新的Publisher和Subscriber构建反应模式。阅读之后,您应该能够理解这种新的编程风格及其优缺点。本指南重点介绍新的  F.

JShell - Java 9中用于快速原型设计的新REPL工具

1948 1 6K

REPL代表Read-Eval-Print-Loop。听起来有点神秘,但它只是编程语言的交互式shell的一个奇特名称。如今,许多语言已经提供了REPL。即使在JVM Groovy上,Kotlin,S.

新的Java JIT编译器Graal简介

4191 4K

在本教程中,我们将深入研究名为Graal的新Java实时(JIT)编译器。让我们首先解释JIT编译器的作用。当我们编译Java程序时(例如,使用  javac命令),我们最终将源代码编译成代码的二进制.

亚马逊推出具有长期支持的免费JDK版本

3245 2 2K

亚马逊推出基于OpenJDK的免费Java版本亚马逊Corretto,如果你对Oracle的收费版本有意见可以使用它:亚马逊在数千种生产服务上运行Corretto。Corretto的补丁和改进使亚马逊.

Java 11中的11个隐藏的宝石

930 5K

Java 11没有引入突破性的功能,但包含了许多你可能还没有听说过的宝石:1. Lambda参数的类型推断List<EnterpriseGradeType<With, Generics>> types.

升级到Spring Boot 2.1以后内存占用降低了?

2663 1 13K
有人贴图反映从基于JDK 10的Spring Boot 2.0迁移到JDK 11的Spring Boot 2.1以后,其中一个微服务的内存损耗,应该是降低了,是个好现象,但是原因不是很清楚:.

Spring Boot 2.1.0发布

2 1408 2

比较看好的是支持DDD聚合的Spring-data-jdbc应该可以正常使用了。第三方库包支持: Hibernate 5.3 Micrometer 1.1 Reactor Californium Sp.

Java 11:在Java中处理HTTP和WebSocket的新方法!

3136 4K

借助Java 11,Rest API调用非常简单轻松。在本文中,Adrian D. Finlay解释了如何利用Java 11中的新异步API来执行REST API调用,实现HTTP和WebSocket.

Java 11已经不再完全免费,不要陷入Oracle的Java 11陷阱

24785 12

Java 11 已经发布。这是一个主要版本,因为它有长期支持(LTS)。但甲骨文也将其设置为陷阱(故意或偶然)。陷阱23年来,开发人员从Oracle下载了JDK并免费使用它。在您最喜爱的搜索引擎中输入.

Java 11简介

2797 11K

本教程涵盖了Java 9到11中最重要的语言和API特性。局部变量类型推断Java 10引入了一个新的语言关键字var,它可以在声明局部变量时替换类型信息(本地意味着方法体内的变量声明)。在Java .

java11发布

1259 4

JDK 11: Java 11的参考实现和第一个长期的支持在六个月的版本在快速节奏发布模式下发布了现在已经可用。这是官方的GA版本,可用于生产环境。可下面处获得Oracle的GPL许可OpenJDK版.

Java 10中Stream API不可变集合

1406

不可变数据结构能够应对高并发,无锁并发,JDK10提供Stream API不可变集合。默认情况下,大多数Stream API集合代表可变的集合策略 - 但是如果想要将元素收集到不可变数据结构会发生什么.

Java 11字符串API有更新

1264 3K

即将发布的新LTS JDK 11版本带来一些有趣的String API更新。repeat()方法String API的最酷添加之一是repeat()方法......它允许将String以一定次数与自身.

Java 10局部变量类型var使用禁忌

1877 1 5K

毫无疑问,Java在语法上是冗长的!其他编程语言中只要一行就能实现的功能在Java中需要几行,这是由于Java是一种静态类型语言,出于这个原因,初学者发现Java有点令人生畏。但是有一个工具可以让我们.

使用CompletableFuture实现Java方法异步调用和回调

8629 31 7K

Java方法的异步调用最容易联想到使用线程,将需要异步执行的方法放在另外一个线程中执行:new Thread(() -> { //Do whatever}).start();如果想准确地等待并获.