File tree Expand file tree Collapse file tree 6 files changed +35
-10
lines changed
Expand file tree Collapse file tree 6 files changed +35
-10
lines changed Original file line number Diff line number Diff line change 1+ public class AnalysisForList {
2+
3+ private int [] array = new int [] {1 ,2 ,3 };
4+
5+ public void testFor () {
6+ for (int i : array ) {
7+ System .out .println (i );
8+ }
9+ }
10+
11+ public void testForIndex () {
12+ for (int i =0 ;i <array .length ;i ++) {
13+ System .out .println (array [i ]);
14+ }
15+ }
16+
17+ public void testForIndex01 () {
18+ int len = array .length ;
19+ for (int i =0 ;i <len ;i ++) {
20+ System .out .println (array [i ]);
21+ }
22+ }
23+
24+ }
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -11,12 +11,13 @@ public class XlassLoader extends ClassLoader {
1111
1212 public static void main (String [] args ) throws Exception {
1313 // 相关参数
14+ final String packageName = "lib" ;
1415 final String className = "Hello" ;
1516 final String methodName = "hello" ;
1617 // 创建类加载器
1718 ClassLoader classLoader = new XlassLoader ();
1819 // 加载相应的类
19- Class <?> clazz = classLoader .loadClass (className );
20+ Class <?> clazz = classLoader .loadClass (packageName + "." + className );
2021 // 看看里面有些什么方法
2122 for (Method m : clazz .getDeclaredMethods ()) {
2223 System .out .println (clazz .getSimpleName () + "." + m .getName ());
Original file line number Diff line number Diff line change 44// static {
55// System.out.println("Hello Class Initialized!");
66// }
7- // public static void main(String[] args ) {
8- //
7+ // public void hello( ) {
8+ // System.out.println("Hello class say hello method.");
99// }
1010//
1111//}
Original file line number Diff line number Diff line change 1+ 5EA������������������������������������Ö��������֩��������������������������������Ü���������������������������ѕ������������������ⷚ���ߜ����ߌ��ߗ����ߒ����������������線�������߶�����������������з��������Г���а���������Г���Ь�������������곕���Ж�Я�������������앞��Ж�Я�����������������������׳����Г���Ь������֩�����������������������������������H��N��������������������������������������M����I��N������������������������������������������M����I��N������������������������������
Original file line number Diff line number Diff line change 88
99> Week01 作业题目:
1010
11- 1.(选做 )自己写一个简单的 HelloNum.java,里面需要涉及基本类型,四则运行,if 和 for,然后自己分析一下对应的字节码,有问题群里讨论。
11+ 1.(必做 )自己写一个简单的 HelloNum.java,里面需要涉及基本类型,四则运行,if 和 for,然后自己分析一下对应的字节码,有问题群里讨论。
1212
13- 2.(必做)自定义一个 Classloader,加载一个 HelloNum .xlass 文件,执行 hello 方法,此文件内容是一个 HelloNum .class 文件所有字节(x=255-x)处理后的文件。文件群里提供。
13+ 2.(必做)自定义一个 Classloader,加载一个 Hello .xlass 文件,执行 hello 方法,此文件内容是一个 Hello .class 文件所有字节(x=255-x)处理后的文件。文件群里提供。
1414
15153.(必做)画一张图,展示 Xmx、Xms、Xmn、Meta、DirectMemory、Xss 这些内存参数的关系。
1616
2525## 操作步骤
2626
2727
28- ### 作业1(选做 )
28+ ### 作业1(必做 )
2929
30- 1 . 编写代码, 根据自己的意愿随意编写, 可参考: [ HelloNum.java] ( ./Hello .java )
30+ 1 . 编写代码, 根据自己的意愿随意编写, 可参考: [ HelloNum.java] ( ./HelloNum .java )
31312 . 编译代码, 执行命令: ` javac -g HelloNum.java `
32323 . 查看反编译的代码。
33- - 3.1 可以安装并使用idea的jclasslib插件, 选中 [ HelloNum.java] ( ./Hello .java ) 文件, 选择 ` View --> Show Bytecode With jclasslib ` 即可。
33+ - 3.1 可以安装并使用idea的jclasslib插件, 选中 [ HelloNum.java] ( ./HelloNum .java ) 文件, 选择 ` View --> Show Bytecode With jclasslib ` 即可。
3434 - 3.2 或者直接通过命令行工具 javap, 执行命令: ` javap -v HelloNum.class `
35354 . 分析相关的字节码。【此步骤需要各位同学自己进行分析】
3636
41412 . 找到 Projects --> Spring Initializr: https://start.spring.io/
42423 . 填写项目信息, 生成 maven 项目; 下载并解压。
43434 . Idea或者Eclipse从已有的Source导入Maven项目。
44- 5 . 从课件资料中找到资源 HelloNum .xlass 文件并复制到 src/main/resources 目录。
44+ 5 . 从课件资料中找到资源 Hello .xlass 文件并复制到 src/main/resources 目录。
45456 . 编写代码,实现 findClass 方法,以及对应的解码方法
46467 . 编写main方法,调用 loadClass 方法;
47478 . 创建实例,以及调用方法
You can’t perform that action at this time.
0 commit comments