Created
October 10, 2016 00:50
-
-
Save retronym/ddedbadc3c764da66ffdb9a911915b40 to your computer and use it in GitHub Desktop.
Exponential compilation and startup speed with default methods
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Test { | |
interface I { default void m1() {} } | |
interface A1 extends I { default void a1() {} } | |
interface A2 extends I { default void a2() {} } | |
static class A3 implements A1, A2 {} | |
interface B1 extends A1, A2 { default void b1() {} } | |
interface B2 extends A1, A2 { default void b2() {} } | |
static class B3 extends A3 implements B1, B2 {} | |
interface C1 extends B1, B2 { default void c1() {} } | |
interface C2 extends B1, B2 { default void c2() {} } | |
static class C3 extends B3 implements C1, C2 {} | |
interface D1 extends C1, C2 { default void d1() {} } | |
interface D2 extends C1, C2 { default void d2() {} } | |
static class D3 extends C3 implements D1, D2 {} | |
interface E1 extends D1, D2 { default void e1() {} } | |
interface E2 extends D1, D2 { default void e2() {} } | |
static class E3 extends D3 implements E1, E2 {} | |
interface F1 extends E1, E2 { default void f1() {} } | |
interface F2 extends E1, E2 { default void f2() {} } | |
static class F3 extends E3 implements F1, F2 {} | |
interface G1 extends F1, F2 { default void g1() {} } | |
interface G2 extends F1, F2 { default void g2() {} } | |
static class G3 extends F3 implements G1, G2 {} | |
interface H1 extends G1, G2 { default void h1() {} } | |
interface H2 extends G1, G2 { default void h2() {} } | |
static class H3 extends G3 implements H1, H2 {} | |
interface I1 extends H1, H2 { default void i1() {} } | |
interface I2 extends H1, H2 { default void i2() {} } | |
static class I3 extends H3 implements I1, I2 {} | |
interface J1 extends I1, I2 { default void j1() {} } | |
interface J2 extends I1, I2 { default void j2() {} } | |
static class J3 extends I3 implements J1, J2 {} | |
interface K1 extends J1, J2 { default void k1() {} } | |
interface K2 extends J1, J2 { default void k2() {} } | |
static class K3 extends J3 implements K1, K2 {} | |
interface L1 extends K1, K2 { default void l1() {} } | |
interface L2 extends K1, K2 { default void l2() {} } | |
static class L3 extends K3 implements L1, L2 {} | |
public static void main(String[] args) { | |
new L3(); | |
} | |
} |
Author
retronym
commented
Oct 12, 2016
•
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment