āĻāĻ¯āĻŧ āĻŽāĻžāĻ¸ āĻŦāĻŋāĻāĻžāĻļā§āĻ° āĻĒāĻ°, āĻāĻ°āĻžāĻāĻ˛ āĻāĻžāĻāĻž āĻāĻ¸āĻ 20 (āĻāĻžāĻāĻž āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ, āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 20) āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°ā§, āĻ¯āĻž āĻāĻāĻāĻŋ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻĒā§āĻ¨-āĻ¸ā§āĻ°ā§āĻ¸ āĻāĻĒā§āĻ¨āĻā§āĻĄāĻŋāĻā§ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻāĻŋāĻā§ āĻ āĻĒā§āĻ°āĻāĻ˛āĻŋāĻ¤ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ āĻĒāĻ¸āĻžāĻ°āĻŖ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¯āĻŧā§, Java SE 20 āĻāĻžāĻāĻž āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§āĻ° āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ°āĻŋāĻ˛āĻŋāĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻļā§āĻāĻžāĻĻāĻŽā§āĻā§ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯ āĻŦāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻā§ - āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻĒā§āĻ°ā§āĻŦā§ āĻ˛ā§āĻāĻž āĻāĻžāĻāĻž āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§āĻ° āĻ āĻ§ā§āĻ¨ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻšāĻ˛ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻžāĻ āĻāĻ°āĻŦā§āĨ¤ Java SE 20 (JDK, JRE āĻāĻŦāĻ Server JRE) āĻāĻ° āĻ°ā§āĻĄāĻŋ-āĻā§-āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻŦāĻŋāĻ˛ā§āĻĄāĻā§āĻ˛āĻŋ Linux (x86_64, AArch64), Windows (x86_64) āĻāĻŦāĻ macOS (x86_64, AArch64) āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĨ¤ āĻāĻĒā§āĻ¨āĻā§āĻĄāĻŋāĻā§ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤ā§āĻ°āĻŋ, āĻāĻžāĻāĻž 20 āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ GPLv2 āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸ā§āĻ° āĻ āĻ§ā§āĻ¨ā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻāĻĒā§āĻ¨ āĻ¸ā§āĻ°ā§āĻ¸, GNU ClassPath āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽāĻā§āĻ˛āĻŋ āĻŦāĻžāĻŖāĻŋāĻā§āĻ¯āĻŋāĻ āĻĒāĻŖā§āĻ¯āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻ¤āĻŋāĻļā§āĻ˛ āĻ˛āĻŋāĻā§āĻ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤
Java SE 20 āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ°āĻŋāĻ˛āĻŋāĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻļā§āĻ°ā§āĻŖā§āĻŦāĻĻā§āĻ§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ°āĻŋāĻ˛āĻŋāĻ āĻ¨āĻž āĻšāĻāĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻĒāĻĄā§āĻ āĻĒā§āĻ¤ā§ āĻĨāĻžāĻāĻŦā§āĨ¤ āĻ˛āĻ āĻāĻžāĻ°ā§āĻŽ āĻ¸āĻžāĻĒā§āĻ°ā§āĻ (LTS) āĻļāĻžāĻāĻžāĻāĻŋ Java SE 17 āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤, āĻ¯āĻž 2029 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻĒāĻĄā§āĻ āĻĒā§āĻ¤ā§ āĻĨāĻžāĻāĻŦā§āĨ¤ āĻāĻ¸ā§āĻ¨ āĻāĻŽāĻ°āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻŽāĻ¨ā§ āĻāĻ°āĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻ āĻ¯ā§ āĻāĻžāĻāĻž 10 āĻĒā§āĻ°āĻāĻžāĻļā§āĻ° āĻ¸āĻžāĻĨā§ āĻļā§āĻ°ā§ āĻāĻ°ā§, āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻŋāĻāĻžāĻļ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°ā§āĻā§, āĻ¨āĻ¤ā§āĻ¨ āĻ°āĻŋāĻ˛āĻŋāĻ āĻāĻ āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻā§āĻ āĻāĻā§āĻ°āĻā§ āĻŦā§āĻāĻžāĻ¯āĻŧāĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻāĻāĻ¨ āĻāĻāĻāĻŋ āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻŽāĻžāĻ¸ā§āĻāĻžāĻ° āĻļāĻžāĻāĻžāĻ¯āĻŧ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻ¯ā§āĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°āĻāĻžāĻļāĻā§āĻ˛āĻŋāĻā§ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋ āĻāĻ¯āĻŧ āĻŽāĻžāĻ¸ā§ āĻļāĻžāĻāĻžāĻā§āĻ˛āĻŋāĻā§ āĻļāĻžāĻāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻāĻžāĻāĻž 20-āĻāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ°āĻ¯āĻŧā§āĻā§:
- āĻ¸ā§āĻā§āĻĒāĻĄ āĻā§āĻ¯āĻžāĻ˛ā§āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¯āĻžāĻ¤ā§ āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ¯āĻŧ āĻĄā§āĻāĻž āĻĨā§āĻ°ā§āĻĄ āĻā§āĻĄāĻŧā§ āĻāĻžāĻ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻžāĻāĻ˛ā§āĻĄ āĻĨā§āĻ°ā§āĻĄāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĻāĻā§āĻˇāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻĄā§āĻāĻž āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧ āĻāĻ°āĻž āĻšāĻ¯āĻŧ (āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻāĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻāĻžāĻ°āĻ¸ā§āĻ¤ā§āĻ°ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ)āĨ¤ āĻĨā§āĻ°ā§āĻĄ-āĻ˛ā§āĻāĻžāĻ˛ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻŽā§āĻāĻžāĻ¨āĻŋāĻāĻŽ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻā§āĻĒāĻĄ āĻā§āĻ¯āĻžāĻ˛ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§ āĻāĻŦāĻ āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻ¸āĻāĻā§āĻ¯āĻ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻĨā§āĻ°ā§āĻĄ (āĻšāĻžāĻāĻžāĻ° āĻŦāĻž āĻ˛āĻā§āĻˇ āĻ˛āĻā§āĻˇ āĻĨā§āĻ°ā§āĻĄ) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ°āĻ āĻĻāĻā§āĻˇāĨ¤ āĻ¸ā§āĻā§āĻĒāĻĄ āĻā§āĻ¯āĻžāĻ˛ā§āĻ¸ āĻāĻŦāĻ āĻĨā§āĻ°ā§āĻĄ-āĻ˛ā§āĻāĻžāĻ˛ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻšāĻ˛ āĻ¯ā§ āĻĒā§āĻ°āĻžāĻā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻāĻāĻŦāĻžāĻ° āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž āĻāĻŦāĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĨā§āĻ°ā§āĻĄ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻĨāĻžāĻā§āĨ¤ āĻā§āĻ˛āĻžāĻ¸ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° { āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ ScopedValue CURRENT_USER = āĻ¨āĻ¤ā§āĻ¨ ScopedValue(); āĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻĒāĻ°āĻŋāĻŦā§āĻļāĻ¨ (āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ āĻ¨ā§āĻ°ā§āĻ§, āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž) { var āĻ¸ā§āĻ¤āĻ° = (āĻ āĻ¨ā§āĻ°ā§āĻ§āĨ¤ āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤()? āĻ ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨: āĻ āĻ¤āĻŋāĻĨāĻŋ); var āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ = āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ (āĻ¸ā§āĻ¤āĻ°); ScopedValue.where(CURRENT_USER, user).run(() -> Application.handle(āĻ āĻ¨ā§āĻ°ā§āĻ§, āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž)); } } āĻā§āĻ˛āĻžāĻ¸ āĻĄā§āĻāĻžāĻŦā§āĻ¸ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻžāĻ° { DBConnection open() { var user = Server.CURRENT_USER.get(); āĻ¯āĻĻāĻŋ (!user.canOpen()) āĻ¨āĻ¤ā§āĻ¨ InvalidUserException() āĻĢā§āĻ˛ā§ āĻĻā§āĻ¯āĻŧ; āĻ¨āĻ¤ā§āĻ¨ āĻĄāĻŋāĻŦāĻŋ āĻ¸āĻāĻ¯ā§āĻ āĻĢā§āĻ°āĻ¤ (...); } }
- āĻ°ā§āĻāĻ°ā§āĻĄ āĻā§āĻ˛āĻžāĻ¸ā§āĻ° āĻŽāĻžāĻ¨ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻāĻž 16-āĻ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨ āĻŽā§āĻ¯āĻžāĻāĻŋāĻ āĻĢāĻŋāĻāĻžāĻ° āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°ā§ āĻ°ā§āĻāĻ°ā§āĻĄ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨ā§āĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻĒā§āĻ°āĻŋāĻāĻŋāĻ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ: āĻ°ā§āĻāĻ°ā§āĻĄ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ(int x, int y) {} static void printSum(object obj) { if (obj instance of Point p) { int x = px(); int y = py(); System.out.println(x+y); } }
- "āĻ¸ā§āĻāĻ" āĻŦāĻŋāĻŦā§āĻ¤āĻŋāĻ¤ā§ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨ āĻŽā§āĻ¯āĻžāĻāĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻ¤ā§āĻ°ā§āĻĨ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž "āĻā§āĻ¸" āĻ˛ā§āĻŦā§āĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻ¸āĻ āĻŋāĻ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ āĻ¨āĻž, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨ āĻ¯āĻž āĻāĻāĻŦāĻžāĻ°ā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻžāĻ° āĻāĻ°ā§, āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻˇā§āĻāĻāĻ° āĻāĻŋāĻ˛ "āĻ¯āĻĻāĻŋ... āĻ āĻ¨ā§āĻ¯āĻĨāĻž" āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ° āĻā§āĻāĻ¨āĨ¤ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻāĻžāĻ° āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨āĻ¸ā§āĻāĻ(āĻ āĻŦāĻā§āĻā§āĻ āĻ āĻŦāĻā§āĻā§āĻ) { āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻ¸ā§āĻāĻ (āĻ āĻŦāĻā§āĻā§āĻ) { āĻā§āĻ¸ āĻāĻ¨ā§āĻāĻŋāĻāĻžāĻ° i -> āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ("int %d", i); case Long l -> String.format("long %d", l); case Double d -> String.format("āĻĄāĻžāĻŦāĻ˛ %f", d); case String s -> String.format("āĻ¸ā§āĻā§āĻ°āĻŋāĻ %s", s); āĻĄāĻŋāĻĢāĻ˛ā§āĻ -> o.toString(); }; }
- āĻāĻĢāĻāĻĢāĻāĻŽ (āĻĢāĻ°ā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻ ā§āĻ¯āĻžāĻ¨ā§āĻĄ āĻŽā§āĻŽāĻ°āĻŋ) āĻāĻĒāĻŋāĻāĻ-āĻāĻ° āĻāĻāĻāĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻšāĻŋāĻ°āĻžāĻāĻ¤ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĨā§āĻā§ āĻāĻ˛āĻŋāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻŦāĻ JVM-āĻāĻ° āĻŦāĻžāĻāĻ°ā§ āĻŽā§āĻŽāĻ°āĻŋ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻā§āĻĄ āĻāĻŦāĻ āĻĄā§āĻāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻāĻž āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋāĻ° āĻŽāĻŋāĻĨāĻ¸ā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻāĻāĻ āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
- āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻĨā§āĻ°ā§āĻĄāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻĒā§āĻ°ā§āĻŦāĻ°ā§āĻĒ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯ā§āĻā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻāĻž āĻāĻāĻ¨ā§āĻ° āĻĨā§āĻ°ā§āĻĄ āĻ¯āĻž āĻāĻā§āĻ-āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻŽāĻžāĻ˛ā§āĻāĻŋ-āĻĨā§āĻ°ā§āĻĄā§āĻĄ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻ˛ā§āĻāĻž āĻāĻŦāĻ āĻŦāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻāĻžāĻā§ āĻŦā§āĻ¯āĻžāĻĒāĻāĻāĻžāĻŦā§ āĻ¸āĻšāĻ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§āĨ¤
- āĻāĻžāĻ āĻžāĻŽā§āĻāĻ¤ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻ API āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĨā§āĻ°ā§āĻĄā§ āĻāĻ˛āĻŽāĻžāĻ¨ āĻāĻāĻžāĻ§āĻŋāĻ āĻāĻžāĻāĻā§ āĻāĻāĻ āĻŦā§āĻ˛āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°ā§ āĻŦāĻšā§-āĻĨā§āĻ°ā§āĻĄā§āĻĄ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻāĻžāĻļāĻā§ āĻ¸āĻšāĻ āĻāĻ°ā§āĨ¤
- āĻā§āĻā§āĻāĻ° āĻāĻĒāĻŋāĻāĻ-āĻāĻ° āĻāĻāĻāĻŋ āĻĒāĻā§āĻāĻŽ āĻĒā§āĻ°ā§āĻŦāĻ°ā§āĻĒ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻā§āĻā§āĻāĻ° āĻāĻŖāĻ¨āĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻ¯āĻž x86_64 āĻāĻŦāĻ AArch64 āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°ā§ āĻā§āĻā§āĻāĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸āĻā§āĻāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻžāĻ§āĻŋāĻ āĻŽāĻžāĻ¨ (SIMD) āĻ¤ā§ āĻāĻāĻ¯ā§āĻā§ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤ āĻ¸ā§āĻā§āĻ˛āĻžāĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒāĻā§āĻ˛āĻŋāĻ° āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ-āĻā§āĻā§āĻāĻ°āĻžāĻāĻā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ HotSpot JIT āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ°ā§ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻā§āĻˇāĻŽāĻ¤āĻžāĻā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ā§, āĻ¨āĻ¤ā§āĻ¨ API āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻā§āĻā§āĻāĻ°āĻžāĻāĻā§āĻļāĻ¨ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§āĨ¤
āĻāĻ¤ā§āĻ¸: opennet.ru