āϜāĻžāĻ­āĻž SE 22 āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽā§‡āϰ āĻŽā§āĻ•ā§āϤāĻŋ āĻāĻŦāĻ‚ OpenJDK 22 āĻ“āĻĒ⧇āύ āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ

āĻ›āϝāĻŧ āĻŽāĻžāϏ āϧāϰ⧇ āωāĻ¨ā§āύāϝāĻŧāύ⧇āϰ āĻĒāϰ, āĻ“āϰāĻžāĻ•āϞ āϜāĻžāĻ­āĻž āĻāϏāχ ā§§ā§­ āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽ (āϜāĻžāĻ­āĻž āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽ, āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻāĻĄāĻŋāĻļāύ ā§§ā§­) āĻĒā§āϰāĻ•āĻžāĻļ āĻ•āϰ⧇āϛ⧇, āϝāĻž āĻāϰ āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āχāĻŽāĻĒā§āϞāĻŋāĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāύ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻ“āĻĒ⧇āύ āϏ⧋āĻ°ā§āϏ āĻ“āĻĒ⧇āύāĻœā§‡āĻĄāĻŋāϕ⧇ (OpenJDK) āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤ āĻ•āĻŋāϛ⧁ āĻĄā§‡āĻĒā§āϰāĻŋāϕ⧇āĻŸā§‡āĻĄ āĻĢāĻŋāϚāĻžāϰ āĻ…āĻĒāϏāĻžāϰāĻŖ āĻ•āϰāĻž āĻ›āĻžāĻĄāĻŧāĻž, āϜāĻžāĻ­āĻž āĻāϏāχ ā§§ā§­ āϜāĻžāĻ­āĻž āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽā§‡āϰ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖāϗ⧁āϞ⧋āϰ āϏāĻžāĻĨ⧇ āĻŦā§āϝāĻžāĻ•āĻ“āϝāĻŧāĻžāĻ°ā§āĻĄ āĻ•āĻŽā§āĻĒā§āϝāĻžāϟāĻŋāĻŦāĻŋāϞāĻŋāϟāĻŋ āĻŦāϜāĻžāϝāĻŧ āϰāĻžāĻ–ā§‡â€”āφāϗ⧇ āϞ⧇āĻ–āĻž āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϜāĻžāĻ­āĻž āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āύāϤ⧁āύ āϏāĻ‚āĻ¸ā§āĻ•āϰāϪ⧇ āϚāĻžāϞāĻžāϞ⧇āĻ“ āĻ…āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ āĻĨāĻžāĻ•āĻŦ⧇āĨ¤ āϜāĻžāĻ­āĻž āĻāϏāχ ā§§ā§­-āĻāϰ (āĻœā§‡āĻĄāĻŋāϕ⧇, āĻœā§‡āφāϰāχ, āĻāĻŦāĻ‚ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻœā§‡āφāϰāχ) āϰ⧇āĻĄāĻŋ-āϟ⧁-āχāύāĻ¸ā§āϟāϞ āĻŦāĻŋāĻ˛ā§āĻĄāϗ⧁āϞ⧋ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ Linux (x86_64, AArch64), Windows (x86_64) āĻāĻŦāĻ‚ macOS (x86_64, AArch64)āĨ¤ OpenJDK āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āĻĻā§āĻŦāĻžāϰāĻž āϤ⧈āϰāĻŋ, āϜāĻžāĻ­āĻž ā§§ā§­ āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āχāĻŽāĻĒā§āϞāĻŋāĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāύāϟāĻŋ GPLv2 āϞāĻžāχāϏ⧇āĻ¨ā§āϏ⧇āϰ āĻ…āϧ⧀āύ⧇ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ“āĻĒ⧇āύ āϏ⧋āĻ°ā§āϏ āĻāĻŦāĻ‚ āĻāϤ⧇ GNU ClassPath Exception āϰāϝāĻŧ⧇āϛ⧇, āϝāĻž āĻŦāĻžāĻŖāĻŋāĻœā§āϝāĻŋāĻ• āĻĒā§āϰ⧋āĻĄāĻžāĻ•ā§āĻŸā§‡āϰ āϏāĻžāĻĨ⧇ āĻĄāĻžāχāύāĻžāĻŽāĻŋāĻ• āϞāĻŋāĻ™ā§āĻ•āĻŋāĻ‚āϝāĻŧ⧇āϰ āϏ⧁āϝ⧋āĻ— āĻĻ⧇āϝāĻŧāĨ¤

Java SE 22 āĻāĻ•āϟāĻŋ āύāĻŋāϝāĻŧāĻŽāĻŋāϤ āϏāĻŽāĻ°ā§āĻĨāύ āϰāĻŋāϞāĻŋāϜ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻļā§āϰ⧇āĻŖā§€āĻŦāĻĻā§āϧ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ āĻāĻŦāĻ‚ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āϰāĻŋāϞāĻŋāϜ āύāĻž āĻšāĻ“āϝāĻŧāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āφāĻĒāĻĄā§‡āϟ āĻĒ⧇āϤ⧇ āĻĨāĻžāĻ•āĻŦ⧇āĨ¤ āϞāĻ‚ āϟāĻžāĻ°ā§āĻŽ āϏāĻžāĻĒā§‹āĻ°ā§āϟ (LTS) āĻļāĻžāĻ–āĻžāϟāĻŋ Java SE 21 āĻŦāĻž Java SE 17 āĻšāĻ“āϝāĻŧāĻž āωāϚāĻŋāϤ, āϝāĻž āϝāĻĨāĻžāĻ•ā§āϰāĻŽā§‡ 2031 āĻāĻŦāĻ‚ 2029 āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āφāĻĒāĻĄā§‡āϟ āĻĒāĻžāĻŦ⧇ (āϏāĻžāϧāĻžāϰāĻŖāϤ 2028 āĻāĻŦāĻ‚ 2026 āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āωāĻĒāϞāĻŦā§āϧ)āĨ¤ Java SE 11-āĻāϰ LTS āĻļāĻžāĻ–āĻžāϰ āϜāύāϏāĻžāϧāĻžāϰāϪ⧇āϰ āϏāĻŽāĻ°ā§āĻĨāύ āĻ—āϤ āϏ⧇āĻĒā§āĻŸā§‡āĻŽā§āĻŦāϰ⧇ āĻļ⧇āώ āĻšāϝāĻŧ⧇āϛ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻŦāĻ°ā§āϧāĻŋāϤ āϏāĻŽāĻ°ā§āĻĨāύ 2032 āϏāĻžāϞ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻ…āĻŦā§āϝāĻžāĻšāϤ āĻĨāĻžāĻ•āĻŦ⧇āĨ¤ Java SE 8 āĻāϰ LTS āĻļāĻžāĻ–āĻžāϰ āϜāĻ¨ā§āϝ āĻŦāĻ°ā§āϧāĻŋāϤ āϏāĻŽāĻ°ā§āĻĨāύ 2030 āϏāĻžāϞ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻ…āĻŦā§āϝāĻžāĻšāϤ āĻĨāĻžāĻ•āĻŦ⧇āĨ¤

āφāϏ⧁āύ āφāĻŽāϰāĻž āφāĻĒāύāĻžāϕ⧇ āĻŽāύ⧇ āĻ•āϰāĻŋāϝāĻŧ⧇ āĻĻāĻŋāχ āϝ⧇ āϜāĻžāĻ­āĻž 10 āĻĒā§āϰāĻ•āĻžāĻļ⧇āϰ āϏāĻžāĻĨ⧇ āĻļ⧁āϰ⧁ āĻ•āϰ⧇, āĻĒā§āϰāĻ•āĻ˛ā§āĻĒāϟāĻŋ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āĻŦāĻŋāĻ•āĻžāĻļ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϝāĻŧ āĻ¸ā§āϝ⧁āχāϚ āĻ•āϰ⧇āϛ⧇, āύāϤ⧁āύ āϰāĻŋāϞāĻŋāϜ āĻ—āĻ āύ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϛ⧋āϟ āϚāĻ•ā§āϰāϕ⧇ āĻŦā§‹āĻāĻžāϝāĻŧāĨ¤ āύāϤ⧁āύ āĻ•āĻžāĻ°ā§āϝāĻ•āĻžāϰāĻŋāϤāĻž āĻāĻ–āύ āĻāĻ•āϟāĻŋ āĻ•ā§āϰāĻŽāĻžāĻ—āϤ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻž āĻŽāĻžāĻ¸ā§āϟāĻžāϰ āĻļāĻžāĻ–āĻžāϝāĻŧ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āϝāĻžāϰ āĻŽāĻ§ā§āϝ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāϗ⧁āϞāĻŋ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āϰāϝāĻŧ⧇āϛ⧇ āĻāĻŦāĻ‚ āϝ⧇āϗ⧁āϞāĻŋ āĻĨ⧇āϕ⧇ āύāϤ⧁āύ āĻĒā§āϰāĻ•āĻžāĻļāϗ⧁āϞāĻŋāϕ⧇ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāϤāĻŋ āĻ›āϝāĻŧ āĻŽāĻžāϏ⧇ āĻļāĻžāĻ–āĻžāϗ⧁āϞāĻŋāϕ⧇ āĻļāĻžāĻ–āĻž āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤

āϜāĻžāĻ­āĻž 22-āĻāϰ āύāϤ⧁āύ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āϰāϝāĻŧ⧇āϛ⧇:

  • G1 āφāĻŦāĻ°ā§āϜāύāĻž āϏāĻ‚āĻ—ā§āϰāĻžāĻšāĻ• āĻ…āĻžā§āϚāϞ⧇ āĻĒāĻŋāύ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ°ā§āĻĨāύ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ•āϰ⧇, āϝāĻž āφāĻĒāύāĻžāϕ⧇ āϜāĻžāĻ­āĻž āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āϰ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύ āĻ…āĻ¸ā§āĻĨāĻžāϝāĻŧā§€āĻ­āĻžāĻŦ⧇ āĻŽā§‡āĻŽāϰāĻŋāϤ⧇ āĻ āĻŋāĻ• āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧ āϝāĻžāϤ⧇ āϏ⧇āϗ⧁āϞāĻŋāϕ⧇ āφāĻŦāĻ°ā§āϜāύāĻž āϏāĻ‚āĻ—ā§āϰāĻšāĻ•āĻžāϰ⧀āϰ āĻĻā§āĻŦāĻžāϰāĻž āϏāϰāĻžāύ⧋ āύāĻž āĻšāϝāĻŧ āĻāĻŦāĻ‚ āĻāχ āĻŦāĻ¸ā§āϤ⧁āϰ āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏāϗ⧁āϞāĻŋāϕ⧇ Java āĻāĻŦāĻ‚ āύ⧇āϟāĻŋāĻ­ āϕ⧋āĻĄā§‡āϰ āĻŽāĻ§ā§āϝ⧇ āύāĻŋāϰāĻžāĻĒāĻĻ⧇ āĻĒāĻžāϏ āĻ•āϰāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧāĨ¤ āĻĒāĻŋāύāĻŋāĻ‚ āφāĻĒāύāĻžāϕ⧇ āϞ⧇āĻŸā§‡āĻ¨ā§āϏāĻŋ āĻ•āĻŽāĻžāϤ⧇ āĻāĻŦāĻ‚ āύ⧇āϟāĻŋāĻ­ āϕ⧋āĻĄ āϏāĻš JNI (āϜāĻžāĻ­āĻž āύ⧇āϟāĻŋāĻ­ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ) āĻāϰ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ…āĻžā§āϚāϞāϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āφāĻŦāĻ°ā§āϜāύāĻž āϏāĻ‚āĻ—ā§āϰāĻšāϕ⧇ āĻ…āĻ•ā§āώāĻŽ āĻ•āϰāĻž āĻāĻĄāĻŧāĻžāϤ⧇ āĻĻ⧇āϝāĻŧ (āĻāχ āĻŦāĻŋāĻ­āĻžāĻ—āϗ⧁āϞāĻŋ āϚāĻžāϞāĻžāύ⧋āϰ āϏāĻŽāϝāĻŧ, āϜāĻžāϤāĻŋ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋ āĻāĻĄāĻŧāĻžāϤ⧇ JVM āϤāĻžāĻĻ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ āϜāϟāĻŋāϞ āĻŦāĻ¸ā§āϤ⧁āϗ⧁āϞāĻŋāϕ⧇ āϏāϰāĻžāύ⧋ āωāϚāĻŋāϤ āύāϝāĻŧ)āĨ¤ āĻĒāĻŋāύāĻŋāĻ‚ āφāĻŦāĻ°ā§āϜāύāĻž āϏāĻ‚āĻ—ā§āϰāĻšāĻ•āĻžāϰ⧀āϰ āĻĻ⧃āĻˇā§āϟāĻŋ āĻĨ⧇āϕ⧇ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻ¸ā§āϤ⧁āϗ⧁āϞāĻŋāϕ⧇ āϏāϰāĻŋāϝāĻŧ⧇ āĻĻ⧇āϝāĻŧ, āϝāĻž āφāύāĻĒāĻŋāύ āĻ•āϰāĻž āϜāĻžāϝāĻŧāĻ—āĻžāϗ⧁āϞāĻŋ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āĻ•āϰāĻž āϚāĻžāϞāĻŋāϝāĻŧ⧇ āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤
  • āϏ⧁āĻĒāĻžāϰ(...) āĻ•āϞ āĻ•āϰāĻžāϰ āφāϗ⧇ āĻ•āύāĻ¸ā§āĻŸā§āϰāĻžāĻ•ā§āϟāϰāϗ⧁āϞāĻŋāϤ⧇ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύāϗ⧁āϞāĻŋāϕ⧇ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āĻ“āϝāĻŧāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ• āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āϝāĻĻāĻŋ āĻāχ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύāϗ⧁āϞāĻŋ āĻ•āύāĻ¸ā§āĻŸā§āϰāĻžāĻ•ā§āϟāϰ⧇āϰ āĻĻā§āĻŦāĻžāϰāĻž āϤ⧈āϰāĻŋ āĻāĻ•āϟāĻŋ āωāĻĻāĻžāĻšāϰāĻŖāϕ⧇ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āύāĻž āĻ•āϰ⧇ āϤāĻŦ⧇ āĻāĻ•āϟāĻŋ āωāĻ¤ā§āϤāϰāĻžāϧāĻŋāĻ•āĻžāϰ⧀ āĻļā§āϰ⧇āĻŖāĻŋ āĻ•āύāĻ¸ā§āĻŸā§āϰāĻžāĻ•ā§āϟāϰ āĻĨ⧇āϕ⧇ āĻāĻ•āϟāĻŋ āĻĒā§āϝāĻžāϰ⧇āĻ¨ā§āϟ āĻ•ā§āϞāĻžāϏ āĻ•āύāĻ¸ā§āĻŸā§āϰāĻžāĻ•ā§āϟāϰāϕ⧇ āĻ¸ā§āĻĒāĻˇā§āϟāĻ­āĻžāĻŦ⧇ āĻ•āϞ āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšāϝāĻŧāĨ¤ āĻ•ā§āϞāĻžāϏ āφāωāϟāĻžāϰ { void hello() { System.out.println("āĻšā§āϝāĻžāϞ⧋"); } āĻ•ā§āϞāĻžāϏ āχāύāĻžāϰ { āχāύāĻžāϰ() { āĻšā§āϝāĻžāϞ⧋(); āϏ⧁āĻĒāĻžāϰ(); } } }
  • āĻāĻĢāĻāĻĢāĻāĻŽ (āĻĢāϰ⧇āύ āĻĢāĻžāĻ‚āĻļāύ āĻ…ā§āϝāĻžāĻ¨ā§āĻĄ āĻŽā§‡āĻŽāϰāĻŋ) āĻāĻĒāĻŋāφāχāϕ⧇ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āϝāĻž āϜāĻžāĻ­āĻž āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāϕ⧇ āĻŦāĻžāĻšā§āϝāĻŋāĻ• āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻĨ⧇āϕ⧇ āĻĢāĻžāĻ‚āĻļāύ āĻ•āϞ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻœā§‡āĻāύāφāχ (āϜāĻžāĻ­āĻž āύ⧇āϟāĻŋāĻ­ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ) āĻŦā§āϝāĻŦāĻšāĻžāϰ āύāĻž āĻ•āϰ⧇āχ JVM-āĻāϰ āĻŦāĻžāχāϰ⧇ āĻŽā§‡āĻŽāϰāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻžāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻŦāĻžāĻšā§āϝāĻŋāĻ• āϕ⧋āĻĄ āĻāĻŦāĻ‚ āĻĄā§‡āϟāĻžāϰ āϏāĻžāĻĨ⧇ āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻ•āϰāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧāĨ¤
  • āύāĻžāĻŽāĻšā§€āύ āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞ āĻāĻŦāĻ‚ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ āĻŽā§āϝāĻžāϚāĻŋāĻ‚ āĻāϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ°ā§āĻĨāύ āϏāĻ•ā§āώāĻŽ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ - āĻ•āϞ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ…āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞ āĻāĻŦāĻ‚ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ⧇āϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇, āφāĻĒāύāĻŋ āĻāĻ–āύ "_" āĻ…āĻ•ā§āώāϰāϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ // āĻ›āĻŋāϞ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ pageName = āϏ⧁āχāϚ (āĻĒ⧃āĻˇā§āĻ āĻž) { case GitHubIssuePage(var url, var āϏāĻžāĻŽāĻ—ā§āϰ⧀, var āϞāĻŋāĻ™ā§āĻ•, int issueNumber) -> “āχāĻ¸ā§āϝ⧁ #” + issueNumber; ... }; // āĻāĻ–āύ āφāĻĒāύāĻŋ String pageName = āϏ⧁āχāϚ (āĻĒ⧃āĻˇā§āĻ āĻž) { case GitHubIssuePage(_, _, _, int issueNumber) -> "āχāĻ¸ā§āϝ⧁ #" + issueNumber; };
  • āϜāĻžāĻ­āĻž āĻ•ā§āϞāĻžāϏ āĻĢāĻžāχāϞ āĻĒāĻžāĻ°ā§āϏāĻŋāĻ‚, āĻœā§‡āύāĻžāϰ⧇āϟ āĻāĻŦāĻ‚ āĻ•āύāĻ­āĻžāĻ°ā§āϟ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻ•ā§āϞāĻžāϏ-āĻĢāĻžāχāϞ API-āĻāϰ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ• āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ⧇āϰ āĻĒā§āϰāĻ¸ā§āϤāĻžāĻŦ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ ClassFile cf = ClassFile.of(); ClassModel classModel = cf.parse(bytes); byte[] newBytes = cf.build(classModel.thisClass().asSymbol(), classBuilder -> { (ClassElement ce : classModel) { if (!(ce instance of MethodModel mm && mm.methodName().stringValue() āĻāϰ āϜāĻ¨ā§āϝāĨ¤ startsWith("debug"))) { classBuilder.with(ce);
  • āϜāĻžāĻ­āĻž āχāωāϟāĻŋāϞāĻŋāϟāĻŋ āϜāĻžāĻ­āĻž āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāϗ⧁āϞāĻŋ āϚāĻžāϞāĻžāύ⧋āϰ āĻ•ā§āώāĻŽāϤāĻž āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇, āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϕ⧋āĻĄ āĻĢāĻžāχāϞ āĻŦāĻž āĻĒā§āϰāĻŋ-āĻ•āĻŽā§āĻĒāĻžāχāϞ āĻ•āϰāĻž āĻ•ā§āϞāĻžāϏ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āφāĻ•āĻžāϰ⧇ āϏāϰāĻŦāϰāĻžāĻš āĻ•āϰāĻž āĻšāϝāĻŧ, āĻāχ āĻĢāĻžāχāϞāϗ⧁āϞāĻŋ āφāϞāĻžāĻĻāĻžāĻ­āĻžāĻŦ⧇ āĻ•āĻŽā§āĻĒāĻžāχāϞ āύāĻž āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ˛ā§āĻĄ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āύāĻž āĻ•āϰ⧇āĨ¤ āύāϤ⧁āύ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϟāĻŋ āĻāĻŽāύ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāϗ⧁āϞāĻŋ āϚāĻžāϞāĻžāύ⧋ āϏāĻšāϜ āĻ•āϰ⧇ āϤ⧋āϞ⧇ āϝ⧇āĻ–āĻžāύ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻļā§āϰ⧇āĻŖā§€āϰ āϕ⧋āĻĄ āĻĒ⧃āĻĨāĻ• āĻĢāĻžāχāϞāϗ⧁āϞāĻŋāϤ⧇ āĻĒ⧃āĻĨāĻ• āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ Prog.java: āĻ•ā§āϞāĻžāϏ āĻĒā§āϰ⧋āĻ— { āĻĒāĻžāĻŦāϞāĻŋāĻ• āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻ­ā§āϝāĻžāχāĻĄ āĻŽā§‡āχāύ(āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚[] āφāĻ°ā§āĻ—āϏ) { Helper.run(); } } Helper.java: āĻ•ā§āϞāĻžāϏ āĻšā§‡āĻ˛ā§āĻĒāĻžāϰ { static void run() { System.out.println("āĻšā§āϝāĻžāϞ⧋!"); } }

    āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, "Prog.java" āĻāĻŦāĻ‚ "Helper.java" āĻĻ⧁āϟāĻŋ āĻĢāĻžāχāϞ āϏāĻŽāĻ¨ā§āĻŦāĻŋāϤ āĻāĻ•āϟāĻŋ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽ āϚāĻžāϞāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āĻāĻ–āύ "java Prog.java" āϚāĻžāϞāĻžāύ⧋ āϝāĻĨ⧇āĻˇā§āϟ, āϝāĻž āĻĒā§āϰāĻ— āĻ•ā§āϞāĻžāϏ āĻ•āĻŽā§āĻĒāĻžāχāϞ āĻ•āϰāĻŦ⧇, āĻšā§‡āĻ˛ā§āĻĒāĻžāϰ āĻ•ā§āϞāĻžāϏ⧇āϰ āĻāĻ•āϟāĻŋ āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰāĻŦ⧇, āĻšā§‡āĻ˛ā§āĻĒāĻžāϰ āĻĢāĻžāχāϞāϟāĻŋ āϖ⧁āρāĻœā§‡ āĻ•āĻŽā§āĻĒāĻžāχāϞ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āĻŽā§‚āϞ āĻĒāĻĻā§āϧāϤāĻŋāϤ⧇ āĻ•āϞ āĻ•āϰ⧁āύāĨ¤

  • āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻŸā§‡āĻŽāĻĒā§āϞ⧇āĻŸā§‡āϰ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ• āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āϞāĻŋāϟāĻžāϰ⧇āϞ āĻāĻŦāĻ‚ āĻŸā§‡āĻ•ā§āϏāϟ āĻŦā§āϞāĻ• āĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟāϗ⧁āϞāĻŋ āφāĻĒāύāĻžāϕ⧇ + āĻ…āĻĒāĻžāϰ⧇āϟāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āύāĻž āĻ•āϰ⧇āχ āĻ—āĻŖāύāĻž āĻ•āϰāĻž āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ āĻāĻŦāĻ‚ āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞ⧇āϰ āϏāĻžāĻĨ⧇ āĻĒāĻžāĻ ā§āϝ āĻāĻ•āĻ¤ā§āϰāĻŋāϤ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤ āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāύ \{..} āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ…āĻ­āĻŋāĻŦā§āϝāĻ•ā§āϤāĻŋāϰ āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāĻž āĻšāϝāĻŧ, āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāϤ āĻŽāĻžāύāϗ⧁āϞāĻŋāϰ āϏāĻ āĻŋāĻ•āϤāĻž āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻŦāĻŋāĻļ⧇āώ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰāϗ⧁āϞāĻŋ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, SQL āχāĻžā§āϜāĻŋāύ SQL āϕ⧋āĻĄā§‡ āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāϤ āĻŽāĻžāύāϗ⧁āϞāĻŋ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧇ āĻāĻŦāĻ‚ āφāωāϟāĻĒ⧁āϟ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻāĻ•āϟāĻŋ java.sql.Statement āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇, āϝāĻ–āύ JSON āĻĒā§āϰāϏ⧇āϏāϰ JSON āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāύ⧇āϰ āϏāĻ āĻŋāĻ•āϤāĻž āύāĻŋāϰ⧀āĻ•ā§āώāĻŖ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ JsonNode āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇āĨ¤ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻ•ā§āϝ⧋āϝāĻŧāĻžāϰ⧀ = "āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧁āύ * āĻŦā§āϝāĻ•ā§āϤāĻŋ āĻĨ⧇āϕ⧇ āĻĒāĻŋ āϕ⧋āĻĨāĻžāϝāĻŧ āĻĒāĻŋāĨ¤" + āϏāĻŽā§āĻĒāĻ¤ā§āϤāĻŋ + " = '" + āĻŽāĻžāύ + "'"; // āĻ›āĻŋāϞ āĻ¸ā§āĻŸā§‡āϟāĻŽā§‡āĻ¨ā§āϟ āĻ•ā§āϝ⧋āϝāĻŧāĻžāϰ⧀ = āĻāϏāĻ•āĻŋāωāĻāϞāĨ¤""""āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ * FROM Person p WHERE p.\{property} = '\{value}'"""; // āĻšāϝāĻŧ⧇ āϗ⧇āϛ⧇
  • āϭ⧇āĻ•ā§āϟāϰ āĻāĻĒāĻŋāφāχ-āĻāϰ āĻāĻ•āϟāĻŋ āϏāĻĒā§āϤāĻŽ āĻĒā§āϰāĻŋāĻ­āĻŋāω āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āϭ⧇āĻ•ā§āϟāϰ āĻ—āĻŖāύāĻžāϰ āĻĢāĻžāĻ‚āĻļāύ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇ āϝāĻž x86_64 āĻāĻŦāĻ‚ AArch64 āĻĒā§āϰāϏ⧇āϏāϰ⧇ āϭ⧇āĻ•ā§āϟāϰ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻžāĻŦāϞ⧀ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϏāĻžā§āϚāĻžāϞāĻŋāϤ āĻšāϝāĻŧ āĻāĻŦāĻ‚ āĻāĻ•āĻžāϧāĻŋāĻ• āĻŽāĻžāύ (SIMD) āϤ⧇ āĻāĻ•āχ āϏāĻžāĻĨ⧇ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧāĨ¤ āĻ¸ā§āϕ⧇āϞāĻžāϰ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒāϗ⧁āϞāĻŋāϰ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧ-āϭ⧇āĻ•ā§āϟāϰāĻžāχāĻœā§‡āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ HotSpot JIT āĻ•āĻŽā§āĻĒāĻžāχāϞāĻžāϰ⧇ āĻĒā§āϰāĻĻāĻ¤ā§āϤ āĻ•ā§āώāĻŽāϤāĻžāϗ⧁āϞāĻŋāϰ āĻŦāĻŋāĻĒāϰ⧀āϤ⧇, āύāϤ⧁āύ API āϏāĻŽāĻžāĻ¨ā§āϤāϰāĻžāϞ āĻĄā§‡āϟāĻž āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϰāϪ⧇āϰ āϜāĻ¨ā§āϝ āĻ¸ā§āĻĒāĻˇā§āϟāĻ­āĻžāĻŦ⧇ āϭ⧇āĻ•ā§āϟāϰāĻžāχāĻœā§‡āĻļāύ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āĻ•āϰāĻž āϏāĻŽā§āĻ­āĻŦ āĻ•āϰ⧇ āϤ⧋āϞ⧇āĨ¤
  • āĻŦāĻ°ā§āϧāĻŋāϤ āĻ¸ā§āĻŸā§āϰāĻŋāĻŽ API-āĻāϰ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ• āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ āϝāĻž āφāĻĒāύāĻžāϰ āύāĻŋāϜāĻ¸ā§āĻŦ āĻŽāĻ§ā§āϝāĻŦāĻ°ā§āϤ⧀ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒāϗ⧁āϞāĻŋāϕ⧇ āϏāĻ‚āĻœā§āĻžāĻžāϝāĻŧāĻŋāϤ āĻ•āϰāϤ⧇ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇, āϝāĻž āĻāĻŽāύ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻšāϤ⧇ āĻĒāĻžāϰ⧇ āϝ⧇āĻ–āĻžāύ⧇ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻ…āĻ¨ā§āϤāĻ°ā§āύāĻŋāĻ°ā§āĻŽāĻŋāϤ āĻŽāĻ§ā§āϝāĻŦāĻ°ā§āϤ⧀ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒāϗ⧁āϞāĻŋ āĻĒāĻ›āĻ¨ā§āĻĻāϏāχ āĻĄā§‡āϟāĻž āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ⧇āϰ āϜāĻ¨ā§āϝ āϝāĻĨ⧇āĻˇā§āϟ āύāϝāĻŧ⧎ āύ⧇āϟāĻŋāĻ­ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰāϰāĻž āύāϤ⧁āύ āχāĻ¨ā§āϟāĻžāϰāĻŽāĻŋāĻĄāĻŋāϝāĻŧ⧇āϟ āĻ…āĻĒāĻžāϰ⧇āĻļāύ Stream::gather(Gatherer) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻĨāĻžāϕ⧇, āϝāĻž āϤāĻžāĻĻ⧇āϰ āĻ•āĻžāϛ⧇ āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀-āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰ⧇ āĻ¸ā§āĻŸā§āϰāĻŋāĻŽ āωāĻĒāĻžāĻĻāĻžāύāϗ⧁āϞāĻŋāϕ⧇ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻ•āϰ⧇āĨ¤ jshell> Stream.of(1,2,3,4,5,6,7,8,9) āϏāĻ‚āĻ—ā§āϰāĻš āĻ•āϰ⧁āύ (āύāϤ⧁āύ WindowFixed(3)).toList() $1 ==> [[1, 2, 3], [ā§Ē, ā§Ģ, ā§Ŧ], [ā§­, ā§Ž, ⧝]]
  • āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāĻ°ā§āĻĄ āĻ•āύāĻ•āĻžāϰ⧇āĻ¨ā§āϏāĻŋāϰ āϜāĻ¨ā§āϝ āĻĒāϰ⧀āĻ•ā§āώāĻžāĻŽā§‚āϞāĻ• API-āĻāϰ āĻāĻ•āϟāĻŋ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖ āĻĒāϰ⧀āĻ•ā§āώāĻžāϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāĻ¸ā§āϤāĻžāĻŦ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āϝāĻž āĻāĻ•āĻ• āĻŦā§āϞāĻ• āĻšāĻŋāϏāĻžāĻŦ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻĨā§āϰ⧇āĻĄā§‡ āϏāĻŽā§āĻĒāĻžāĻĻāĻŋāϤ āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āĻžāϜ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϰāϪ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻŦāĻšā§-āĻĨā§āϰ⧇āĻĄā§‡āĻĄ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϗ⧁āϞāĻŋāϰ āĻŦāĻŋāĻ•āĻžāĻļāϕ⧇ āϏāĻšāϜ āĻ•āϰ⧇āĨ¤
  • āĻ…āĻ¨ā§āϤāĻ°ā§āύāĻŋāĻšāĻŋāϤāĻ­āĻžāĻŦ⧇ āĻ˜ā§‹āώāĻŋāϤ āĻ•ā§āϞāĻžāϏ āĻāĻŦāĻ‚ "āĻĒā§āϰāϧāĻžāύ" āĻĒāĻĻā§āϧāϤāĻŋāϰ āύāĻžāĻŽāĻŦāĻŋāĻšā§€āύ āĻĻ⧃āĻˇā§āϟāĻžāĻ¨ā§āϤāϗ⧁āϞāĻŋāϰ āĻāĻ•āϟāĻŋ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ• āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āϝāĻž āĻĒāĻžāĻŦāϞāĻŋāĻ•/āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻ˜ā§‹āώāĻŖāĻž, āφāĻ°ā§āϗ⧁āĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āĻ…ā§āϝāĻžāϰ⧇ āĻĒāĻžāϏ āĻ•āϰ⧇, āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻ•ā§āϞāĻžāϏ āĻ˜ā§‹āώāĻŖāĻžāϰ āϏāĻžāĻĨ⧇ āϝ⧁āĻ•ā§āϤ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āϏāĻ¤ā§āĻ¤ā§āĻŦāĻžāϗ⧁āϞāĻŋāϕ⧇ āĻ›āĻžāĻĄāĻŧ āĻĻāĻŋāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ // āĻ›āĻŋāϞ āĻĒāĻžāĻŦāϞāĻŋāĻ• āĻ•ā§āϞāĻžāϏ HelloWorld { āĻĒāĻžāĻŦāϞāĻŋāĻ• āĻ¸ā§āĻŸā§āϝāĻžāϟāĻŋāĻ• āĻ­ā§āϝāĻžāχāĻĄ āĻŽā§‡āχāύ(āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚[] args) { System.out.println("āĻšā§āϝāĻžāϞ⧋ āĻ“āϝāĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ!"); } } // āĻāĻ–āύ āφāĻĒāύāĻŋ main() { System.out.println("āĻšā§āϝāĻžāϞ⧋, āĻ“āϝāĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ!") āĻŦāĻžāϤāĻŋāϞ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ; }
  • āĻ¸ā§āϕ⧋āĻĒāĻĄ āĻ­ā§āϝāĻžāϞ⧁āϗ⧁āϞāĻŋāϰ āĻāĻ•āϟāĻŋ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āĻĒā§‚āĻ°ā§āĻŦāϰ⧂āĻĒ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āϝāĻžāϤ⧇ āĻ…āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ⧀āϝāĻŧ āĻĄā§‡āϟāĻž āĻĨā§āϰ⧇āĻĄ āϜ⧁āĻĄāĻŧ⧇ āĻ­āĻžāĻ— āĻ•āϰāĻž āϝāĻžāϝāĻŧ āĻāĻŦāĻ‚ āϚāĻžāχāĻ˛ā§āĻĄ āĻĨā§āϰ⧇āĻĄāϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āĻĻāĻ•ā§āώāϤāĻžāϰ āϏāĻžāĻĨ⧇ āĻĄā§‡āϟāĻž āĻŦāĻŋāύāĻŋāĻŽāϝāĻŧ āĻ•āϰāĻž āĻšāϝāĻŧ (āĻŽāĻžāύāϗ⧁āϞāĻŋ āωāĻ¤ā§āϤāϰāĻžāϧāĻŋāĻ•āĻžāϰāϏ⧂āĻ¤ā§āϰ⧇ āĻĒāĻžāĻ“āϝāĻŧāĻž āϝāĻžāϝāĻŧ)āĨ¤ āĻĨā§āϰ⧇āĻĄ-āϞ⧋āĻ•āĻžāϞ āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞ āĻŽā§‡āĻ•āĻžāύāĻŋāϜāĻŽ āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻ¸ā§āϕ⧋āĻĒāĻĄ āĻ­ā§āϝāĻžāϞ⧁ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāĻšā§āϛ⧇ āĻāĻŦāĻ‚ āϖ⧁āĻŦ āĻŦ⧇āĻļāĻŋ āϏāĻ‚āĻ–ā§āϝāĻ• āĻ­āĻžāĻ°ā§āϚ⧁āϝāĻŧāĻžāϞ āĻĨā§āϰ⧇āĻĄ (āĻšāĻžāϜāĻžāϰ āĻŦāĻž āϞāĻ•ā§āώ āϞāĻ•ā§āώ āĻĨā§āϰ⧇āĻĄ) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āφāϰāĻ“ āĻĻāĻ•ā§āώāĨ¤ āĻ¸ā§āϕ⧋āĻĒāĻĄ āĻ­ā§āϝāĻžāϞ⧁ āĻāĻŦāĻ‚ āĻĨā§āϰ⧇āĻĄ-āϞ⧋āĻ•āĻžāϞ āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻĒā§āϰāϧāĻžāύ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ āĻšāϞ āϝ⧇ āφāϗ⧇āϰāϗ⧁āϞāĻŋ āĻāĻ•āĻŦāĻžāϰ āϞ⧇āĻ–āĻž āĻšāϝāĻŧ, āĻ­āĻŦāĻŋāĻˇā§āϝāϤ⧇ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻž āϝāĻžāϝāĻŧ āύāĻž āĻāĻŦāĻ‚ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻĨā§āϰ⧇āĻĄ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧāĻ•āĻžāϞ⧇āϰ āϜāĻ¨ā§āϝ āωāĻĒāϞāĻŦā§āϧ āĻĨāĻžāϕ⧇āĨ¤
  • āϏāĻŽāĻžāĻ¨ā§āϤāϰāĻžāϞ āφāĻŦāĻ°ā§āϜāύāĻž āϏāĻ‚āĻ—ā§āϰāĻšāĻ•āĻžāϰ⧀ āĻŦāĻ¸ā§āϤ⧁āϰ āĻŦāĻĄāĻŧ āĻ…ā§āϝāĻžāϰ⧇āϰ āϏāĻžāĻĨ⧇ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āωāĻ¨ā§āύāϤ āĻ•āϰ⧇āϛ⧇āĨ¤ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāĻœā§‡āĻļāύ āĻ•āĻŋāϛ⧁ āĻĒāϰ⧀āĻ•ā§āώāĻžāϝāĻŧ āĻŦāĻ¸ā§āϤ⧁āϰ āĻŦ⧃āĻšā§Ž āĻ…ā§āϝāĻžāϰ⧇āϰ āϏāĻžāĻĨ⧇ 20% āĻĻā§āĻŦāĻžāϰāĻž āĻāĻ•āϟāĻŋ āĻŦāĻ¸ā§āϤ⧁āϰ āϜāĻ¨ā§āϝ āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ āĻļ⧁āϰ⧁ āĻ•āϰāĻžāϰ āφāϗ⧇ āĻŦāĻŋāϞāĻŽā§āĻŦ āĻ•āĻŽāĻžāϤ⧇ āϏāĻŽā§āĻ­āĻŦ āĻ•āϰ⧇āϛ⧇āĨ¤

āωāĻĒāϰāĻ¨ā§āϤ⧁, āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ āĻ—ā§āϰāĻžāĻĢāĻŋāĻ•āĻžāϞ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ JavaFX 22 āĻĻāĻŋāϝāĻŧ⧇ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽā§‡ āĻāĻ•āϟāĻŋ āφāĻĒāĻĄā§‡āĻŸā§‡āϰ āĻĒā§āϰāĻ•āĻžāĻļāύāĻž āύ⧋āϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

āωāĻ¤ā§āϏ: opennet.ru

DDoS āϏ⧁āϰāĻ•ā§āώāĻž, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϏāĻš āϏāĻžāχāϟāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ đŸ”Ĩ DDoS āϏ⧁āϰāĻ•ā§āώāĻž āϏāĻš āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ | ProHoster