179 次浏览
JShell 是 Java 9 中引入的一个交互式 Java shell 工具,它允许我们执行代码片段,并立即显示结果,而无需像 Java 一样声明 main() 方法。它是一个 REPL(读取-评估-打印-循环)工具,从命令行提示符运行。我们可以使用 JShell 创建变量、方法、类、临时变量、外部库等在下面的代码片段中,我们可以通过扩展 Thread 类来创建线程。C:\Users\User>jshell | 欢迎使用 JShell -- 版本 9.0.4 | 要获取介绍,请键入:/help intro jshell> class ThreadTest extends Thread { ...> public void run() { ...> ... 阅读更多
136 次浏览
JLink 功能的主要目的是创建我们自己的自定义 JRE。通常,我们使用 Oracle 公司提供的默认 JRE 运行程序,其大小为 214 MB。例如,用户希望打印一个简单的“Hello World”消息,如下所示public class HelloWorldModuleTest { public static void main(String args[[]) { System.out.println("Hello World!"); } }要运行上述大小为 1 KB 的程序,我们需要 4-5 个类,例如 String、System、Object 和 HelloWorldModuleTest.class 文件。那么,为什么我们需要使用... 阅读更多
657 次浏览
模块 是代码的集合,以包的形式组织类 和静态资源,例如属性 文件 或其他资源。它为外部环境提供使用该模块所需的所有信息。模块 描述符 是模块 系统的主要来源,它是模块声明的编译版本,该声明在模块目录层次结构根目录下的名为“module-info.java”的文件中指定。模块通过以下模块声明来描述自身module com.myproject.module1 { requires com.myproject.module2; exports com.myproject.project1; exports com.myproject.project2; }以下是描述的一些模块描述符:module module. name: 声明一个模块... 阅读更多
130 次浏览
Http/2 是 Http 协议的较新版本。Http/2 的改进包括专注于如何在服务器和客户端之间构建和传输数据。在这个 Http/2 协议的新版本中,为 Http 客户端、请求和响应定义了单独的类。新的 API 使 Http 连接更容易维护、更快,并允许更具响应性的应用程序,而无需第三方库。新的 API 通过三个类处理 HTTP 连接。HttpClient:它处理请求的创建和发送。HttpRequest:它用于构建要通过 HttpClient 发送的请求。HttpResponse:它保存... 阅读更多
195 次浏览
varargs 功能已在 Java 中引入,以方便创建具有可变数量参数的方法,而无需使用数组类型参数或同一方法的重载版本。在 Java 9 之前的版本中,如果 vararg 方法与泛型一起使用,则会出现警告消息。即使并非所有方法都会创建堆污染,编译器也会对所有与泛型一起使用的 vararg 方法显示警告。这就是在 Java 9 版本中添加 @SafeVarargs 概念的原因,以避免这些警告。如果我们添加此注释,则编译器将停止这些警告。我们可以使用以下命令编译代码javac -Xlint:unchecked... 阅读更多
3K+ 次浏览
是的,我们可以在 Java 9 中的接口中使用私有 方法 或私有静态方法。我们可以使用这些方法来消除代码冗余。私有 方法 只能在该接口内部使用或访问。我们无法从一个接口到另一个接口或类访问或继承私有方法。语法接口 { private static void methodName() { // 一些语句 } private void methodName() { // 一些语句 } }示例接口 Java9Interface { public abstract void method1(); public default void method2() { method4(); method5();... 阅读更多
133 次浏览
JShell 是 Java 9 中引入的第一个 REPL 工具。我们可以使用 JShell 工具在命令行提示符下执行简单的代码片段。我们可以通过键入“jshell”命令启动 JShell 会话,通过键入“/exit”命令停止会话,并通过使用“/help”命令搜索特定命令。"/reload" 命令可用于重新执行 JShell 中的所有现有代码片段。我们还可以使用“/reset”命令从 JShell 会话中删除所有先前代码。在下面的代码片段中,我们创建了一组代码片段。jshell> 2+10 $1 ==> 12 jshell> String s = "Tutorialspoint" s... 阅读更多
2K+ 次浏览
Java 9 版本引入了新的增强功能并添加了新功能。包括 JShell、Http2Client、Java 平台模块系统 (JPMS)、多版本 jar 文件、堆栈遍历 API、接口中的私有方法、进程 API 更新、集合 API 更新、流 API 改进等。以下是 Java 8 和 Java 9 之间的一些区别在 Java 8 及更早版本中,顶级组件是包。它将一组相关的类型(类、接口、枚举等)组合成一个组,并且还包含一组资源,而 Java 9 引入了一个新组件:模块,可用于放置... 阅读更多
151 次浏览
在本教程中,我们将讨论一个程序来了解如何在 C++ STL 列表中删除元素。为此,我们将使用 pop_back() 和 pop_front() 函数分别从末尾和开头删除元素。示例 实时演示#include #include using namespace std; int main(){ listlist1={10,15,20,25,30,35}; cout
132 次浏览
在本教程中,我们将讨论一个程序来了解如何在 C/C++ 中初始化多维数组。在声明多维数组时,最左侧维度的值可以留空,但所有其他维度都必须提供。示例 实时演示#include int main(){ int a[][2] = {{1,2},{3,4}}; printf("%lu", sizeof(a)); getchar(); return 0; }输出16