Java开发工具 / Java可执行文件 :

1.javac.exe

  • Java编译器,Java开发工具,作用:将Java源代码 (.java文件) 编译为Java字节码 (.class文件 )
  • Javac.exe中的 ccompiler编译器

2. java.exe

  • 启动虚拟机执行.class字节码文件,翻译字节码文件翻译成系统能直接识别和执行的机器码执行代码,得到效果
  • java.exejavaw.exe的区别:
    java.exe 在运行Java程序时会在控制台 ( Console )输出程序的信息和错误。 (而 javaw.exe 则不会在控制台输出信息,它只在运行Java程序时显示一个控制台窗口,但这个窗口并不用于输出程序的信息和错误。)

java.exe获取字节码后的具体的操作

  • 1.验证字节码文件Java解释器会验证字节码文件是否符合Java虚拟机规范,以确保代码的正确性和安全性。如果字节码文件不符合规范,将会抛出异常

  • 2.加载类文件Java解释器加载字节码文件中的类文件,并将其读入内存。在加载类文件时,Java解释器会执行静态初始化器,以及在类被使用之前所需的任何其他初始化操作。

  • 3.执行main方法: 一旦类文件被加载和初始化,Java解释器会执行该类中的main方法,从而启动Java应用程序。

  • 4.运行应用程序: 一旦main方法被执行,Java应用程序将会运行,并执行在字节码文件中定义的行为和逻辑。

  • 总之,一旦Java解释器获取了字节码文件,它将执行验证、加载、初始化和运行应用程序等操作,以在计算机上执行Java程序。

3. javaw.exe

一、

  • Java开发工具,通过运行Java代码来显示一个图形用户界面 (可视化的界面) / 用于启动GUI程序
  • 图形用户界面(GUI)由:窗口、控件、布局、图形元素、主题和样式、动画和过渡等构成,这个GUI是由Swing或JavaFX等工具包创建的。

图形用户界面(Graphical User Interface,简称GUI)由以下组成要素

  • 窗口(Window):窗口是GUI的基本单元,提供了一个独立的显示区域,可以包含其他图形元素。窗口可以是可调整大小的,可以被移动和关闭。
  • 控件(Control):控件是用户界面中的可交互元素,用于实现各种功能和操作。常见的控件包括按钮(Button)、文本框(Text Box)、复选框(Check Box)、下拉列表(Combo Box)等。控件可以响应用户的输入或操作,执行相应的动作或触发事件。
  • 布局(Layout):布局指定了控件在窗口中的位置和大小。常见的布局方式有流式布局(Flow Layout)、网格布局(Grid Layout)、边界布局(Border Layout)等。通过布局,可以实现控件的合理排列和组织,使界面整齐美观。
  • 图形元素(Graphics):图形元素用于绘制图形、图像和图标等视觉元素。它们可以用来表示数据、显示图像,或者用于装饰和美化界面。图形元素可以是简单的形状,如线条、矩形、圆形等,也可以是复杂的图像或图标。
  • 事件(Event):事件是用户在界面上的操作或输入,如鼠标点击、键盘按键、窗口关闭等。当事件发生时,GUI可以通过事件处理机制响应和处理事件,执行相应的动作或触发相关操作。
  • 主题和样式(Theme & Style):主题和样式用于定义界面的外观和风格。它们可以定义控件的颜色、字体、边框样式等,以及整体界面的布局和美化效果。通过设置主题和样式,可以改变界面的外观,实现个性化和定制化。
  • 动画和过渡(Animation & Transition):动画和过渡效果可以增加界面的交互性和吸引力。通过应用动画和过渡效果,可以实现控件的平滑移动、渐变显示、淡入淡出等效果,提升用户体验。
  • 这些组成要素共同构成了一个完整的图形用户界面,使用户能够直观地与应用程序进行交互,进行操作、获取信息和执行功能。不同的GUI框架和技术可能具有不同的组成要素和特性,但以上列举的要素是构建GUI的基本元素。

二、

  • 在Java中,启动基于GUI的应用程序是指通过Java代码创建一个图形用户界面(GUI)应用程序,并启动该应用程序。 控制台是电脑和人交互的一种方式如果我们写的程序需要控制台,那么我们可以采取java.exe来启动应用程序。换言之,如果我们不需要使用控制台的时候我们可以用 javaw.exe 来启动应用程序

  • GUI允许用户通过可视化元素(如按钮、文本框、标签等)与计算机程序进行交互。在Java中,可以使用Swing、JavaFX等GUI库来创建GUI应用程序,启动基于GUI
    (图形用户界面) 的应用程序可以用于创建各种类型的桌面应用程序,如文本编辑器、音乐播放器、游戏等。

  • 启动基于GUI的应用程序通常需要编写Java代码来创建GUI元素、设置事件处理程序、显示窗口等。在Java中,可以使用以下代码来启动一个基于GUI的应用程序:


public class MyGUIApp {    public static void main(String[] args) {
      //创建JFrame(窗口)对象
      JFrame frame = new JFrame("My JFrame");
      // 设置窗口大小、位置等属性
      frame.setSize(500, 500);
      //用于将窗口的位置设置为屏幕中心
      frame.setLocationRelativeTo(null);
      //在窗口中添加一个按钮。该代码创建了一个新的JButton对象,并将它添加到窗口的控件集合中
      frame.add(new JButton("this is a button!")); // 添加GUI元素 	 
       //当用户通过窗口的关闭按钮关闭窗口时,程序将终止运行并退出
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      // 设置事件处理程序
      frame.addActionListener(e -> {
         System.out.println("Button clicked!");
      });
      // 显示窗口
      frame.setVisible(true);    } } ```

 - 上述代码创建了一个名为"My JFrame"的窗口,并在其中添加了一个按钮。当用户点击按钮时,程序将在控制台输出一条消息。

要注意的是

  • 关于图形用户界面的代码,没有 输出语句时,程序会先显示控制台(console窗口),但控制台会在短时间内自动关闭然后显示一个图形用户界面
  • 关于图形用户界面的代码, 输出语句时,程序会先显示控制台,然后显示一个图形用户界面,最后两者都是同时存在且显示。

4. javaws.exe

  • javaws.exe:用于启动web程序
  • javaws.exe用于web程序 Java Web Start应用程序中的一个进程,它用于在Windows操作系统上启动基于GUI ( 图形用户界面 )的Java应用程序。
  • 具体来说,javaws.exe是Java虚拟机中的一个进程,它负责加载和运行使用 Java Web Start库编写的GUI应用程序。当用户在Windows上使用 Java Web Start启动应用程序时,系统会启动javaws.exe进程,并使用它来运行应用程序的GUI部分。
  • 需要注意的是,javaws.exe进程只适用于Windows操作系统,在其他操作系统上,Java Web Start应用程序可能会使用不同的进程来运行。
  • 在Java Web Start应用程序中,可以使用以下代码来启动javaws.exe进程:
 public class MyGUIApp {
 public static void main(String[]args) {
>       try {
>          // 创建进程工厂
>          ProcessFactory factory = AccessController.doPrivileged(new GetInstanceAction());
>          // 创建进程
>          Process process = factory.startProcess();
>          // 等待进程结束
>          process.waitFor();
>       } catch (Exception e) {
>          e.printStackTrace();
>       }    
      } 
   } 
  • 这段代码使用Java的ProcessFactory类创建了一个进程工厂,并使用它启动了一个新的进程。然后,使用进程的waitFor方法等待进程结束。
  • 需要注意的是,这段代码只是一个示例,具体的实现方式可能会因应用程序的需求而有所不同。

5. javadoc.exe

  • javadoc.exe是Java文档生成器,用于根据Java源代码中的文档注释 生成HTML格式的程序说明文档。
  • 它根据Java源代码及其注释生成HTML文档

6. apt.exe

  • apt.exe是一个用于注释处理的命令行实用程序。它包括一组反射API和支持处理程序注释的基础设施(JSR175)。
  • 这些反射API提供了程序结构的构建时、基于源代码的只读视图。它们被设计为在添加泛型(JSR14)之后,对Java编程语言的类型系统进行干净的建模。

7. jar.exe

  • javah.exe是Java提供的工具,可以将多个Java类文件和资源文件打包成一个JAR文件,以便于传输和存储。JAR文件是一种压缩格式,可以节省存储空间和提高传输效率。
  • 此外,jar.exe工具还可以用于更新删除 JAR文件中的内容,以及列出 JAR文件的内容列表。通过使用jar.exe工具,您可以方便地对Java类文件和资源文件进行打包、压缩和管理。

8. jar.exe

  • jdb.exeJava调试器,可以用于调试Java程序。它是一个命令行工具,可以逐行地执行程序、设置断点和检查变量,可以帮助开发人员调试Java程序,并查看程序在运行时的状态和行为。

  • 使用jdb.exe工具,开发人员可以方便地调试Java程序,并查看程序在运行时的状态和行为。它支持多种调试模式,例如命令行模式、远程调试模式和attach模式。在命令行模式下,开发人员可以使用各种命令来控制程序的执行,例如run、stop、print等。

9. javah.exe

  • javah.exe 是Java提供的一个工具,用于生成可以调用Java过程C过程,或建立能被Java程序调用C过程的头文件

  • 使用javah.exe工具可以方便地生成C代码,以便与Java程序进行交互。它可以通过命令行参数指定要生成头文件的Java类,并生成相应的C头文件。这个工具对于需要使用C语言编写与Java程序进行交互的应用程序非常有用。

10. jps.exe

  • jps.exe 是Java Process Status Tool,是Java虚拟机的一个进程状态工具。它的主要作用是查询Java进程的状态、名称和ID等信息,可以用于监控和管理Java虚拟机。
  • 使用jps.exe工具,可以方便地查看Java进程的启动状态、运行状态和进程ID等信息。它可以通过命令行参数指定要查询的Java进程的名称或ID,并生成相应的进程状态信息。
  • jps.exe : JVM进程状态工具,用于列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一ID。

11. appletviewer.exe

  • appletviewer.exe 是一个用于运行和浏览Java Applet小程序的工具。它是Java开发环境(JDK)的一部分,可以用于在本地计算机上运行Java Applet程序,而不需要将数据上传到服务器上进行处理,可以帮助开发人员和用户方便地运行和浏览Java Applet程序,从而实现本地计算和离线计算。
  • 使用appletviewer.exe工具,可以方便地将Java Applet程序直接在本地计算机上运行,并可以通过浏览器进行访问。它支持多种参数和选项,可以根据需要进行设置和调整。

12. jstat.exe

  • jstat.exe Java虚拟机(JVM)的一个监控工具,用于监视JVM的运行状态和性能。它可以打印出JVM的类加载、内存使用、垃圾回收、线程状态等统计信息,以便开发人员分析和优化Java应用程序的性能。
  • 使用jstat.exe工具,可以方便地监控JVM的运行状态和性能,提高应用程序的稳定性和效率,并可以根据需要进行设置和调整。它支持多种参数和选项,可以根据需要选择要监视的JVM统计信息,并生成相应的输出结果。

13. jinfo.exe

  • jinfo.exe 是Java虚拟机自带的Java配置信息工具,主要用于实时地查看和调整虚拟机(JVM)的各项参数

14. jmap.exe

  • jmap.exe是一个多功能命令,它主要用于生成Java程序的转储文件,以及提供一些统计信息,用于生成虚拟机的内存转储快照(heapdump文件)。

  • 使用jmap.exe可以生成Java程序的转储文件,这个文件可以用于分析程序在运行时的内存状态,以及对象实例数量、类加载器、垃圾回收器状态等信息。

  • 此外,jmap.exe还可以查看堆内对象示例的统计信息、查看ClassLoader的信息以及finalizer队列。 需要注意的是,这些功能需要在Java环境下才能使用,并且不同版本的jmap.exe可能具有不同的功能和用法。建议在使用时参考官方文档或相关资料,以确保正确使用。

15. javap.exe

  • javap.exeJDK自带的反汇编器用于将 Java 字节码转换为 JVM 的汇编代码,这种工具可以帮助开发人员理解Java类文件的内部结构,包括方法和数据成员的访问方式以及字节码的含义。

  • 通过Java反汇编器,您可以看到以下信息:
  • 1. 方法名称和参数:反汇编器会显示方法的名称和参数列表,以及它们在字节码中的表示方式。
  • 2. 指令:Java字节码是由一系列指令组成的,反汇编器可以将这些指令转换为可读的汇编代码。这些指令包括加载和存储数据、执行算术运算、控制流程等。
  • 3. 数据成员:反汇编器可以显示类文件中的数据成员,例如静态变量和实例变量。这些成员在字节码中的表示方式以及它们的访问方式也会显示出来。
  • 4. 常量池:Java类文件中包含一个常量池,用于存储字面量和其他常量值。反汇编器可以显示这些常量值及其类型。
  • 通过了解这些信息,开发人员可以更好地理解Java类文件的结构和功能,并且可以更容易地调试和优化代码。这对于调试和优化Java应用程序非常有用,因为Java字节码通常是在运行时编译和执行的,所以了解其内部工作原理可以提供更好的性能和可靠性。

  • 注意的是
  • javap.exe 也不能将字节码直接转换为源代码。如果需要将字节码转换为源代码,通常需要使用反编译工具(例如 JD-GUIProcyon)。

16. jshell.exe

  • jshell.exe 是一个交互式 Java 编程环境,作为 JDK 的一部分,用于在命令行环境下进行快速的 Java 编程
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐