找到 2637 篇文章 关于 Java

jdeps 工具在 Java 9 中的重要性是什么?

raja
更新于 2020-04-28 11:33:16

393 次浏览

jdeps 是一个 Java 类依赖分析器工具,它是一个命令行工具,用于显示给定 Java 类文件的包级或类级依赖关系。输入类可以作为 .class 文件的路径名、目录、jar 文件给出,或者它将是一个完全限定的类名,用于分析所有类文件。“jdeps” 从 jdk 8 开始包含在 jdk 安装中,它由 “%java_home%\bin\jdeps.exe” 程序文件表示。如果我们的 “%java_home%\bin” 目录包含在 “path” 环境变量中,我们将运行 “jdeps --help” 命令以查看所有选项的完整列表。下面,我们可以…… 阅读更多

如何在 Java 9 的 JShell 中实现字符串实用程序和不变性?

raja
更新于 2020-04-27 18:01:09

74 次浏览

JShell 是一个交互式命令行工具,用于实现简单的语句,如表达式、类、方法、字段、接口等。String 类是内置 java.lang 包的一部分,并提供了几种用于常见文本处理的方法。1) 字符串实用程序:String 提供了几种内置的实用程序方法。indexOf()、lastIndexOf()、startsWith()、endsWith()、isEmpty()、equals()、equalsIgnoreCase() 等方法就是字符串实用程序的一部分。在下面的代码片段中,我们在 JShell 工具中实现了字符串实用程序方法。片段 1 jshell> String str = "JShell is a new feature in Java9"; str ==> "JShell is a new feature in Java9" jshell> str.indexOf("new") $4 ==> 12 ... 阅读更多

在 Java 9 的 JShell 中我们需要遵循哪些规则?

raja
更新于 2020-04-27 12:18:03

151 次浏览

Java 9 引入了一个交互式 REPL(读取-求值-打印-循环)工具:JShell,它允许我们执行代码片段并立即获得结果。片段是一个可以使用标准 Java 语法的指令。它表示单个表达式、语句或声明。以下是使用 JShell 工具时需要遵循的一些规则。JShell 工具规则:片段类似于 import 声明、类声明、方法声明、接口声明、字段声明、语句和主表达式。不允许使用包声明。JShell 代码放在临时的 JShell 包下。访问修饰符:public、protected 和 private,以及修饰符:final 和 static 不允许在... 阅读更多

Java 9 中 module-info 文件中 "requires" 子句的用途是什么?

raja
更新于 2020-04-28 13:21:42

2K+ 次浏览

模块是 Java 9 中引入的一个重要概念。通过使用这个概念,我们可以将代码分成称为模块的更小的组件。因此,每个模块都有其自身的职责,并声明其对其他模块的依赖以正常工作。为了声明一个模块,我们需要将 “module-info.java” 文件包含到根源代码中。“module-info” 文件中有一些类型的 “requires” 子句1) requires:默认情况下,模块不知道模块路径中存在的其他模块。因此,每次我们想要访问时,都需要在我们的 module-info.java 中添加一行:”requires“ ... 阅读更多

如何在 Java 9 的 JShell 中声明引用类型?

raja
更新于 2020-04-24 19:46:37

139 次浏览

JShell 是 Java 9 中的一个交互式工具,允许用户输入、评估它并将输出打印给用户。与值类型不同,引用类型不会直接存储其值。相反,它将存储值存储的地址。这意味着引用类型包含指向另一个内存位置的指针,该位置保存数据。引用类型是字符串、数组、类和委托。在下面的代码片段中,当我们创建一个新的 Animal 实例时,它可以在堆内存中创建。新的 Animal() 在堆上创建一个对象。Animal@73846619,该对象是... 阅读更多

jdeprscan 工具在 Java 9 中的用途是什么?

raja
更新于 2020-04-24 17:33:05

221 次浏览

jdeprscan 工具可用于对类、存档和文件夹进行静态分析,以查找标记为已弃用的 API 元素。此工具仅检测在 Java SE 中标记为已弃用的项目,它不检测其他库中标记的项目。编译或运行类时,必须可以使用检查的类或类集所依赖的所有类。如果没有依赖类,此工具将提供一个不可用类的列表,前面带有错误:找不到类。以下是 jdeprscan 工具的语法。语法 jdeprscan [选项] {dir | jar | class} “jdeprscan” 命令可以由 “jmods\jdk.jdeps.jmod” ... 阅读更多

如何在 Java 9 的 JShell 中初始化数组?

raja
更新于 2020-04-24 16:43:30

359 次浏览

JShell 是一个命令行工具,用于评估简单的语句、表达式、类、方法、变量等,并立即将输出打印给用户。Java 中的数组也是一个对象。我们需要声明一个数组,然后创建它。为了声明一个保存整数数组的变量,我们可以像 int[] array 那样提到。在数组中,索引从 0 开始到(数组长度 - 1)。在下面的代码片段中,我们可以使用索引从数组中查找特定元素。这将通过使用索引运算符:[] 来完成。表达式 marks[0] 映射... 阅读更多

如何在 Java 9 的 JShell 中创建包装器对象?

raja
更新于 2020-04-24 14:18:37

221 次浏览

Java 中的每种原始类型都有一个相应的内置包装类,这些包装类也是不可变的。Integer、Float、Double、Byte 等是一些内置包装类。在我们的代码中使用此类包装器的主要动机是访问相应原始类型的类型信息、自动装箱功能(其中原始数据自动提升为对象引用类型)以及在数据结构周围移动原始类型数据。我们可以使用 new 运算符创建包装类的实例,也可以使用 Integer 等类型中的 valueOf() 方法创建包装器对象。... 阅读更多

如何在 Java 9 中显示 StackFrame 的反射帧?

raja
更新于 2020-04-24 10:22:23

138 次浏览

Java 9 提供了一个标准的 API,使用 `java.lang.StackWalker` 类。此类旨在高效,允许延迟访问堆栈帧。其他一些选项允许在堆栈跟踪中包含实现和/或反射帧,这对于调试非常有用。例如,我们在创建 `StackWalker` 实例时添加 `SHOW_REFLECT_FRAMES` 选项,以便也打印反射方法的帧。在下面的示例中,我们可以显示 `StackFrameExample` 的反射帧。`import java.lang.StackWalker.Option; import java.lang.StackWalker.StackFrame; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.List; import java.util.stream.Collectors; public class ReflectionFrameTest { public static ... 阅读更多

如何在 Java 9 中跳过 StackFrame 中的某些类?

raja
更新于 2020-04-24 09:20:53

浏览量:164

StackWalker API 已在 Java 9 中引入,它可以在任何给定时间点提供当前线程的堆栈跟踪快照,并具有遍历它的方法。使用 `StackWalker` 类而不是 `Thread::getStackTrace()` 的优点是可以过滤或跳过某些类,并获取声明类的实例本身,以及获取简短的堆栈跟踪或完整的堆栈跟踪,而不是提取完整的堆栈跟踪本身。在下面的示例中,我们可以使用 `java.util.stream.Stream.skip()` 方法来跳过 Stack Frames。示例:`import java.lang.StackWalker.*; import java.util.Optional; import java.util.List; import java.util.stream.Collectors; import java.lang.StackWalker.StackFrame; public class StackWalkerSkipTest { public ... 阅读更多

广告