GraalVM
GraalVM 这是一个高性能的 JDK,旨在加快 Java 应用程序的性能,同时消耗更少的资源。GraalVM 提供了两种运行 Java 应用程序的方式: 使用 Graal 即时(JIT)编译器在 HotSpot JVM 上运行,或者作为提前(AOT)编译的本机可执行文件运行。除了 Java 之外,它还提供了 JavaScript、 Ruby、 Python 和许多其他流行语言的运行时。GraalVM 的多语言功能使得在单个应用程序中混合编程语言成为可能,同时消除了任何外语调用成本。
官网上目前有两个版本,一个是社区版,一个是企业版。
什么是 GraalVM Native Image?
GraalVM Native Images 是独立的可执行文件,可以通过提前处理编译的 Java 应用程序来生成。本机映像通常比 JVM 映像占用的内存更少,启动速度更快。
08. 标准库函数
Kotlin 标准库里有一些支持 lambda 的通用工具类标准函数。本章,我们会学习 apply、let、 run、with、also 和 takeIf 这六个常用标准函数。标准函数简化代码的威力。它们不仅能让代码简洁易读。通过示例看看如何使用它们。
这一章还会用到一种叫接收者(receiver)的类型实例。这是因为,Kotlin 的标准函数本质上 都是扩展函数(extension function),而接收者是跟扩展函数相关的术语。扩展(extension)很灵 活,方便定义用于各种类型的函数,我们将在之后的章节深入学习它。
let
Kotlin 标准库函数 let 可用于范围界定和 null 检查。当对一个对象调用时,let 执行给定的代码块并返回其最后一个表达式的结果。对象可以在块内通过引用(默认情况下)或自定义名称访问。
天翼 ctwing 平台使用
07. 数值类和字符串详解
数值类
和 Java 一样,Kotlin 中的所有数字类型都是有符号的(signed),也就是说,它们既可以表示正数,也可以表示负数。 除了是否支持小数外,数字类型还有个区别是在内存中所占的位数(直接的结果就是它们所能支持的最大值和最小值)。
整数是不带小数位的数字,在 Kotlin 中常用 Int 类型表示。带小数位的数字要以 Float 或 Double 类型表示。
这里有必要提一下 Short 和 Byte 这两个类型。千言万语汇成一句话,你几乎不会用它们来表示常见的数。它们主要用于和 Java 遗留代码互操作这样的场景。例如,从文件读取数据流 或处理图像时(1 个颜色像素常以 3 字节表示,对应 RGB 三色),你可能就需要和 Byte 打交道。 而需要和不支持 32 位指令的 CPU 原生代码交互时,你很可能会看到 Short 的身影。不管怎么说,大多数情况下,表示整数都用 Int,如果需要更大的数,那么就用 Long。
数字的字面常数
在 Java 中表示 long 类型整数时可以在数字后面加小写英文字母 l,但由于可读性不好,容易被误认为是阿拉伯数字 1,所以在 Kotlin 中部不允许这样表示。