javaee安装,eclipse安装javaee插件

首页 > 技术 > 作者:YD1662022-12-03 07:44:25

1. 概述1.1 定义

Quarkus定位要做超声速、亚原子的JAVA框架,使用最好标准为OpenJDK HotSpot和GraalVM量身定制的Kubernetes Native Java栈;从一开始就是针对Kubernetes设计的云原生优化Java应用开发框架;兼容主流的框架开发模式如Jpa、Netty、Undertow、Hibernate、JWT、Spring。最新版本为2.13.3。

1.2 GraalVM 简介

GraalVM 是 Oracle 开发的高性能的多语言运行时 JDK,旨在提高 Java 应用程序的性能,同时消耗更少的资源。

GraalVM 提供了两种运行Java应用程序的方法:在HotSpot JVM上使用 Graal 即时(JIT)编译器或者作为预先(AOT)编译的本机可执行文件。

除了 Java,它还提供了 JavaScript、Ruby、Python 和其他一些流行语言的运行时。GraalVM 的多语言功能使得在一个应用程序中混合编程语言成为可能,同时消除了任何外语调用成本。目前最新版本为 22.3。

javaee安装,eclipse安装javaee插件(1)

1.3 为何使用

使用 Spring Boot 的快速开发企业级应用的微服务启动慢,从一个应用从启动到服务可用,一般是数秒。在对 CPU 核数和内存严格限制的情况下,花数十秒启动的情况也屡见不鲜。这样的问题无法适应需要快速重启或快速扩容的场景。不仅如此,内存消耗也很大。如果限制在 1G 时 FullGC 频率变大,且经常触发 OMM 后 Kill 导致 pod 重启,并且启动时间也会变长。

相比之下,集群中使用 GO 语言开发的应用则配置 128M 内存也可正常使用。以 JVM 模式运行的 Java 应用,并不太适合于云原生应用的开发,而拥抱云原生则是未来技术的大趋势。

容器云已经为未来主流,也即是软件都是运行在 K8S 这样的容器集群里。而容器环境需要应用具备启动速度快,资源占用小,响应时间短等特性。Quarkus 顺应这种趋势而生的。

Quarkus具备企业级应用开发能力。

在 Serverless 服务器架构、微服务、容器、Kubernetes、功能即服务(FaaS)和云环境中运行 Java 而言,考虑了所有这些因素的 Quarkus 堪称是一个有效的解决方案。

1.4 特性

容器优先

构建期即生成云原生镜像执行文件。

Quarkus 为 GraalVM 和 HotSpot 定制应用程序。快速启动、低内存消耗、体积小,在 Kubernetes 这样的容器编排平台上提供了近乎实时的扩展和高密度的内存利用率。这就是使用了编译时引导的技术。

Kubernete 原生

构建期即生成云原生镜像执行文件,可以与 Docker 和 Kubernetes 轻松集成,Quarkus 和 Kubernetes 的组合可以伸缩、快速创建轻量级的应用程序。Quarkus 通过工具、预构建的集成、应用程序服务等显著提高了开发人员的工作效率。

命令式和响应式

在设计上 Quarkus 能够在开发应用时无缝地结合熟悉的命令式代码和非阻塞、响应式样式。这对于习惯使用命令式模型而不想切换风格的 Java 开发人员以及使用云原生/响应式方法的开发人员都非常有用。

社区和标准

拥抱 JavaEE 标准,使用 JavaEE 官方 RESTful、CDI 等标准接口。Quarkus 提供了一个内聚的、轻量的全栈框架,包含超过 50 个使用的最佳类库。

对开发者友好

学习成本也低,具有统一的配置和简单的本地可执行文件生成,零配置,实时重新加载,80% 的常用标准和 20% 灵活应用。

1.5 官方性能数据

javaee安装,eclipse安装javaee插件(2)

从图中可以看出,使用 Quarkus 和 GraalVM 的简单的 REST 应用的启动时间仅为 16 毫秒,占用内存仅 12MB。如果使用传统的基于 Java 虚拟机实现,应用的启动时间需要 4.3 秒,占用内存为 136MB。

2. 实战

入门示例项目步骤:

2.1 安装 GraalVM

GraalVM 官方文档:https://www.graalvm.org/22.2/docs/

GraalVM GitHub:https://github.com/graalvm/graalvm-ce-builds/releases

了解 GraalVM 的最新版本 22.3 的使用可以查阅 GraalVM 官方文档。先从 GitHub 下载 GraalVM 。这里先以下载windows版本为例,下载后的文件 graalvm-ce-java11-windows-amd64-22.2.0.zip,解压到本地磁盘目录,查看版本信息如下:

javaee安装,eclipse安装javaee插件(3)

# windows PATH环境变量增加路径:D:\Program Files\Java\graalvm-ce-java11-22.2.0\bin JAVA_HOME配置环境变量:D:\Program Files\Java\graalvm-ce-java11-22.2.0 # linux wget https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.2.0/graalvm-ce-java17-linux-amd64-22.2.0.tar.gz tar -xvf graalvm-ce-java17-linux-amd64-22.2.0.tar.gz export GRAALVM_HOME=/home/commons/graalvm-ce-java17-22.2.0 export PATH=$PATH:$GRAALVM_HOME/bin export JAVA_HOME=${GRAALVM_HOME} export PATH=$PATH:$JAVA_HOME/bin export MAVEN_HOME=/home/commons/apache-maven-3.8.6 export PATH=$PATH:$MAVEN_HOME/bin 2.2 创建 Quarkus 工程

万丈高楼平地起,首先是创建 Quarkus 项目。与 Spring Boot类似,Quarkus 为我们提供了多种方式创建 Quarkus 工程,下面对常用的 3 种进行介绍。

IDEA 支持创建 Quarkus 项目

javaee安装,eclipse安装javaee插件(4)

首页 12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.