fork download
  1. import java.lang.invoke.MethodHandles;
  2. import java.lang.invoke.MethodType;
  3.  
  4. class Test {
  5. private static final byte[] CODE = convertToBytes(new short[]{
  6. 0xCA, 0xFE, 0xBA, 0xBE, 0x00, 0x00, 0x00, 0x34, 0x00, 0x11, 0x0A, 0x00,
  7. 0x04, 0x00, 0x0D, 0x08, 0x00, 0x0E, 0x07, 0x00, 0x0F, 0x07, 0x00, 0x10,
  8. 0x01, 0x00, 0x06, 0x3C, 0x69, 0x6E, 0x69, 0x74, 0x3E, 0x01, 0x00, 0x03,
  9. 0x28, 0x29, 0x56, 0x01, 0x00, 0x04, 0x43, 0x6F, 0x64, 0x65, 0x01, 0x00,
  10. 0x0F, 0x4C, 0x69, 0x6E, 0x65, 0x4E, 0x75, 0x6D, 0x62, 0x65, 0x72, 0x54,
  11. 0x61, 0x62, 0x6C, 0x65, 0x01, 0x00, 0x06, 0x74, 0x65, 0x6C, 0x6C, 0x4D,
  12. 0x65, 0x01, 0x00, 0x14, 0x28, 0x29, 0x4C, 0x6A, 0x61, 0x76, 0x61, 0x2F,
  13. 0x6C, 0x61, 0x6E, 0x67, 0x2F, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3B,
  14. 0x01, 0x00, 0x0A, 0x53, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6C,
  15. 0x65, 0x01, 0x00, 0x07, 0x4C, 0x42, 0x2E, 0x6A, 0x61, 0x76, 0x61, 0x0C,
  16. 0x00, 0x05, 0x00, 0x06, 0x01, 0x00, 0x1B, 0x4A, 0x61, 0x76, 0x69, 0x73,
  17. 0x74, 0x69, 0x20, 0x74, 0x6F, 0x20, 0x70, 0x72, 0x6F, 0x73, 0x74, 0x65,
  18. 0x20, 0x6E, 0x65, 0x63, 0x68, 0x61, 0x70, 0x6F, 0x75, 0x21, 0x01, 0x00,
  19. 0x02, 0x4C, 0x42, 0x01, 0x00, 0x10, 0x6A, 0x61, 0x76, 0x61, 0x2F, 0x6C,
  20. 0x61, 0x6E, 0x67, 0x2F, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00, 0x21,
  21. 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
  22. 0x00, 0x05, 0x00, 0x06, 0x00, 0x01, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1D,
  23. 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x2A, 0xB7, 0x00, 0x01,
  24. 0xB1, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00,
  25. 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0A, 0x00,
  26. 0x01, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00,
  27. 0x00, 0x00, 0x03, 0x12, 0x02, 0xB0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08,
  28. 0x00, 0x00, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01,
  29. 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0C
  30. });
  31.  
  32. public static void main(String[] args) throws Throwable {
  33. Class<?> clazz = new ClassLoader() {{
  34. defineClass(null, CODE, 0, CODE.length);
  35. }}.loadClass("LB");
  36.  
  37. System.out.println(MethodHandles.lookup()
  38. .findStatic(clazz, "tellMe", MethodType.methodType(String.class)).invoke());
  39. }
  40.  
  41. static byte[] convertToBytes(short[] values) {
  42. byte[] result = new byte[values.length];
  43.  
  44. for (int i = 0; i < values.length; i++) {
  45. result[i] = (byte) values[i];
  46. }
  47.  
  48. return result;
  49. }
  50. }
  51.  
Success #stdin #stdout 0.06s 4386816KB
stdin
Standard input is empty
stdout
Javisti to proste nechapou!