public class Test extends java.lang.Object{
public Test();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: new #2; //class java/lang/String
3: dup
4: ldc #3; //String 34
6: invokespecial #4; //Method java/lang/String."<init>":(Ljava/lang/Strin
g;)V
9: astore_1
10: return
}
这是javap(Disassembles class files)该程序后的:
public class Test {
public static void main(String args[]) {
String a = new String("3" + "4");
}
}
可见优化后只生成一个String 34,加new String()就共两个对象生成
这些好知道,但ldc之类的啥意思呢?
4: ldc #3; //String 34
This line uses the opcode ldc, which loads a constant onto the operand
stack. At this point, we're going to load whatever constant is in index
#3 of our constant table. That constant is our String, "34".
http://www.javaranch.com/journal/200408/ScjpTipLine-javap.html
分享到:
相关推荐
主类在GeneratorMain,只要指定几个关键点,输出路径,输入表名,上级包名,就能生成代码后,直接复制到工程中,生成类中结构清晰,注释完整。 /** * 生成演示 */ public static void main(String[] args) { ...
Java中还有其他几个与字符串处理相关的工具类,如: 1. **StringBuilder** 和 **StringBuffer**:这两个类允许在字符串中动态添加、删除和修改字符。与String不同,它们是可变的。在多线程环境中,推荐使用线程安全...
Builder生成器模式有以下几个优点: * 解耦合:Builder模式可以将对象的创建过程与使用过程分离,使得系统更加灵活和易于维护。 * 便于扩展:Builder模式可以方便地添加或删除对象的某些属性或行为。 * 改善代码...
在Python编程中,实现这样的功能通常会涉及以下几个关键知识点: 1. **命令行参数处理**:为了使程序能接受用户输入的参数,如题目数量、难度级别等,开发者会使用`argparse`库来解析命令行参数,使得用户可以通过...
我们可以创建一个自定义方法,接收两个参数:一个是生成的数量,另一个是是否包含字母。在方法内部,我们可以使用`Random`类生成数字,同时利用ASCII码来生成字母。ASCII码中,小写字母的范围是97到122,大写字母的...
在学习这个实例时,初学者需要理解以下几个关键概念: 1. **随机性**:随机数在密码生成中的重要性,以及如何使用编程语言实现真正的随机。 2. **字符集**:密码可能包含的字符类型,如字母、数字和特殊字符。 3. **...
在这个过程中,你可以创建一个Excel模板,定义每个字段的属性,如字段名、类型、长度等,然后使用POI读取这些信息,自动生成对应的Java类。 首先,我们需要在Java项目中引入Apache POI的依赖。在Maven工程中,可以...
对于XML生成,首先我们需要准备以下几个部分: 1. **数据模型(Model)**:这是你要生成XML所依赖的数据,可以是Java对象、Map或者其他集合类型。例如,你可以创建一个包含多个元素的列表,每个元素都有属性如`name...
JavaBean规范包括以下几个要点: 1. 类必须是public的。 2. 类应有一个无参数的构造函数,通常是public的。 3. 属性应为私有(private),并且每个属性都有对应的getter和setter方法。 4. 类通常遵循命名约定,例如...
我们可以 hook 一下这个方法,然后我们去操作生成二维码,调用的时候反射打印一下这个几个值,看看有没有规律可循。 四、CollectCreateQRCodeUI 页面分析 这个页面,最主要还是要关注那个【确定】按钮点击后的逻辑...
总结一下,这个项目涉及到了以下几个知识点: 1. JSON:数据交换格式,易于阅读和编写,被广泛应用于Web服务。 2. JSON Generator:一个在线工具,用于生成动态的JSON数据。 3. 数据模拟:使用JSON生成器创建模拟的...
在开始之前,我们需要了解以下几个基础概念: - **`java.util.Random`类**:Java中的`Random`类提供了一种方式来生成伪随机数。 - **ASCII码表**:字符在计算机中是以ASCII码的形式存储的,不同的数字对应着不同的...
生成汉字的过程通常涉及到以下几个步骤: 1. **字符编码**:汉字在计算机中通常以Unicode或GBK等编码表示。Unicode中的汉字范围大致在 `\u4e00` 到 `\u9fff` 之间,包含了大部分常用汉字。 2. **指定字符范围**:...
在JAVA中,生成MD5校验码涉及到以下几个关键知识点: 1. **`java.security.MessageDigest` 类**:这是Java标准库提供的一个类,用于实现各种散列算法,包括MD5。通过`getInstance("MD5")`方法可以获得MD5的实例。 ...
并填充了10万条数据,每条数据包括一个递增的ID(id)、一个按秒递增的日期时间(inc_datetime)、一个0到100之间的随机整数(random_id)和一个长度为20的随机字符串(random_string)。 ### 总结 通过巧妙地组合...
利用Python的string与random两个库,来生成一串由大小写字母和!@#$%^&*八个特殊字符,还有数字随机组合而成的随机密码。 需要的函数和操作 所需要的函数有以下几项: random.sample(随机获取一个片段) string....
生成JavaBean的过程通常包括以下几个步骤: 1. 数据库连接:首先,工具需要连接到指定的数据库,获取表的信息,如表名、字段名、字段类型等。 2. 字段映射:然后,工具将数据库中的字段映射为JavaBean的属性,例如...
在提供的文件列表中,我们看到以下几个关键文件: 1. `frmMain.frm`: 这是VB中的窗体文件,包含了主界面的设计和相关代码,可能包含条形码生成器的用户界面元素。 2. `demo.jpg`: 这可能是一个示例条形码的图像,...
在C#中实现这个工具时,我们需要考虑以下几个关键点: 1. **字符集定义**:确定字符串可能包含的字符,比如只包含小写字母、大小写字母、数字,或者包含特殊字符。 2. **字符串长度**:设置生成的随机字符串的固定...
这个数据集是为中文字符识别任务而生成的,由大量人工合成的中文字符串组成。这些字符串涵盖了广泛的汉字和组合,旨在模拟真实世界中的各种书写风格和环境,包括清晰度、倾斜、变形等复杂情况。这样的设计使得模型在...