Skip to content

Instantly share code, notes, and snippets.

@caorong
Created May 18, 2019 13:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save caorong/6b73ffe82c15c4570e33d648323dd1f2 to your computer and use it in GitHub Desktop.
Save caorong/6b73ffe82c15c4570e33d648323dd1f2 to your computer and use it in GitHub Desktop.
ClassLoader Leak Example
// modify from https://gist.github.com/dpryden/b2bb29ee2d146901b4ae
import java.io.IOException;
import java.lang.management.ManagementFactory;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
/**
* @author caorong
*/
public final class ClassLoaderLeakExample {
public static final String PID = ManagementFactory.getRuntimeMXBean().getName().split("@")[0];
static volatile boolean running = true;
public static void main(String[] args) throws Exception {
for (int i = 0; i < 10; i++) {
System.out.println("=========================" + PID);
}
Thread.sleep(1000 * 8);
Thread thread = new LongRunningThread();
try {
thread.start();
System.out.println("Running, press any key to stop.");
System.in.read();
} finally {
running = false;
thread.join();
}
}
/**
* Implementation of the thread. It just calls {@link #loadAndDiscard()}
* in a loop.
*/
static final class LongRunningThread extends Thread {
@Override public void run() {
while(running) {
try {
loadAndDiscard();
} catch (Throwable ex) {
ex.printStackTrace();
}
try {
Thread.sleep(60);
} catch (InterruptedException ex) {
System.out.println("Caught InterruptedException, shutting down.");
running = false;
}
}
}
}
/**
* A simple ClassLoader implementation that is only able to load one
* class, the LoadedInChildClassLoader class. We have to jump through
* some hoops here because we explicitly want to ensure we get a new
* class each time (instead of reusing the class loaded by the system
* class loader). If this child class were in a JAR file that wasn't
* part of the system classpath, we wouldn't need this mechanism.
*/
static final class ChildOnlyClassLoader extends ClassLoader {
ChildOnlyClassLoader() {
super(ClassLoaderLeakExample.class.getClassLoader());
}
@Override protected Class<?> loadClass(String name, boolean resolve)
throws ClassNotFoundException {
if (!ExampleClz.class.getName().equals(name)) {
return super.loadClass(name, resolve);
}
try {
Path path = Paths.get("/Users/caorong/Documents/workspace_java/tester/target/classes",ExampleClz.class.getName()
+ ".class");
byte[] classBytes = Files.readAllBytes(path);
Class<?> c = defineClass(name, classBytes, 0, classBytes.length);
if (resolve) {
resolveClass(c);
}
return c;
} catch (IOException ex) {
throw new ClassNotFoundException("Could not load " + name, ex);
}
}
}
/**
* Helper method that constructs a new ClassLoader, loads a single class,
* and then discards any reference to them. Theoretically, there should
* be no GC impact, since no references can escape this method! But in
* practice this will leak memory like a sieve.
*/
static ArrayList<ClassLoader> childClassLoaders = new ArrayList<ClassLoader>(33333);
static void loadAndDiscard() throws Exception {
ClassLoader childClassLoader = new ChildOnlyClassLoader();
childClassLoaders.add(childClassLoader);
Class<?> childClass = Class.forName(
ExampleClz.class.getName(), true, childClassLoader);
childClass.newInstance();
// When this method returns, there will be no way to reference
// childClassLoader or childClass at all, but they will still be
// rooted for GC purposes!
}
}
/**
* @author caorong
*/
public class ExampleClz {
private static final int x0=0;
private static final int x1=100;
private static final int x2=200;
private static final int x3=300;
private static final int x4=400;
private static final int x5=500;
private static final int x6=600;
private static final int x7=700;
private static final int x8=800;
private static final int x9=900;
private static final int x10=1000;
private static final int x11=1100;
private static final int x12=1200;
private static final int x13=1300;
private static final int x14=1400;
private static final int x15=1500;
private static final int x16=1600;
private static final int x17=1700;
private static final int x18=1800;
private static final int x19=1900;
private static final int x20=2000;
private static final int x21=2100;
private static final int x22=2200;
private static final int x23=2300;
private static final int x24=2400;
private static final int x25=2500;
private static final int x26=2600;
private static final int x27=2700;
private static final int x28=2800;
private static final int x29=2900;
private static final int x30=3000;
private static final int x31=3100;
private static final int x32=3200;
private static final int x33=3300;
private static final int x34=3400;
private static final int x35=3500;
private static final int x36=3600;
private static final int x37=3700;
private static final int x38=3800;
private static final int x39=3900;
private static final int x40=4000;
private static final int x41=4100;
private static final int x42=4200;
private static final int x43=4300;
private static final int x44=4400;
private static final int x45=4500;
private static final int x46=4600;
private static final int x47=4700;
private static final int x48=4800;
private static final int x49=4900;
private static final int x50=5000;
private static final int x51=5100;
private static final int x52=5200;
private static final int x53=5300;
private static final int x54=5400;
private static final int x55=5500;
private static final int x56=5600;
private static final int x57=5700;
private static final int x58=5800;
private static final int x59=5900;
private static final int x60=6000;
private static final int x61=6100;
private static final int x62=6200;
private static final int x63=6300;
private static final int x64=6400;
private static final int x65=6500;
private static final int x66=6600;
private static final int x67=6700;
private static final int x68=6800;
private static final int x69=6900;
private static final int x70=7000;
private static final int x71=7100;
private static final int x72=7200;
private static final int x73=7300;
private static final int x74=7400;
private static final int x75=7500;
private static final int x76=7600;
private static final int x77=7700;
private static final int x78=7800;
private static final int x79=7900;
private static final int x80=8000;
private static final int x81=8100;
private static final int x82=8200;
private static final int x83=8300;
private static final int x84=8400;
private static final int x85=8500;
private static final int x86=8600;
private static final int x87=8700;
private static final int x88=8800;
private static final int x89=8900;
private static final int x90=9000;
private static final int x91=9100;
private static final int x92=9200;
private static final int x93=9300;
private static final int x94=9400;
private static final int x95=9500;
private static final int x96=9600;
private static final int x97=9700;
private static final int x98=9800;
private static final int x99=9900;
private static final int x100=10000;
private static final int x101=10100;
private static final int x102=10200;
private static final int x103=10300;
private static final int x104=10400;
private static final int x105=10500;
private static final int x106=10600;
private static final int x107=10700;
private static final int x108=10800;
private static final int x109=10900;
private static final int x110=11000;
private static final int x111=11100;
private static final int x112=11200;
private static final int x113=11300;
private static final int x114=11400;
private static final int x115=11500;
private static final int x116=11600;
private static final int x117=11700;
private static final int x118=11800;
private static final int x119=11900;
private static final int x120=12000;
private static final int x121=12100;
private static final int x122=12200;
private static final int x123=12300;
private static final int x124=12400;
private static final int x125=12500;
private static final int x126=12600;
private static final int x127=12700;
private static final int x128=12800;
private static final int x129=12900;
private static final int x130=13000;
private static final int x131=13100;
private static final int x132=13200;
private static final int x133=13300;
private static final int x134=13400;
private static final int x135=13500;
private static final int x136=13600;
private static final int x137=13700;
private static final int x138=13800;
private static final int x139=13900;
private static final int x140=14000;
private static final int x141=14100;
private static final int x142=14200;
private static final int x143=14300;
private static final int x144=14400;
private static final int x145=14500;
private static final int x146=14600;
private static final int x147=14700;
private static final int x148=14800;
private static final int x149=14900;
private static final int x150=15000;
private static final int x151=15100;
private static final int x152=15200;
private static final int x153=15300;
private static final int x154=15400;
private static final int x155=15500;
private static final int x156=15600;
private static final int x157=15700;
private static final int x158=15800;
private static final int x159=15900;
private static final int x160=16000;
private static final int x161=16100;
private static final int x162=16200;
private static final int x163=16300;
private static final int x164=16400;
private static final int x165=16500;
private static final int x166=16600;
private static final int x167=16700;
private static final int x168=16800;
private static final int x169=16900;
private static final int x170=17000;
private static final int x171=17100;
private static final int x172=17200;
private static final int x173=17300;
private static final int x174=17400;
private static final int x175=17500;
private static final int x176=17600;
private static final int x177=17700;
private static final int x178=17800;
private static final int x179=17900;
private static final int x180=18000;
private static final int x181=18100;
private static final int x182=18200;
private static final int x183=18300;
private static final int x184=18400;
private static final int x185=18500;
private static final int x186=18600;
private static final int x187=18700;
private static final int x188=18800;
private static final int x189=18900;
private static final int x190=19000;
private static final int x191=19100;
private static final int x192=19200;
private static final int x193=19300;
private static final int x194=19400;
private static final int x195=19500;
private static final int x196=19600;
private static final int x197=19700;
private static final int x198=19800;
private static final int x199=19900;
private static final int x200=20000;
private static final int x201=20100;
private static final int x202=20200;
private static final int x203=20300;
private static final int x204=20400;
private static final int x205=20500;
private static final int x206=20600;
private static final int x207=20700;
private static final int x208=20800;
private static final int x209=20900;
private static final int x210=21000;
private static final int x211=21100;
private static final int x212=21200;
private static final int x213=21300;
private static final int x214=21400;
private static final int x215=21500;
private static final int x216=21600;
private static final int x217=21700;
private static final int x218=21800;
private static final int x219=21900;
private static final int x220=22000;
private static final int x221=22100;
private static final int x222=22200;
private static final int x223=22300;
private static final int x224=22400;
private static final int x225=22500;
private static final int x226=22600;
private static final int x227=22700;
private static final int x228=22800;
private static final int x229=22900;
private static final int x230=23000;
private static final int x231=23100;
private static final int x232=23200;
private static final int x233=23300;
private static final int x234=23400;
private static final int x235=23500;
private static final int x236=23600;
private static final int x237=23700;
private static final int x238=23800;
private static final int x239=23900;
private static final int x240=24000;
private static final int x241=24100;
private static final int x242=24200;
private static final int x243=24300;
private static final int x244=24400;
private static final int x245=24500;
private static final int x246=24600;
private static final int x247=24700;
private static final int x248=24800;
private static final int x249=24900;
private static final int x250=25000;
private static final int x251=25100;
private static final int x252=25200;
private static final int x253=25300;
private static final int x254=25400;
private static final int x255=25500;
private static final int x256=25600;
private static final int x257=25700;
private static final int x258=25800;
private static final int x259=25900;
private static final int x260=26000;
private static final int x261=26100;
private static final int x262=26200;
private static final int x263=26300;
private static final int x264=26400;
private static final int x265=26500;
private static final int x266=26600;
private static final int x267=26700;
private static final int x268=26800;
private static final int x269=26900;
private static final int x270=27000;
private static final int x271=27100;
private static final int x272=27200;
private static final int x273=27300;
private static final int x274=27400;
private static final int x275=27500;
private static final int x276=27600;
private static final int x277=27700;
private static final int x278=27800;
private static final int x279=27900;
private static final int x280=28000;
private static final int x281=28100;
private static final int x282=28200;
private static final int x283=28300;
private static final int x284=28400;
private static final int x285=28500;
private static final int x286=28600;
private static final int x287=28700;
private static final int x288=28800;
private static final int x289=28900;
private static final int x290=29000;
private static final int x291=29100;
private static final int x292=29200;
private static final int x293=29300;
private static final int x294=29400;
private static final int x295=29500;
private static final int x296=29600;
private static final int x297=29700;
private static final int x298=29800;
private static final int x299=29900;
public String echo0(String echo) {
return echo;
}
public String echo1(String echo) {
return echo;
}
public String echo2(String echo) {
return echo;
}
public String echo3(String echo) {
return echo;
}
public String echo4(String echo) {
return echo;
}
public String echo5(String echo) {
return echo;
}
public String echo6(String echo) {
return echo;
}
public String echo7(String echo) {
return echo;
}
public String echo8(String echo) {
return echo;
}
public String echo9(String echo) {
return echo;
}
public String echo10(String echo) {
return echo;
}
public String echo11(String echo) {
return echo;
}
public String echo12(String echo) {
return echo;
}
public String echo13(String echo) {
return echo;
}
public String echo14(String echo) {
return echo;
}
public String echo15(String echo) {
return echo;
}
public String echo16(String echo) {
return echo;
}
public String echo17(String echo) {
return echo;
}
public String echo18(String echo) {
return echo;
}
public String echo19(String echo) {
return echo;
}
public String echo20(String echo) {
return echo;
}
public String echo21(String echo) {
return echo;
}
public String echo22(String echo) {
return echo;
}
public String echo23(String echo) {
return echo;
}
public String echo24(String echo) {
return echo;
}
public String echo25(String echo) {
return echo;
}
public String echo26(String echo) {
return echo;
}
public String echo27(String echo) {
return echo;
}
public String echo28(String echo) {
return echo;
}
public String echo29(String echo) {
return echo;
}
public String echo30(String echo) {
return echo;
}
public String echo31(String echo) {
return echo;
}
public String echo32(String echo) {
return echo;
}
public String echo33(String echo) {
return echo;
}
public String echo34(String echo) {
return echo;
}
public String echo35(String echo) {
return echo;
}
public String echo36(String echo) {
return echo;
}
public String echo37(String echo) {
return echo;
}
public String echo38(String echo) {
return echo;
}
public String echo39(String echo) {
return echo;
}
public String echo40(String echo) {
return echo;
}
public String echo41(String echo) {
return echo;
}
public String echo42(String echo) {
return echo;
}
public String echo43(String echo) {
return echo;
}
public String echo44(String echo) {
return echo;
}
public String echo45(String echo) {
return echo;
}
public String echo46(String echo) {
return echo;
}
public String echo47(String echo) {
return echo;
}
public String echo48(String echo) {
return echo;
}
public String echo49(String echo) {
return echo;
}
public String echo50(String echo) {
return echo;
}
public String echo51(String echo) {
return echo;
}
public String echo52(String echo) {
return echo;
}
public String echo53(String echo) {
return echo;
}
public String echo54(String echo) {
return echo;
}
public String echo55(String echo) {
return echo;
}
public String echo56(String echo) {
return echo;
}
public String echo57(String echo) {
return echo;
}
public String echo58(String echo) {
return echo;
}
public String echo59(String echo) {
return echo;
}
public String echo60(String echo) {
return echo;
}
public String echo61(String echo) {
return echo;
}
public String echo62(String echo) {
return echo;
}
public String echo63(String echo) {
return echo;
}
public String echo64(String echo) {
return echo;
}
public String echo65(String echo) {
return echo;
}
public String echo66(String echo) {
return echo;
}
public String echo67(String echo) {
return echo;
}
public String echo68(String echo) {
return echo;
}
public String echo69(String echo) {
return echo;
}
public String echo70(String echo) {
return echo;
}
public String echo71(String echo) {
return echo;
}
public String echo72(String echo) {
return echo;
}
public String echo73(String echo) {
return echo;
}
public String echo74(String echo) {
return echo;
}
public String echo75(String echo) {
return echo;
}
public String echo76(String echo) {
return echo;
}
public String echo77(String echo) {
return echo;
}
public String echo78(String echo) {
return echo;
}
public String echo79(String echo) {
return echo;
}
public String echo80(String echo) {
return echo;
}
public String echo81(String echo) {
return echo;
}
public String echo82(String echo) {
return echo;
}
public String echo83(String echo) {
return echo;
}
public String echo84(String echo) {
return echo;
}
public String echo85(String echo) {
return echo;
}
public String echo86(String echo) {
return echo;
}
public String echo87(String echo) {
return echo;
}
public String echo88(String echo) {
return echo;
}
public String echo89(String echo) {
return echo;
}
public String echo90(String echo) {
return echo;
}
public String echo91(String echo) {
return echo;
}
public String echo92(String echo) {
return echo;
}
public String echo93(String echo) {
return echo;
}
public String echo94(String echo) {
return echo;
}
public String echo95(String echo) {
return echo;
}
public String echo96(String echo) {
return echo;
}
public String echo97(String echo) {
return echo;
}
public String echo98(String echo) {
return echo;
}
public String echo99(String echo) {
return echo;
}
public String echo100(String echo) {
return echo;
}
public String echo101(String echo) {
return echo;
}
public String echo102(String echo) {
return echo;
}
public String echo103(String echo) {
return echo;
}
public String echo104(String echo) {
return echo;
}
public String echo105(String echo) {
return echo;
}
public String echo106(String echo) {
return echo;
}
public String echo107(String echo) {
return echo;
}
public String echo108(String echo) {
return echo;
}
public String echo109(String echo) {
return echo;
}
public String echo110(String echo) {
return echo;
}
public String echo111(String echo) {
return echo;
}
public String echo112(String echo) {
return echo;
}
public String echo113(String echo) {
return echo;
}
public String echo114(String echo) {
return echo;
}
public String echo115(String echo) {
return echo;
}
public String echo116(String echo) {
return echo;
}
public String echo117(String echo) {
return echo;
}
public String echo118(String echo) {
return echo;
}
public String echo119(String echo) {
return echo;
}
public String echo120(String echo) {
return echo;
}
public String echo121(String echo) {
return echo;
}
public String echo122(String echo) {
return echo;
}
public String echo123(String echo) {
return echo;
}
public String echo124(String echo) {
return echo;
}
public String echo125(String echo) {
return echo;
}
public String echo126(String echo) {
return echo;
}
public String echo127(String echo) {
return echo;
}
public String echo128(String echo) {
return echo;
}
public String echo129(String echo) {
return echo;
}
public String echo130(String echo) {
return echo;
}
public String echo131(String echo) {
return echo;
}
public String echo132(String echo) {
return echo;
}
public String echo133(String echo) {
return echo;
}
public String echo134(String echo) {
return echo;
}
public String echo135(String echo) {
return echo;
}
public String echo136(String echo) {
return echo;
}
public String echo137(String echo) {
return echo;
}
public String echo138(String echo) {
return echo;
}
public String echo139(String echo) {
return echo;
}
public String echo140(String echo) {
return echo;
}
public String echo141(String echo) {
return echo;
}
public String echo142(String echo) {
return echo;
}
public String echo143(String echo) {
return echo;
}
public String echo144(String echo) {
return echo;
}
public String echo145(String echo) {
return echo;
}
public String echo146(String echo) {
return echo;
}
public String echo147(String echo) {
return echo;
}
public String echo148(String echo) {
return echo;
}
public String echo149(String echo) {
return echo;
}
public String echo150(String echo) {
return echo;
}
public String echo151(String echo) {
return echo;
}
public String echo152(String echo) {
return echo;
}
public String echo153(String echo) {
return echo;
}
public String echo154(String echo) {
return echo;
}
public String echo155(String echo) {
return echo;
}
public String echo156(String echo) {
return echo;
}
public String echo157(String echo) {
return echo;
}
public String echo158(String echo) {
return echo;
}
public String echo159(String echo) {
return echo;
}
public String echo160(String echo) {
return echo;
}
public String echo161(String echo) {
return echo;
}
public String echo162(String echo) {
return echo;
}
public String echo163(String echo) {
return echo;
}
public String echo164(String echo) {
return echo;
}
public String echo165(String echo) {
return echo;
}
public String echo166(String echo) {
return echo;
}
public String echo167(String echo) {
return echo;
}
public String echo168(String echo) {
return echo;
}
public String echo169(String echo) {
return echo;
}
public String echo170(String echo) {
return echo;
}
public String echo171(String echo) {
return echo;
}
public String echo172(String echo) {
return echo;
}
public String echo173(String echo) {
return echo;
}
public String echo174(String echo) {
return echo;
}
public String echo175(String echo) {
return echo;
}
public String echo176(String echo) {
return echo;
}
public String echo177(String echo) {
return echo;
}
public String echo178(String echo) {
return echo;
}
public String echo179(String echo) {
return echo;
}
public String echo180(String echo) {
return echo;
}
public String echo181(String echo) {
return echo;
}
public String echo182(String echo) {
return echo;
}
public String echo183(String echo) {
return echo;
}
public String echo184(String echo) {
return echo;
}
public String echo185(String echo) {
return echo;
}
public String echo186(String echo) {
return echo;
}
public String echo187(String echo) {
return echo;
}
public String echo188(String echo) {
return echo;
}
public String echo189(String echo) {
return echo;
}
public String echo190(String echo) {
return echo;
}
public String echo191(String echo) {
return echo;
}
public String echo192(String echo) {
return echo;
}
public String echo193(String echo) {
return echo;
}
public String echo194(String echo) {
return echo;
}
public String echo195(String echo) {
return echo;
}
public String echo196(String echo) {
return echo;
}
public String echo197(String echo) {
return echo;
}
public String echo198(String echo) {
return echo;
}
public String echo199(String echo) {
return echo;
}
public String echo200(String echo) {
return echo;
}
public String echo201(String echo) {
return echo;
}
public String echo202(String echo) {
return echo;
}
public String echo203(String echo) {
return echo;
}
public String echo204(String echo) {
return echo;
}
public String echo205(String echo) {
return echo;
}
public String echo206(String echo) {
return echo;
}
public String echo207(String echo) {
return echo;
}
public String echo208(String echo) {
return echo;
}
public String echo209(String echo) {
return echo;
}
public String echo210(String echo) {
return echo;
}
public String echo211(String echo) {
return echo;
}
public String echo212(String echo) {
return echo;
}
public String echo213(String echo) {
return echo;
}
public String echo214(String echo) {
return echo;
}
public String echo215(String echo) {
return echo;
}
public String echo216(String echo) {
return echo;
}
public String echo217(String echo) {
return echo;
}
public String echo218(String echo) {
return echo;
}
public String echo219(String echo) {
return echo;
}
public String echo220(String echo) {
return echo;
}
public String echo221(String echo) {
return echo;
}
public String echo222(String echo) {
return echo;
}
public String echo223(String echo) {
return echo;
}
public String echo224(String echo) {
return echo;
}
public String echo225(String echo) {
return echo;
}
public String echo226(String echo) {
return echo;
}
public String echo227(String echo) {
return echo;
}
public String echo228(String echo) {
return echo;
}
public String echo229(String echo) {
return echo;
}
public String echo230(String echo) {
return echo;
}
public String echo231(String echo) {
return echo;
}
public String echo232(String echo) {
return echo;
}
public String echo233(String echo) {
return echo;
}
public String echo234(String echo) {
return echo;
}
public String echo235(String echo) {
return echo;
}
public String echo236(String echo) {
return echo;
}
public String echo237(String echo) {
return echo;
}
public String echo238(String echo) {
return echo;
}
public String echo239(String echo) {
return echo;
}
public String echo240(String echo) {
return echo;
}
public String echo241(String echo) {
return echo;
}
public String echo242(String echo) {
return echo;
}
public String echo243(String echo) {
return echo;
}
public String echo244(String echo) {
return echo;
}
public String echo245(String echo) {
return echo;
}
public String echo246(String echo) {
return echo;
}
public String echo247(String echo) {
return echo;
}
public String echo248(String echo) {
return echo;
}
public String echo249(String echo) {
return echo;
}
public String echo250(String echo) {
return echo;
}
public String echo251(String echo) {
return echo;
}
public String echo252(String echo) {
return echo;
}
public String echo253(String echo) {
return echo;
}
public String echo254(String echo) {
return echo;
}
public String echo255(String echo) {
return echo;
}
public String echo256(String echo) {
return echo;
}
public String echo257(String echo) {
return echo;
}
public String echo258(String echo) {
return echo;
}
public String echo259(String echo) {
return echo;
}
public String echo260(String echo) {
return echo;
}
public String echo261(String echo) {
return echo;
}
public String echo262(String echo) {
return echo;
}
public String echo263(String echo) {
return echo;
}
public String echo264(String echo) {
return echo;
}
public String echo265(String echo) {
return echo;
}
public String echo266(String echo) {
return echo;
}
public String echo267(String echo) {
return echo;
}
public String echo268(String echo) {
return echo;
}
public String echo269(String echo) {
return echo;
}
public String echo270(String echo) {
return echo;
}
public String echo271(String echo) {
return echo;
}
public String echo272(String echo) {
return echo;
}
public String echo273(String echo) {
return echo;
}
public String echo274(String echo) {
return echo;
}
public String echo275(String echo) {
return echo;
}
public String echo276(String echo) {
return echo;
}
public String echo277(String echo) {
return echo;
}
public String echo278(String echo) {
return echo;
}
public String echo279(String echo) {
return echo;
}
public String echo280(String echo) {
return echo;
}
public String echo281(String echo) {
return echo;
}
public String echo282(String echo) {
return echo;
}
public String echo283(String echo) {
return echo;
}
public String echo284(String echo) {
return echo;
}
public String echo285(String echo) {
return echo;
}
public String echo286(String echo) {
return echo;
}
public String echo287(String echo) {
return echo;
}
public String echo288(String echo) {
return echo;
}
public String echo289(String echo) {
return echo;
}
public String echo290(String echo) {
return echo;
}
public String echo291(String echo) {
return echo;
}
public String echo292(String echo) {
return echo;
}
public String echo293(String echo) {
return echo;
}
public String echo294(String echo) {
return echo;
}
public String echo295(String echo) {
return echo;
}
public String echo296(String echo) {
return echo;
}
public String echo297(String echo) {
return echo;
}
public String echo298(String echo) {
return echo;
}
public String echo299(String echo) {
return echo;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment