Skip to content

Commit 76b3896

Browse files
committed
add homework 0326-1
1 parent 398363a commit 76b3896

File tree

2 files changed

+139
-39
lines changed

2 files changed

+139
-39
lines changed

group17/1204187480/code/homework/coderising/src/main/java/com/coderising/jvm/loader/ClassFileLoader.java

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,42 @@
11
package com.coderising.jvm.loader;
22

3+
import org.apache.commons.lang3.StringUtils;
4+
5+
import java.util.HashSet;
6+
import java.util.Set;
7+
38
/**
49
* Created by luoziyihao on 4/27/17.
510
*/
611
public class ClassFileLoader {
12+
13+
private Set<String> clzPaths;
14+
715
public void addClassPath(String path) {
16+
if (clzPaths == null) {
17+
clzPaths = new HashSet<>(5);
18+
}
19+
if (StringUtils.isBlank(path)) {
20+
return;
21+
}
22+
clzPaths.add(path);
823

924
}
1025

1126

27+
private static final String SPLIT = ";";
28+
1229
public String getClassPath() {
13-
return null;
30+
StringBuilder classPath = new StringBuilder();
31+
32+
for (String e : clzPaths) {
33+
classPath.append(e)
34+
.append(SPLIT);
35+
}
36+
if (classPath.length() > 1) {
37+
classPath.deleteCharAt(classPath.length() - 1);
38+
}
39+
return classPath.toString();
1440
}
1541

1642
public byte[] readBinaryCode(String className) {

group17/1204187480/code/homework/parent/pom.xml

Lines changed: 112 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,66 @@
88
<version>1.0-SNAPSHOT</version>
99
<url>https://github.com/luoziyihao/coding2017</url>
1010

11+
<pluginRepositories>
12+
<pluginRepository>
13+
<id>alimaven</id>
14+
<name>aliyun maven</name>
15+
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
16+
<releases>
17+
<enabled>true</enabled>
18+
</releases>
19+
<snapshots>
20+
<enabled>true</enabled>
21+
</snapshots>
22+
</pluginRepository>
23+
</pluginRepositories>
24+
<repositories>
25+
<repository>
26+
<id>alimaven</id>
27+
<name>aliyun maven</name>
28+
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
29+
<releases>
30+
<enabled>true</enabled>
31+
</releases>
32+
<snapshots>
33+
<enabled>true</enabled>
34+
</snapshots>
35+
</repository>
36+
<repository>
37+
<id>spring-snapshots</id>
38+
<name>Spring Snapshots</name>
39+
<url>https://repo.spring.io/libs-snapshot</url>
40+
<snapshots>
41+
<enabled>true</enabled>
42+
</snapshots>
43+
</repository>
44+
</repositories>
45+
46+
1147
<properties>
12-
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
1348
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1449
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
15-
<jdk.version>1.8</jdk.version>
50+
<java.version>1.8</java.version>
51+
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
1652
<maven.compiler.source>1.8</maven.compiler.source>
1753
<maven.compiler.target>1.8</maven.compiler.target>
1854
<maven-compiler-plugin.version>3.0</maven-compiler-plugin.version>
55+
<logback.version>1.1.7</logback.version>
1956
<logback-classic.version>1.1.7</logback-classic.version>
2057
<commons-logging.version>1.2</commons-logging.version>
2158
<log4j.version>1.2.17</log4j.version>
2259
<junit.version>4.12</junit.version>
60+
<commons-lang3.version>3.4</commons-lang3.version>
61+
<commons-collections4.version>4.1</commons-collections4.version>
62+
<commons-io.version>2.5</commons-io.version>
63+
<commons-beanutils.version>1.9.2</commons-beanutils.version>
64+
<guava.version>19.0</guava.version>
65+
<rxjava.version>1.1.6</rxjava.version>
66+
<lombok.version>1.16.10</lombok.version>
67+
<fastjson.version>1.2.22</fastjson.version>
68+
<strman.version>0.2.0</strman.version>
69+
<joda-time.version>2.9.4</joda-time.version>
70+
2371
</properties>
2472

2573
<dependencies>
@@ -41,6 +89,59 @@
4189
<version>${log4j.version}</version>
4290
</dependency>
4391
<!-- 配置所有依赖库的日志依赖 end-->
92+
<!-- utils 相关jar包 start -->
93+
<dependency>
94+
<groupId>org.apache.commons</groupId>
95+
<artifactId>commons-lang3</artifactId>
96+
<version>${commons-lang3.version}</version>
97+
</dependency>
98+
<dependency>
99+
<groupId>org.apache.commons</groupId>
100+
<artifactId>commons-collections4</artifactId>
101+
<version>${commons-collections4.version}</version>
102+
</dependency>
103+
<dependency>
104+
<groupId>commons-io</groupId>
105+
<artifactId>commons-io</artifactId>
106+
<version>${commons-io.version}</version>
107+
</dependency>
108+
<dependency>
109+
<groupId>commons-beanutils</groupId>
110+
<artifactId>commons-beanutils</artifactId>
111+
<version>${commons-beanutils.version}</version>
112+
</dependency>
113+
<dependency>
114+
<groupId>com.google.guava</groupId>
115+
<artifactId>guava</artifactId>
116+
<version>${guava.version}</version>
117+
</dependency>
118+
<dependency>
119+
<groupId>org.projectlombok</groupId>
120+
<artifactId>lombok</artifactId>
121+
<version>${lombok.version}</version>
122+
</dependency>
123+
<dependency>
124+
<groupId>joda-time</groupId>
125+
<artifactId>joda-time</artifactId>
126+
<version>${joda-time.version}</version>
127+
</dependency>
128+
<dependency>
129+
<groupId>io.reactivex</groupId>
130+
<artifactId>rxjava</artifactId>
131+
<version>${rxjava.version}</version>
132+
</dependency>
133+
<dependency>
134+
<groupId>com.alibaba</groupId>
135+
<artifactId>fastjson</artifactId>
136+
<version>${fastjson.version}</version>
137+
</dependency>
138+
<dependency>
139+
<groupId>com.shekhargulati</groupId>
140+
<artifactId>strman</artifactId>
141+
<version>${strman.version}</version>
142+
</dependency>
143+
<!-- utils 相关jar包 end -->
144+
44145
<!-- 测试 -->
45146
<dependency>
46147
<groupId>junit</groupId>
@@ -49,33 +150,6 @@
49150
</dependency>
50151
</dependencies>
51152

52-
<pluginRepositories>
53-
<pluginRepository>
54-
<id>alimaven</id>
55-
<name>aliyun maven</name>
56-
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
57-
<releases>
58-
<enabled>true</enabled>
59-
</releases>
60-
<snapshots>
61-
<enabled>true</enabled>
62-
</snapshots>
63-
</pluginRepository>
64-
</pluginRepositories>
65-
<repositories>
66-
<repository>
67-
<id>alimaven</id>
68-
<name>aliyun maven</name>
69-
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
70-
<releases>
71-
<enabled>true</enabled>
72-
</releases>
73-
<snapshots>
74-
<enabled>true</enabled>
75-
</snapshots>
76-
</repository>
77-
</repositories>
78-
79153
<build>
80154
<finalName>${project.artifactId}</finalName>
81155
<plugins>
@@ -92,13 +166,13 @@
92166
</plugins>
93167
</build>
94168

95-
<reporting>
96-
<plugins>
97-
<plugin>
98-
<groupId>org.apache.maven.plugins</groupId>
99-
<artifactId>maven-surefire-report-plugin</artifactId>
100-
<version>2.19.1</version>
101-
</plugin>
102-
</plugins>
103-
</reporting>
169+
<!--<reporting>-->
170+
<!--<plugins>-->
171+
<!--<plugin>-->
172+
<!--<groupId>org.apache.maven.plugins</groupId>-->
173+
<!--<artifactId>maven-surefire-report-plugin</artifactId>-->
174+
<!--<version>2.19.1</version>-->
175+
<!--</plugin>-->
176+
<!--</plugins>-->
177+
<!--</reporting>-->
104178
</project>

0 commit comments

Comments
 (0)