111 次浏览
"jcmd" 是 JVM 诊断工具,它是一个命令行工具,用于对本地机器上的给定 JVM 运行诊断命令。此工具已包含在自 Java 7 版本以来的 JDK 安装中,并且可以由 "%java_home%\bin\jcmd.exe" 程序文件表示。如果我们已将 "%java_home%\bin" 目录包含在 "path" 环境变量中,则可以运行 "jcmd -h" 命令以查看如下所有选项的完整列表C:\Users\User>jcmd -h Usage: jcmd or: jcmd -l or: jcmd -h command must be a valid jcmd command for the selected jvm. Use the command "help" to ... 阅读更多
203 次浏览
假设我们有一个完整的二叉树,其中每个节点具有以下字段:(数据、左、右、下一个),左将指向左子树,右将指向右子树,下一个指针将指向下一个节点。如果右侧没有节点,则该节点将为 null。因此,最初每个 next 指针都设置为 null,我们必须创建链接。假设树像第一个一样,它将转换为下一个节点 - 要解决此问题,我们将遵循以下步骤 - 设置 pre := root,nextPre := ... 阅读更多
780 次浏览
所有 Java 程序都在 Java 虚拟机 (JVM) 上运行。编译后,Java 类将转换为平台和机器无关的字节码,并且编译后的类将存储为 .class 文件。每当我们尝试使用它时,ClassLoader 都会将该类加载到内存中。当类以名称被引用时,它们会被引入 Java 环境。类的加载是由类加载器完成的,一旦类开始运行,main() 方法就是启动该类的一种方式。Java 9 中类加载器有一些细微的更改:系统类加载器在 Java 9 中不再存在,... 阅读更多
401 次浏览
在 Java 9 之前,扩展和应用程序类加载器是 java.net.URLClassLoader 类的实例。在 Java 9 中,类加载器的分类发生了变化,我们使用平台类加载器代替外部类加载器。使用平台类加载器的目的是,默认情况下,由引导类加载器加载的类具有所有权限。在下面的示例中,我们可以显示所有带有类加载器的模块。示例import static java.util.Objects.isNull; public class Java9ClassLoaderTest { public static void main(String args[]) { ModuleLayer layer = ModuleLayer.boot(); layer.modules().forEach(module -> { ... 阅读更多
2K+ 次浏览
模块是代码和数据的组合,它具有名称,声明对其他模块的依赖关系,导出包含可以在此模块外部访问的公共类型的包,并指定它使用的服务或它提供的服务实现。所有这些都指定在 module-info.java 文件中,该文件包含在模块的根目录中。“export”子句有两种类型可用于“module-info.java”文件。1) export:默认情况下,模块的 public 类型不再在模块外部可见。要使给定包的公共类型从 ... 阅读更多
215 次浏览
假设我们有一个链接列表,我们必须对此列表执行插入排序。因此,如果列表类似于 [9, 45, 23, 71, 80, 55],则排序后的列表为 [9, 23, 45, 55, 71, 80]。要解决此问题,我们将遵循以下步骤 - dummy := 使用某些随机值的新节点 node := 给定列表当 node 不为 null 时,newNode = node 的下一个,dummyHead := dummy 的下一个,prevDummyHead := dummy当为真时 - 如果 dummyHead 不存在,则 dummyHead 的值 > node 的值 node 的下一个 := dummyHead prevDummyHead 的下一个 := node 退出循环 prevDummyHead := dymmyHead,然后 dummyHead = ... 阅读更多
393 次浏览
jdeps 是 Java 类依赖分析工具,它是一个命令行工具,用于显示给定 Java 类文件的包级或类级依赖关系。输入类可以作为 .class 文件、目录、jar 文件的路径名给出,或者它将是完全限定的类名以分析所有类文件。“jdeps”已包含在自 jdk 8 以来的 jdk 安装中,并且它由 "%java_home%\bin\jdeps.exe" 程序文件表示。如果我们已将 "%java_home%\bin" 目录包含在 "path" 环境变量中,我们将运行 "jdeps --help" 命令以查看所有选项的完整列表。下面,我们可以 ... 阅读更多
229 次浏览
假设我们有一个包含 X 和 O 的二维棋盘。捕获所有被 X 包围的区域。通过将该包围区域中的所有 O 更改为 X 来捕获一个区域。XXXXXOOXXXOXXOXX运行后,输出将为XXXXXXXXXXXXXOXX要解决此问题,我们将遵循以下步骤 - 如果棋盘不存在,则返回空白棋盘对于 i 范围从 0 到行数 – 1 - 如果 board[i, 0] = ‘O’,则 make_one(board, i, 0) 如果 board[i, 列数 - 1] = ‘O’,则 make_one(board, i, 列数 – 1) 对于 i 范围从 0 到列数 – 1 - 如果 board[0, i] = ... 阅读更多
260 次浏览
假设我们有一个按升序排序的数组。它在某个我们事先不知道的枢轴处旋转。例如,如果数组类似于 [0, 0, 1, 2, 2, 5, 6],则它可能变为 [2, 5, 6, 0, 0, 1, 2]。我们有一个要搜索的目标值。如果它在数组中找到,则返回 true,否则返回 false。因此,如果数组类似于 [2, 5, 6, 0, 0, 1, 2],目标为 0,则输出将为 0让我们看看步骤 - low := 0 和 high := 数组大小当 low ... 阅读更多
667 次浏览
假设我们有一个填充有非负整数的 m x n 矩阵,找到从左上角到右下角的路径,使沿其路径的所有数字的总和最小化。在任何时候,移动只能向下或向右。因此,例如,如果矩阵如下所示131151421输出将为 7,路径将为 1、3、1、1、1,这将使总和最小化让我们看看步骤 - a := 行数,b := 列数 i := a – 1,j := b – 1 当 j >= 0 matrix[a, j] ... 阅读更多