zoukankan      html  css  js  c++  java
  • java虚拟机

    1.javap -c 文件名 进行反编译

    代码:

     1 import java.awt.*;
     2 import java.io.*;
     3 import javax.swing.*;
     4 
     5 /**
     6  * A program for viewing images.
     7  * @version 1.31 2018-04-10
     8  * @author Cay Horstmann
     9  */
    10 public class ImageViewer
    11 {
    12    public static void main(String[] args)
    13    {
    14       EventQueue.invokeLater(() -> {
    15          var frame = new ImageViewerFrame();
    16          frame.setTitle("ImageViewer");
    17          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    18          frame.setVisible(true);
    19       });
    20    }
    21 }
    22 
    23 /**
    24  * A frame with a label to show an image.
    25  */
    26 class ImageViewerFrame extends JFrame
    27 {
    28    private static final int DEFAULT_WIDTH = 300;
    29    private static final int DEFAULT_HEIGHT = 400;
    30 
    31    public ImageViewerFrame()
    32    {
    33       setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
    34 
    35       // use a label to display the images
    36       var label = new JLabel();
    37       add(label);
    38 
    39       // set up the file chooser
    40       var chooser = new JFileChooser();
    41       chooser.setCurrentDirectory(new File("."));
    42 
    43       // set up the menu bar
    44       var menuBar = new JMenuBar();
    45       setJMenuBar(menuBar);
    46 
    47       var menu = new JMenu("File");
    48       menuBar.add(menu);
    49 
    50       var openItem = new JMenuItem("Open");
    51       menu.add(openItem);
    52       openItem.addActionListener(event -> {
    53          // show file chooser dialog
    54          int result = chooser.showOpenDialog(null);
    55 
    56          // if file selected, set it as icon of the label
    57          if (result == JFileChooser.APPROVE_OPTION)
    58          {
    59             String name = chooser.getSelectedFile().getPath();
    60             label.setIcon(new ImageIcon(name));
    61          }
    62       });
    63 
    64       var exitItem = new JMenuItem("Exit");
    65       menu.add(exitItem);
    66       exitItem.addActionListener(event -> System.exit(0));
    67    }
    68 }
    View Code

    反编译结果:

     1 Compiled from "ImageViewer.java"
     2 public class ImageViewer {
     3   public ImageViewer();
     4     Code:
     5        0: aload_0
     6        1: invokespecial #1                  // Method java/lang/Object."<init>":()V
     7        4: return
     8 
     9   public static void main(java.lang.String[]);
    10     Code:
    11        0: invokedynamic #2,  0              // InvokeDynamic #0:run:()Ljava/lang/Runnable;
    12        5: invokestatic  #3                  // Method java/awt/EventQueue.invokeLater:(Ljava/lang/Runnable;)V
    13        8: return
    14 }

    todo

    数据结构网站:

  • 相关阅读:
    .net 下比较蛋疼的word 表格转excel表格
    c# 使用oracle表、列备注信息实现高级 查询
    心理学习
    图片 照片 批量 压缩 格式转换 缩略图 旋转 复用办公助手
    人力资源系统技术标准
    年会 司庆 主体活动 婚庆 拓展 复用抽奖软件
    实施组合测试
    maven入门总结
    Apache FtpServer 的使用研究
    2022年Vivado HLS导出IP报错
  • 原文地址:https://www.cnblogs.com/yulianggo/p/10491484.html
Copyright © 2011-2022 走看看