āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ā§āĻ° āĻāĻ¯āĻŧ āĻŽāĻžāĻ¸ āĻĒāĻ°, āĻāĻ°āĻžāĻāĻ˛
Java SE 14 āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ°āĻŋāĻ˛āĻŋāĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻļā§āĻ°ā§āĻŖā§āĻŦāĻĻā§āĻ§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ°āĻŋāĻ˛āĻŋāĻ āĻ¨āĻž āĻšāĻāĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻĒāĻĄā§āĻ āĻĒā§āĻ¤ā§ āĻĨāĻžāĻāĻŦā§āĨ¤ āĻ˛āĻ āĻāĻžāĻ°ā§āĻŽ āĻ¸āĻžāĻĒā§āĻ°ā§āĻ (LTS) āĻļāĻžāĻāĻžāĻāĻŋ Java SE 11 āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤, āĻ¯āĻž 2026 āĻ¸āĻžāĻ˛ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻĒāĻĄā§āĻ āĻĒā§āĻ¤ā§ āĻĨāĻžāĻāĻŦā§āĨ¤ Java 8 āĻāĻ° āĻāĻā§āĻ° LTS āĻļāĻžāĻāĻžāĻāĻŋ 2020 āĻ¸āĻžāĻ˛ā§āĻ° āĻĄāĻŋāĻ¸ā§āĻŽā§āĻŦāĻ° āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻšāĻŦā§āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ LTS āĻ°āĻŋāĻ˛āĻŋāĻ āĻ¸ā§āĻĒā§āĻā§āĻŽā§āĻŦāĻ° 2021 āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻ¸ā§āĻ¨ āĻāĻŽāĻ°āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻŽāĻ¨ā§ āĻāĻ°āĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻ āĻ¯ā§ āĻāĻžāĻāĻž 10 āĻĒā§āĻ°āĻāĻžāĻļā§āĻ° āĻ¸āĻžāĻĨā§ āĻļā§āĻ°ā§ āĻāĻ°ā§, āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻŋāĻāĻžāĻļ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°ā§āĻā§, āĻ¨āĻ¤ā§āĻ¨ āĻ°āĻŋāĻ˛āĻŋāĻ āĻāĻ āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻā§āĻ āĻāĻā§āĻ°āĻā§ āĻŦā§āĻāĻžāĻ¯āĻŧāĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻāĻāĻ¨ āĻāĻāĻāĻŋ āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻŽāĻžāĻ¸ā§āĻāĻžāĻ° āĻļāĻžāĻāĻžāĻ¯āĻŧ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻ¯ā§āĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°āĻāĻžāĻļāĻā§āĻ˛āĻŋāĻā§ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋ āĻāĻ¯āĻŧ āĻŽāĻžāĻ¸ā§ āĻļāĻžāĻāĻžāĻā§āĻ˛āĻŋāĻā§ āĻļāĻžāĻāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻĨā§āĻā§
- āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨ āĻŽā§āĻ¯āĻžāĻāĻŋāĻ "instanceof" āĻ āĻĒāĻžāĻ°ā§āĻāĻ°ā§, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻā§āĻ āĻāĻ°āĻž āĻŽāĻžāĻ¨ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻĒāĻ¨āĻŋ āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ âif (obj instanceof String s && s.length() > 5) {.. s.contains(..) ..}â āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ âString s = (String) objâ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¨āĻž āĻāĻ°ā§āĨ¤āĻāĻšāĻž āĻāĻŋāĻ˛:
āĻ¯āĻĻāĻŋ (āĻā§āĻ°ā§āĻĒā§āĻ° āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ) {
āĻā§āĻ°ā§āĻĒ āĻā§āĻ°ā§āĻĒ = (āĻā§āĻ°ā§āĻĒ)obj;
var āĻāĻ¨ā§āĻā§āĻ°āĻŋ = group.getEntries();
}āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ "āĻā§āĻ°ā§āĻĒ āĻā§āĻ°ā§āĻĒ = (āĻā§āĻ°ā§āĻĒ) āĻ āĻŦāĻā§" āĻ¸āĻāĻā§āĻāĻž āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
āĻ¯āĻĻāĻŋ (āĻā§āĻ°ā§āĻĒ āĻā§āĻ°ā§āĻĒā§āĻ° āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ) {
var āĻāĻ¨ā§āĻā§āĻ°āĻŋ = group.getEntries();
} - āĻ¨āĻ¤ā§āĻ¨ āĻā§āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ "āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻ¨āĻĨāĻŋ ", āĻ¯āĻž āĻā§āĻ˛āĻžāĻ¸ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻŽāĻĒā§āĻ¯āĻžāĻā§āĻ āĻĢāĻ°ā§āĻŽ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯ā§āĻŽāĻ¨ āĻ¸āĻŽāĻžāĻ¨(), āĻšā§āĻ¯āĻžāĻļāĻā§āĻĄ() āĻāĻŦāĻ toString() āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĄā§āĻāĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻžāĻ° āĻāĻāĻ°āĻŖ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ¯āĻāĻ¨ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ āĻ¸āĻŽāĻžāĻ¨(), āĻšā§āĻ¯āĻžāĻļāĻā§āĻĄ() āĻāĻŦāĻ toString() āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻāĻĻāĻ°ā§āĻļ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻ¤āĻāĻ¨ āĻāĻāĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻ āĻ¸āĻāĻā§āĻāĻž āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§:āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻ°ā§āĻāĻ°ā§āĻĄ āĻŦā§āĻ¯āĻžāĻā§āĻ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ (āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻ¤āĻžāĻ°āĻŋāĻ āĻ¤āĻžāĻ°āĻŋāĻ,
āĻĻā§āĻŦāĻŋāĻā§āĻŖ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ
āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻŦāĻ°ā§āĻŖāĻ¨āĻž) {}āĻāĻ āĻā§āĻˇāĻŖāĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻ¨āĻ¸ā§āĻā§āĻ°āĻžāĻā§āĻāĻ° āĻāĻŦāĻ āĻā§āĻāĻžāĻ° āĻŽā§āĻĨāĻĄ āĻāĻžāĻĄāĻŧāĻžāĻ equals(), hashCode() āĻāĻŦāĻ toString() āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻŦā§āĨ¤
-
āĻĒā§āĻ°āĻŽāĻŋāĻ¤ āĻāĻŦāĻ "āĻ¸ā§āĻāĻ" āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻ°ā§āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ "āĻŦā§āĻ°ā§āĻ" āĻ āĻĒāĻžāĻ°ā§āĻāĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ, āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻžāĻ°āĻŦāĻžāĻ° āĻ˛ā§āĻŦā§āĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻ āĻĒāĻžāĻ°ā§āĻāĻ° āĻāĻāĻžāĻ°ā§ āĻ¨āĻ¯āĻŧ, āĻāĻāĻāĻŋ āĻ āĻĒāĻžāĻ°ā§āĻāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋvar āĻ˛āĻ = āĻ¸ā§āĻāĻ (āĻāĻāĻ¨āĻž) {
āĻā§āĻ¸ āĻĒā§āĻ˛ā§ -> "āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻĒā§āĻ˛ā§ āĻŦā§āĻ¤āĻžāĻŽāĻāĻŋ āĻā§āĻ°āĻŋāĻāĻžāĻ° āĻāĻ°ā§āĻā§";
āĻā§āĻ¸ āĻ¸ā§āĻāĻĒ, āĻĒāĻ -> "āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻŦāĻŋāĻ°āĻ¤āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨";
āĻĄāĻŋāĻĢāĻ˛ā§āĻ -> {
āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻŦāĻžāĻ°ā§āĻ¤āĻž = event.toString();
LocalDateTime now = LocalDateTime.now();
"āĻ āĻāĻžāĻ¨āĻž āĻāĻāĻ¨āĻž" + āĻŦāĻžāĻ°ā§āĻ¤āĻž + āĻĢāĻ˛āĻ¨
Âģ āĻ˛āĻ āĻ āĻ¨ Âģ + āĻāĻāĻ¨;
}
}; - āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨
āĻĒāĻžāĻ ā§āĻ¯ āĻŦā§āĻ˛āĻ - āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻ˛āĻŋāĻāĻžāĻ°ā§āĻ˛ā§āĻ° āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻ°ā§āĻŽ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻā§āĻˇāĻ° āĻāĻ¸ā§āĻā§āĻĒāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻāĻ°ā§ āĻāĻŦāĻ āĻŦā§āĻ˛āĻā§ āĻŽā§āĻ˛ āĻā§āĻā§āĻ¸āĻ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻāĻŋāĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻ¨āĻž āĻāĻ°ā§ āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄā§ āĻŦāĻšā§-āĻ˛āĻžāĻāĻ¨ āĻĒāĻžāĻ ā§āĻ¯ āĻĄā§āĻāĻž āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻŦā§āĻ˛āĻ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻĄāĻŦāĻ˛ āĻā§āĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĢā§āĻ°ā§āĻŽ āĻāĻ°āĻž āĻšāĻ¯āĻŧ. āĻāĻžāĻāĻž 14-āĻ, āĻā§āĻā§āĻ¸āĻ āĻŦā§āĻ˛āĻāĻā§āĻ˛āĻŋ āĻāĻāĻ¨ āĻāĻāĻāĻŋ āĻāĻāĻ āĻ¸ā§āĻĒā§āĻ¸ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ "\s" āĻāĻŦāĻ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ "\s" āĻā§āĻ°āĻŽāĻā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ (āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻ āĻ˛āĻžāĻāĻ¨ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ āĻ¤āĻāĻ¨ āĻ¨āĻ¤ā§āĻ¨ āĻ˛āĻžāĻāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻāĻĒā§āĻā§āĻˇāĻž āĻāĻ°ā§)āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻā§āĻĄā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§āĻ¸ā§āĻā§āĻ°āĻŋāĻ html = " Âģ +
"\n\t" + " Âģ +
"\n\t\t" + " \"āĻāĻžāĻāĻž 1 āĻāĻāĻžāĻ¨ā§!\" Âģ +
"\n\t" + " Âģ +
"\n" + " ";āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
āĻ¸ā§āĻā§āĻ°āĻŋāĻ html = """
ÂģāĻāĻžāĻāĻž 1\
āĻāĻāĻžāĻ¨ā§!
"""; - āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻāĻāĻ˛ā§ āĻĄāĻžāĻ¯āĻŧāĻžāĻāĻ¨āĻ¸ā§āĻāĻŋāĻāĻ¸ā§āĻ° āĻ¤āĻĨā§āĻ¯ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻ¨āĻžāĻ˛ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽ . āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĒā§āĻ°ā§āĻŦā§ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ˛āĻžāĻāĻ¨ āĻ¨āĻŽā§āĻŦāĻ° āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻ¤, āĻāĻāĻ¨ āĻāĻāĻŋ āĻā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻāĻāĻŋāĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻ¨ā§āĻ¨āĻ¤ āĻĄāĻžāĻ¯āĻŧāĻžāĻāĻ¨āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¯āĻāĻ¨ "-XX:+ShowCodeDetailsInExceptionMessages" āĻĒāĻ¤āĻžāĻāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ˛ā§ āĻšāĻ¯āĻŧāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻ āĻĒāĻ¤āĻžāĻāĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ˛āĻžāĻāĻ¨ā§ āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽvar āĻ¨āĻžāĻŽ = user.getLocation().getCity().getName();
āĻāĻāĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻšāĻŦā§
āĻĨā§āĻ°ā§āĻĄ "āĻĒā§āĻ°āĻ§āĻžāĻ¨" java.lang.NullPointerException-āĻ āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽ: "Location.getCity()" āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻ¨āĻž
āĻāĻžāĻ°āĻŖ "User.getLocation()" āĻāĻ° āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻļā§āĻ¨ā§āĻ¯
NullPointerExample.main-āĻ(NullPointerExample.java:5):5)āĻ¯āĻž āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°ā§ āĻ¯ā§ Location.getCity() āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ āĻāĻŦāĻ User.getLocation() āĻ¨āĻžāĻ˛ āĻĢāĻŋāĻ°ā§ āĻāĻ¸ā§āĻā§āĨ¤
-
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ jpackage āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋāĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻŦāĻ°ā§āĻĒ, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻāĻžāĻāĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋāĻāĻŋ JavaFX-āĻāĻ° javapackager-āĻāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§ (Windows-āĻāĻ° āĻāĻ¨ā§āĻ¯ msi āĻāĻŦāĻ exe, macOS-āĻāĻ° āĻāĻ¨ā§āĻ¯ pkg āĻāĻŦāĻ dmg, Linux-āĻāĻ° āĻāĻ¨ā§āĻ¯ deb āĻāĻŦāĻ rpm) āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤. - āĻāĻŋ 1 āĻāĻŦāĻ°ā§āĻāĻ¨āĻž āĻ¸āĻāĻā§āĻ°āĻšāĻāĻžāĻ°ā§āĻ° āĻāĻžāĻā§
āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŽā§āĻŽāĻ°āĻŋ āĻŦāĻ°āĻžāĻĻā§āĻĻāĻāĻ°āĻŖ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¯āĻž āĻ¸ā§āĻĨāĻžāĻĒāĻ¤ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦāĻĄāĻŧ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻāĻ¤āĻž āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°ā§NUMA . āĻ¨āĻ¤ā§āĻ¨ āĻŽā§āĻŽāĻ°āĻŋ āĻŦāĻ°āĻžāĻĻā§āĻĻāĻāĻžāĻ°ā§ "+XX:+UseNUMA" āĻĒāĻ¤āĻžāĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ NUMA āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯āĻāĻžāĻŦā§ āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ -
ĐОйавĐģĐĩĐŊ āĻā§āĻāĻĢāĻāĻ° (āĻā§āĻĄāĻŋāĻā§ āĻĢā§āĻ˛āĻžāĻāĻ āĻ°ā§āĻāĻ°ā§āĻĄāĻžāĻ°) āĻāĻā§āĻ¨ā§āĻāĻā§āĻ˛āĻŋāĻ° āĻ āĻ¨-āĻĻā§āĻ¯-āĻĢā§āĻ˛āĻžāĻ āĻŽāĻ¨āĻŋāĻāĻ°āĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ API, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖā§āĻ° āĻāĻ¯āĻŧā§āĻāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯āĨ¤ -
ĐОйавĐģĐĩĐŊ jdk.nio.mapmode āĻŽāĻĄāĻŋāĻāĻ˛, āĻ¯āĻž āĻ¨āĻ¨-āĻā§āĻ˛āĻžāĻāĻžāĻāĻ˛ āĻŽā§āĻŽāĻ°āĻŋ (NVM) āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸āĻŋāĻ āĻŽā§āĻ¯āĻžāĻĒāĻĄ āĻŦāĻžāĻāĻ āĻŦāĻžāĻĢāĻžāĻ° (MappedByteBuffer) āĻ¤ā§āĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻ¤ā§āĻ¨ āĻŽā§āĻĄ (READ_ONLY_SYNC, WRITE_ONLY_SYNC) āĻ āĻĢāĻžāĻ° āĻāĻ°ā§āĨ¤ -
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻŦāĻŋāĻĻā§āĻļā§-āĻŽā§āĻŽāĻ°āĻŋ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ API-āĻāĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻŦāĻ°ā§āĻĒ, āĻāĻžāĻāĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻ¨āĻ¤ā§āĻ¨ āĻŽā§āĻŽāĻ°āĻŋ āĻ¸ā§āĻāĻŽā§āĻ¨ā§āĻ, āĻŽā§āĻŽāĻ°āĻŋāĻāĻĄā§āĻ°ā§āĻ¸ āĻāĻŦāĻ āĻŽā§āĻŽā§āĻ°āĻŋāĻ˛ā§āĻāĻāĻ āĻŦāĻŋāĻŽā§āĻ°ā§āĻ¤āĻāĻ°āĻŖāĻā§āĻ˛āĻŋāĻā§ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§āĻ āĻāĻ°ā§ āĻāĻžāĻāĻž āĻšāĻŋāĻĒā§āĻ° āĻŦāĻžāĻāĻ°ā§ āĻŽā§āĻŽāĻ°āĻŋ āĻ āĻā§āĻāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§ āĻāĻŦāĻ āĻĻāĻā§āĻˇāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤ -
āĻā§āĻˇāĻŖāĻž āĻāĻ°ā§āĻā§ Solaris OS āĻāĻŦāĻ SPARC āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°āĻā§āĻ˛āĻŋāĻ° (Solaris/SPARC, Solaris/x64 āĻāĻŦāĻ Linux/SPARC) āĻāĻ¨ā§āĻ¯ āĻ āĻŦāĻāĻ¯āĻŧāĻŋāĻ¤ āĻĒā§āĻ°ā§āĻāĻā§āĻ˛āĻŋ āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§ āĻāĻ āĻĒā§āĻ°ā§āĻāĻā§āĻ˛āĻŋ āĻ¸āĻ°āĻžāĻ¨ā§āĻ° āĻ āĻāĻŋāĻĒā§āĻ°āĻžāĻ¯āĻŧā§ā§ˇ āĻāĻ āĻĒā§āĻ°ā§āĻāĻā§āĻ˛āĻŋāĻā§ āĻ āĻŦāĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻžāĻ° āĻĢāĻ˛ā§ āĻāĻŽāĻŋāĻāĻ¨āĻŋāĻāĻŋāĻā§ āĻ¸ā§āĻ˛āĻžāĻ°āĻŋāĻ¸ āĻāĻŦāĻ SPARC āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋ āĻŦāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻˇā§āĻ āĻ¨āĻž āĻāĻ°ā§ āĻ¨āĻ¤ā§āĻ¨ OpenJDK āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻāĻžāĻļāĻā§ āĻ¤ā§āĻŦāĻ°āĻžāĻ¨ā§āĻŦāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻŦā§ā§ˇ -
āĻŽā§āĻā§ āĻĢā§āĻ˛āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¸āĻŋāĻāĻŽāĻāĻ¸ (āĻāĻ¨āĻāĻžāĻ°ā§āĻ¨ā§āĻ āĻŽāĻžāĻ°ā§āĻ āĻ¸ā§āĻāĻĒ) āĻāĻŦāĻ°ā§āĻāĻ¨āĻž āĻ¸āĻāĻā§āĻ°āĻšāĻāĻžāĻ°ā§, āĻ¯āĻž āĻĻā§āĻ āĻŦāĻāĻ° āĻāĻā§ āĻ āĻĒā§āĻ°āĻāĻ˛āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻāĻŦāĻ āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻāĻŋāĻ˛ (āĻ¸āĻŋāĻāĻŽāĻāĻ¸ āĻ āĻ¨ā§āĻ āĻāĻā§ āĻāĻŋ 1 āĻāĻŦāĻ°ā§āĻāĻ¨āĻž āĻ¸āĻāĻā§āĻ°āĻšāĻāĻžāĻ°ā§ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛)āĨ¤ āĻāĻāĻžāĻĄāĻŧāĻž,āĻā§āĻˇāĻŖāĻž āĻāĻ°ā§āĻā§ ParallelScavenge āĻāĻŦāĻ SerialOld āĻāĻŦāĻ°ā§āĻāĻ¨āĻž āĻ¸āĻāĻā§āĻ°āĻšā§āĻ° āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻāĻŽāĻŋāĻļā§āĻ°āĻŖā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻā§ āĻ āĻŦāĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ ("-XX:+UseParallelGC -XX:-UseParallelOldGC" āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ˛āĻžāĻ¨)āĨ¤ - ZGC (Z Garbage Collector) āĻāĻŦāĻ°ā§āĻāĻ¨āĻž āĻ¸āĻāĻā§āĻ°āĻšāĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ macOS āĻāĻŦāĻ Windows āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ (āĻāĻā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° Linux āĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤)āĨ¤ ZGC āĻĒā§āĻ¯āĻžāĻ¸āĻŋāĻ āĻŽā§āĻĄā§ āĻāĻžāĻ āĻāĻ°ā§, āĻ¯āĻ¤āĻāĻž āĻ¸āĻŽā§āĻāĻŦ āĻāĻŦāĻ°ā§āĻāĻ¨āĻž āĻ¸āĻāĻā§āĻ°āĻšā§āĻ° āĻāĻžāĻ°āĻŖā§ āĻ˛ā§āĻā§āĻ¨ā§āĻ¸āĻŋ āĻāĻŽāĻŋāĻ¯āĻŧā§ āĻĻā§āĻ¯āĻŧ (ZGC āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§āĻāĻ˛ āĻāĻžāĻāĻŽ 10 ms āĻāĻ° āĻŦā§āĻļāĻŋ āĻšāĻ¯āĻŧ āĻ¨āĻž) āĻāĻŦāĻ āĻā§āĻ āĻāĻŦāĻ āĻŦāĻŋāĻļāĻžāĻ˛ āĻāĻāĻ¯āĻŧ āĻ¸ā§āĻ¤ā§āĻĒā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻāĻžāĻ°ā§ āĻāĻ¯āĻŧā§āĻāĻļ āĻŽā§āĻāĻžāĻŦāĻžāĻāĻ āĻĨā§āĻā§ āĻ āĻ¨ā§āĻ āĻā§āĻ°āĻžāĻŦāĻžāĻāĻ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤āĨ¤
-
āĻ¸āĻ°āĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§ Pack200 āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ JAR āĻĢāĻžāĻāĻ˛ āĻāĻŽā§āĻĒā§āĻ°ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ˛āĻāĻŋāĻ āĻāĻŦāĻ APIāĨ¤
āĻāĻ¤ā§āĻ¸: opennet.ru