Java SE 14 เจฐเฉ€เจฒเฉ€เจœเจผ

เจ›เฉ‡ เจฎเจนเฉ€เจจเจฟเจ†เจ‚ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ“เจฐเฉ‡เจ•เจฒ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจœเจพเจตเจพ SE 14 (เจœเจพเจตเจพ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ, เจธเจŸเฉˆเจ‚เจกเจฐเจก เจเจกเฉ€เจธเจผเจจ 14), เจ“เจชเจจ-เจธเจฐเฉ‹เจค เจ“เจชเจจเจœเฉ‡เจกเฉ€เจ•เฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเฉฐเจฆเจฐเจญ เจ…เจฎเจฒ เจตเจœเฉ‹เจ‚ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค Java SE 14 Java เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจฆเฉ€เจ†เจ‚ เจชเจฟเจ›เจฒเฉ€เจ†เจ‚ เจฐเฉ€เจฒเฉ€เจœเจผเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจชเจฟเจ›เฉœเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจจเฉ‚เฉฐ เจ•เจพเจ‡เจฎ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ; เจจเจตเฉ‡เจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจšเฉฑเจฒเจฃ 'เจคเฉ‡ เจธเจพเจฐเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจฒเจฟเจ–เฉ‡ เจœเจพเจตเจพ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจฌเจฆเจฒเจพเจ… เจฆเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจจเจ—เฉ‡เฅค Java SE 14 เจฌเจฟเจฒเจกเจธ (JDK, JRE เจ…เจคเฉ‡ เจธเจฐเจตเจฐ JRE) เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจคเจฟเจ†เจฐ เจคเจฟเจ†เจฐ Linux (x86_64), Windows เจ…เจคเฉ‡ macOS เจฒเจˆเฅค OpenJDK เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉเจ†เจฐเจพ เจตเจฟเจ•เจธเจค เจธเฉฐเจฆเจฐเจญ เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจœเจพเจตเจพ 14 GPLv2 เจฒเจพเจ‡เจธเฉฐเจธ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจนเฉˆ, GNU ClassPath เจ…เจชเจตเจพเจฆเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจตเจชเจพเจฐเจ• เจ‰เจคเจชเจพเจฆเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจฒเจฟเฉฐเจ•เจฟเฉฐเจ— เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

Java SE 14 เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ†เจฎ เจธเจนเจพเจ‡เจคเจพ เจฐเฉ€เจฒเฉ€เจœเจผ เจตเจœเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‡เจฃเฉ€เจฌเฉฑเจง เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจ…เจ—เจฒเฉ€ เจฐเฉ€เจฒเฉ€เจœเจผ เจคเฉฑเจ• เจ…เฉฑเจชเจกเฉ‡เจŸ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เฉ‡เจ—เจพเฅค เจฒเฉŒเจ‚เจ— เจŸเจฐเจฎ เจธเจชเฉ‹เจฐเจŸ (LTS) เจฌเฉเจฐเจพเจ‚เจš Java SE 11 เจนเฉ‹เจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ, เจœเฉ‹ 2026 เจคเฉฑเจ• เจ…เฉฑเจชเจกเฉ‡เจŸ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ€ เจฐเจนเฉ‡เจ—เฉ€เฅค Java 8 เจฆเฉ€ เจชเจฟเจ›เจฒเฉ€ LTS เจฌเฉเจฐเจพเจ‚เจš เจฆเจธเฉฐเจฌเจฐ 2020 เจคเฉฑเจ• เจธเจฎเจฐเจฅเจฟเจค เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค เจ…เจ—เจฒเฉ€ LTS เจฐเจฟเจฒเฉ€เจœเจผ เจธเจคเฉฐเจฌเจฐ 2021 เจฒเจˆ เจคเจนเจฟ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค เจ†เจ‰ เจ…เจธเฉ€เจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฏเจพเจฆ เจฆเจฟเจตเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจœเจพเจตเจพ 10 เจฆเฉ‡ เจฐเฉ€เจฒเฉ€เจœเจผ เจฆเฉ‡ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจตเจฟเจ•เจพเจธ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจ—เจฟเจ†, เจจเจตเฉ‡เจ‚ เจฐเฉ€เจฒเฉ€เจœเจผเจพเจ‚ เจฆเฉ‡ เจ—เจ เจจ เจฒเจˆ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจšเฉฑเจ•เจฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจจเจตเฉ€เจ‚ เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจนเฉเจฃ เจ‡เฉฑเจ• เจฒเจ—เจพเจคเจพเจฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเฉ€ เจฎเจพเจธเจŸเจฐ เจฌเฉเจฐเจพเจ‚เจš เจตเจฟเฉฑเจš เจตเจฟเจ•เจธเจค เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจฌเจฆเจฒเจพเจ… เจธเจผเจพเจฎเจฒ เจนเจจ เจ…เจคเฉ‡ เจœเจฟเจธ เจคเฉ‹เจ‚ เจจเจตเฉ€เจ†เจ‚ เจฐเฉ€เจฒเฉ€เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฅเจฟเจฐ เจ•เจฐเจจ เจฒเจˆ เจนเจฐ เจ›เฉ‡ เจฎเจนเฉ€เจจเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจธเจผเจพเจ–เจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฌเฉเจฐเจพเจ‚เจš เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจคเฉ‹เจ‚ เจจเจตเฉ€เจจเจคเจพเจตเจพเจ‚ เจœเจพเจตเจพ 14 เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจจเจฟเจธเจผเจพเจจ:

  • เจชเฉเจฐเจฏเฉ‹เจ—เจพเจคเจฎเจ• เจธเจนเจพเจ‡เจคเจพ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจชเฉˆเจŸเจฐเจจ เจฎเฉ‡เจฒ "instanceof" เจ†เจชเจฐเฉ‡เจŸเจฐ เจตเจฟเฉฑเจš, เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจšเฉˆเฉฑเจ• เจ•เฉ€เจคเฉ‡ เจฎเฉเฉฑเจฒ เจจเฉ‚เฉฐ เจเจ•เจธเฉˆเจธ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจธเจฅเจพเจจเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจจเฉ‚เฉฐ เจคเฉเจฐเฉฐเจค เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ "เจธเจŸเฉเจฐเจฟเฉฐเจ— s = (เจธเจŸเฉเจฐเจฟเฉฐเจ—) obj" เจจเฉ‚เฉฐ เจธเจชเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ "if (obj instanceof String s && s.length() > 5) {.. s.contains(..) ..}" เจฒเจฟเจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

    เจธเฉ€:

    เจœเฉ‡เจ•เจฐ (เจ—เจฐเฉเฉฑเจช เจฆเฉ€ เจตเจธเจคเฉ‚) {
    เจธเจฎเฉ‚เจน เจธเจฎเฉ‚เจน = (Group) obj;
    var เจ‡เฉฐเจฆเจฐเจพเจœเจผ = group.getEntries();
    }

    เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ "เจ—เจฐเฉเฉฑเจช เจ—เจฐเฉเฉฑเจช = (เจ—เจฐเฉเฉฑเจช) เจ“เจฌเจœเฉ‡" เจฆเฉ€ เจชเจฐเจฟเจญเจพเจธเจผเจพ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹:

    if (เจ—เจฐเฉเฉฑเจช เจธเจฎเฉ‚เจน เจฆเฉ€ เจตเจธเจคเฉ‚) {
    var เจ‡เฉฐเจฆเจฐเจพเจœเจผ = group.getEntries();
    }

  • เจจเจตเฉ‡เจ‚ เจ•เฉ€เจตเจฐเจก เจฒเจˆ เจชเฉเจฐเจฏเฉ‹เจ—เจพเจคเจฎเจ• เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† "เจฆเจพ เจฐเจฟเจ•เจพเจฐเจก", เจœเฉ‹ เจ•เจฟ เจ•เจฒเจพเจธเจพเจ‚ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจธเฉฐเจ–เฉ‡เจช เจฐเฉ‚เจช เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจจเจพเจฒ เจคเฉเจธเฉ€เจ‚ เจตเฉฑเจ–-เจตเฉฑเจ– เจจเฉ€เจตเฉ‡เจ‚-เจชเฉฑเจงเจฐ เจฆเฉ‡ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฌเจฐเจพเจฌเจฐ(), เจนเฉˆเจธเจผเจ•เฉ‹เจก() เจ…เจคเฉ‡ toString() เจจเฉ‚เฉฐ เจธเจชเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจš เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจœเจฟเฉฑเจฅเฉ‡ เจกเฉ‡เจŸเจพ เจธเจฟเจฐเจซเจผ เจ‰เจนเจจเจพเจ‚ เจ–เฉ‡เจคเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจœเจฟเจจเฉเจนเจพเจ‚ เจฆเจพ เจตเจฟเจตเจนเจพเจฐ เจจเจนเฉ€เจ‚ เจฌเจฆเจฒเจฆเจพ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจ•เจฒเจพเจธ เจฌเจฐเจพเจฌเจฐ (), เจนเฉˆเจธเจผเจ•เฉ‹เจก() เจ…เจคเฉ‡ เจŸเฉ‹เจธเจŸเฉเจฐเจฟเฉฐเจ— () เจตเจฟเจงเฉ€เจ†เจ‚ เจฆเฉ‡ เจฎเจฟเจ†เจฐเฉ€ เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจธเจชเฉฑเจธเจผเจŸ เจชเจฐเจฟเจญเจพเจธเจผเจพ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฐ เจธเจ•เจฆเฉ€ เจนเฉˆ:

    เจœเจจเจคเจ• เจฐเจฟเจ•เจพเจฐเจก เจฌเฉˆเจ‚เจ• เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ (เจธเจฅเจพเจจเจ• เจฎเจฟเจคเฉ€ เจฎเจฟเจคเฉ€,
    เจฆเฉเฉฑเจ—เจฃเฉ€ เจฐเจ•เจฎ
    เจธเจคเจฐ เจตเจฐเจฃเจจ) {}

    เจ‡เจน เจ˜เฉ‹เจธเจผเจฃเจพ เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ เจ…เจคเฉ‡ เจ—เฉˆเจŸเจฐ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ เจฌเจฐเจพเจฌเจฐ (), เจนเฉˆเจธเจผเจ•เฉ‹เจก() เจ…เจคเฉ‡ เจŸเฉ‹เจธเจŸเฉเจฐเจฟเฉฐเจ— () เจตเจฟเจงเฉ€เจ†เจ‚ เจฆเฉ‡ เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจ†เจช เจœเฉ‹เฉœ เจฆเฉ‡เจตเฉ‡เจ—เฉ€เฅค

  • เจฎเจฟเจ†เจฐเฉ€ เจ…เจคเฉ‡ "เจธเจตเจฟเฉฑเจš" เจธเจฎเฉ€เจ•เจฐเจจเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจจเจตเฉ‡เจ‚ เจฐเฉ‚เจช เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเจฎเจฐเฉฑเจฅ เจนเฉˆ, เจœเจฟเจธ เจฒเจˆ "เจฌเฉเจฐเฉ‡เจ•" เจ†เจชเจฐเฉ‡เจŸเจฐ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเฉเจนเจฐเจพเจ‰เจฃ เจตเจพเจฒเฉ‡ เจฒเฉ‡เจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจจเจพ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจ†เจชเจฐเฉ‡เจŸเจฐ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจธเจ—เฉ‹เจ‚ เจ‡เฉฑเจ• เจ“เจชเจฐเฉ‡เจŸเจฐ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจตเฉ€ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจธเจฎเฉ€เจ•เจฐเจจ

    var log = เจธเจตเจฟเฉฑเจš (เจ˜เจŸเจจเจพ) {
    เจ•เฉ‡เจธ เจชเจฒเฉ‡ -> "เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‡ เจชเจฒเฉ‡ เจฌเจŸเจจ เจจเฉ‚เฉฐ เจšเจพเจฒเฉ‚ เจ•เฉ€เจคเจพ เจนเฉˆ";
    เจ•เฉ‡เจธ STOP, PAUSE -> "เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฌเจฐเฉ‡เจ• เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ";
    เจกเจฟเจซเฉŒเจฒเจŸ -> {
    เจธเจคเจฐ เจธเฉเจจเฉ‡เจนเจพ = event.toString();
    LocalDateTime now = LocalDateTime.now();
    เจ‰เจชเจœ "เจ…เจฃเจœเจพเจฃ เจ˜เจŸเจจเจพ" + เจธเฉเจจเฉ‡เจนเจพ +
    ยป เจฒเฉŒเจ— เจ†เจจ ยป + เจนเฉเจฃ;
    }
    };

  • เจตเจฟเจธเจคเฉเจฐเจฟเจค เจชเฉเจฐเจฏเฉ‹เจ—เจพเจคเจฎเจ• เจธเจนเจพเจ‡เจคเจพ เจŸเฉˆเจ•เจธเจŸ เจฌเจฒเจพเจ• - เจธเจŸเฉเจฐเจฟเฉฐเจ— เจฒเจฟเจŸเจฐเจฒ เจฆเจพ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจฐเฉ‚เจช เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉเจฐเฉˆเจ•เจŸเจฐ เจเจธเจ•เฉ‡เจชเจฟเฉฐเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ…เจคเฉ‡ เจฌเจฒเจพเจ• เจตเจฟเฉฑเจš เจฎเฉ‚เจฒ เจŸเฉˆเจ•เจธเจŸ เจซเจพเจฐเจฎเฉˆเจŸเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจฎเจฒเจŸเฉ€-เจฒเจพเจˆเจจ เจŸเฉˆเจ•เจธเจŸ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจฌเจฒเจพเจ• เจจเฉ‚เฉฐ เจคเจฟเฉฐเจจ เจกเจฌเจฒ เจ•เฉ‹เจŸเจธ เจฆเฉเจ†เจฐเจพ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจœเจพเจตเจพ 14 เจตเจฟเฉฑเจš, เจŸเฉˆเจ•เจธเจŸ เจฌเจฒเจพเจ• เจนเฉเจฃ เจ‡เฉฑเจ• เจธเจชเฉ‡เจธ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจเจธเจ•เฉ‡เจช เจ•เฉเจฐเจฎ "\s" เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจ…เจ—เจฒเฉ€ เจฒเจพเจˆเจจ เจจเจพเจฒ เจœเฉ‹เฉœเจจ เจฒเจˆ "\" (เจจเจตเฉ€เจ‚ เจฒเจพเจˆเจจเจพเจ‚ เจจเฉ‚เฉฐ เจจเจœเจผเจฐเจ…เฉฐเจฆเจพเจœเจผ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจœเจฆเฉ‹เจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฌเจนเฉเจค เจฒเฉฐเจฌเฉ€ เจฒเจพเจˆเจจ เจชเฉเจฐเจฟเฉฐเจŸ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ)เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ•เฉ‹เจก เจฆเฉ€ เจฌเจœเจพเจ

    เจธเจคเจฐ html = " ยป+
    "\n\t" + " ยป+
    "\n\t\t" + " \"เจœเจพเจตเจพ 1 เจ‡เฉฑเจฅเฉ‡ เจนเฉˆ!\" ยป+
    "\n\t" + " ยป+
    "\n" + " ";

    เจคเฉเจธเฉ€เจ‚ เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹:

    เจธเจคเจฐ html = """


    ยปเจœเจพเจตเจพ 1\
    เจ‡เฉฑเจฅเฉ‡ เจนเฉˆ!

    """;

  • เจ…เจชเจตเจพเจฆ เจนเฉ‹เจฃ 'เจคเฉ‡ เจกเจพเจ‡เจ—เจจเฉŒเจธเจŸเจฟเจ•เจธ เจฆเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเจพ เจตเจฟเจธเจคเจพเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ NullPointerException. เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจชเจนเจฟเจฒเจพเจ‚ เจ—เจฒเจคเฉ€ เจธเฉเจจเฉ‡เจนเจพ เจธเจฟเจฐเจซ เจฒเจพเจˆเจจ เจจเฉฐเจฌเจฐ เจฆเจพ เจนเจตเจพเจฒเจพ เจฆเจฟเฉฐเจฆเจพ เจธเฉ€, เจนเฉเจฃ เจ‡เจน เจตเฉ‡เจฐเจตเฉ‡ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจฟเจนเฉœเฉ€ เจตเจฟเจงเฉ€ เจ…เจชเจตเจพเจฆ เจฆเจพ เจ•เจพเจฐเจจ เจฌเจฃเฉ€เฅค เจเจกเจตเจพเจ‚เจธเจก เจกเจพเจ‡เจ—เจจเฉŒเจธเจŸเจฟเจ•เจธ เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจš เจธเจฟเจฐเจซเจผ เจ‰เจฆเฉ‹เจ‚ เจนเฉ€ เจšเจพเจฒเฉ‚ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ เจœเจฆเฉ‹เจ‚ โ€œ-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 เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ€ เจ‡เฉฑเจ• เจเจฒเจ•, เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจตเฉˆ-เจจเจฟเจฐเจฎเจฟเจค Java เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฒเจˆ เจชเฉˆเจ•เฉ‡เจœ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจธเจนเจพเจ‡เจ• เจนเฉˆเฅค เจธเจนเฉ‚เจฒเจค JavaFX เจคเฉ‹เจ‚ javapackager 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจนเฉˆ เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจตเฉฑเจ–-เจตเฉฑเจ– เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎเจพเจ‚ (Windows เจฒเจˆ msi เจ…เจคเฉ‡ exe, macOS เจฒเจˆ pkg เจ…เจคเฉ‡ dmg, Linux เจฒเจˆ deb เจ…เจคเฉ‡ rpm) เจฆเฉ‡ เจฎเฉ‚เจฒ เจซเจพเจฐเจฎเฉˆเจŸเจพเจ‚ เจตเจฟเฉฑเจš เจชเฉˆเจ•เฉ‡เจœ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆเฅค เจชเฉˆเจ•เฉ‡เจœเจพเจ‚ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ€เจ†เจ‚ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€เจ†เจ‚ เจจเจฟเจฐเจญเจฐเจคเจพเจตเจพเจ‚ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค
  • G1 เจ•เฉ‚เฉœเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเฉฐเจก เจตเจฟเจงเฉ€ เจœเฉ‹ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจตเฉฑเจกเฉ‡ เจธเจฟเจธเจŸเจฎเจพเจ‚ 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฆเฉ€ เจนเฉˆ NUMA. เจจเจตเจพเจ‚ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจเจฒเฉ‹เจ•เฉ‡เจŸเจฐ โ€œ+XX:+UseNUMAโ€ เจซเจฒเฉˆเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฏเฉ‹เจ— เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ NUMA เจธเจฟเจธเจŸเจฎเจพเจ‚ เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจตเจฟเฉฑเจš เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจธเฉเจงเจพเจฐ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค
  • เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† JFR (JDK เจซเจฒเจพเจˆเจŸ เจฐเจฟเจ•เจพเจฐเจกเจฐ) เจ‡เจตเฉˆเจ‚เจŸเจพเจ‚ เจฆเฉ€ เจ†เจจ-เจฆเฉ€-เจซเจฒเจพเจˆ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจฒเจˆ API, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ เจจเจฟเจฐเฉฐเจคเจฐ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจฆเฉ‡ เจ†เจฏเฉ‹เจœเจจ เจฒเจˆเฅค
  • เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† jdk.nio.mapmode เจฎเฉ‹เจกเฉ€เจŠเจฒ, เจœเฉ‹ เจ—เฉˆเจฐ-เจ…เจธเจฅเจฟเจฐ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ (NVM) เจฆเจพ เจนเจตเจพเจฒเจพ เจฆเฉ‡เจฃ เจตเจพเจฒเฉ‡ เจฎเฉˆเจชเจก เจฌเจพเจˆเจŸ เจฌเจซเจฐ (MappedByteBuffer) เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจจเจตเฉ‡เจ‚ เจฎเฉ‹เจก (READ_ONLY_SYNC, WRITE_ONLY_SYNC) เจฆเฉ€ เจชเฉ‡เจธเจผเจ•เจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  • เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจตเจฟเจฆเฉ‡เจธเจผเฉ€-เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจเจ•เจธเฉˆเจธ API เจฆเจพ เจชเฉ‚เจฐเจตเจฆเจฐเจธเจผเจจ, เจœเจพเจตเจพ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจจเจตเฉ‡เจ‚ MemorySegment, MemoryAddress, เจ…เจคเฉ‡ MemoryLayout เจเจฌเจธเจŸเจฐเฉˆเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉ‡เจฐเจพเจซเฉ‡เจฐเฉ€ เจ•เจฐเจ•เฉ‡ Java เจนเฉ€เจช เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ…เจคเฉ‡ เจ•เฉเจธเจผเจฒเจคเจพ เจจเจพเจฒ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ–เฉ‡เจคเจฐเจพเจ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค
  • เจฆเจพ เจเจฒเจพเจจ เจ•เฉ€เจคเจพ เจญเจตเจฟเฉฑเจ– เจตเจฟเฉฑเจš เจ‡เจนเจจเจพเจ‚ เจชเฉ‹เจฐเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจนเจŸเจพเจ‰เจฃ เจฆเฉ‡ เจ‡เจฐเจพเจฆเฉ‡ เจจเจพเจฒ Solaris OS เจ…เจคเฉ‡ SPARC เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจพเจ‚ (Solaris/SPARC, Solaris/x64 เจ…เจคเฉ‡ Linux/SPARC) เจฒเจˆ เจฌเจฐเจคเจฐเจซเจผ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจชเฉ‹เจฐเจŸเจพเจ‚เฅค เจ‡เจนเจจเจพเจ‚ เจชเฉ‹เจฐเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจจเจพเจชเจธเฉฐเจฆ เจ•เจฐเจจ เจจเจพเจฒ เจ•เจฎเจฟเจŠเจจเจฟเจŸเฉ€ เจจเฉ‚เฉฐ เจธเฉ‹เจฒเจพเจฐเจฟเจธ- เจ…เจคเฉ‡ เจธเจชเจพเจฐเจ•-เจตเจฟเจธเจผเฉ‡เจธเจผ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจพเจ‡เจฎ เจฐเฉฑเจ–เจฃ เจตเจฟเฉฑเจš เจธเจฎเจพเจ‚ เจฌเจฐเจฌเจพเจฆ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจจเจตเฉ€เจ†เจ‚ OpenJDK เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฎเจฟเจฒเฉ‡เจ—เฉ€เฅค
  • เจฎเจฟเจŸเจพเจ‡เจ† เจ—เจฟเจ† CMS (เจธเจฎเจ•เจพเจฒเฉ€ เจฎเจพเจฐเจ• เจธเจตเฉ€เจช) เจ•เฉ‚เฉœเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจตเจพเจฒเจพ, เจœเจฟเจธ เจจเฉ‚เฉฐ เจฆเฉ‹ เจธเจพเจฒ เจชเจนเจฟเจฒเจพเจ‚ เจชเฉเจฐเจพเจฃเจพ เจšเจฟเฉฐเจจเฉเจนเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ€ เจธเจพเจ‚เจญ-เจธเฉฐเจญเจพเจฒ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€ (CMS เจจเฉ‚เฉฐ G1 เจ•เฉ‚เฉœเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจฆเฉเจ†เจฐเจพ เจฌเจนเฉเจค เจธเจฎเจพเจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจธเฉ€)เฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ˜เฉ‹เจธเจผเจฟเจค เจ•เฉ€เจคเจพ ParallelScavenge เจ…เจคเฉ‡ SerialOld เจ•เฉ‚เฉœเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ ("-XX:+UseParallelGC -XX:-UseParallelOldGC" เจตเจฟเจ•เจฒเจชเจพเจ‚ เจจเจพเจฒ เจšเจฒเจพเจ“) เจฆเฉ‡ เจธเฉเจฎเฉ‡เจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเฉ‚เฉฐ เจฌเจฐเจคเจฐเจซเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ†เฅค
  • ZGC (Z เจ—เจพเจฐเจฌเฉ‡เจœ เจ•เฉเจฒเฉˆเจ•เจŸเจฐ) เจ—เจพเจฐเจฌเฉ‡เจœ เจ•เฉเจฒเฉˆเจ•เจŸเจฐ เจฒเจˆ เจชเฉเจฐเจฏเฉ‹เจ—เจพเจคเจฎเจ• เจธเจฎเจฐเจฅเจจ macOS เจ…เจคเฉ‡ Windows เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎเจพเจ‚ 'เจคเฉ‡ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ (เจชเจนเจฟเจฒเจพเจ‚ เจธเจฟเจฐเจซเจผ Linux 'เจคเฉ‡ เจธเจฎเจฐเจฅเจฟเจค เจธเฉ€)เฅค ZGC เจชเฉˆเจธเจฟเจต เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเจฟเฉฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจธเจ•เฉ‡ เจ•เฉ‚เฉœเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจฆเฉ‡ เจ•เจพเจฐเจจ เจฒเฉ‡เจŸเฉˆเจ‚เจธเฉ€ เจจเฉ‚เฉฐ เจ˜เฉฑเจŸ เจ•เจฐเจฆเจพ เจนเฉˆ (ZGC เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจฐเฉเจ•เจฃ เจฆเจพ เจธเจฎเจพเจ‚ 10 ms เจคเฉ‹เจ‚ เจตเฉฑเจง เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพเฅค) เจ…เจคเฉ‡ เจ•เจˆ เจธเฉŒ เจฎเฉˆเจ—เจพเจฌเจพเจˆเจŸ เจคเฉ‹เจ‚ เจฒเฉˆ เจ•เฉ‡ เจ•เจˆ เจŸเฉˆเจฐเจพเจฌเจพเจˆเจŸ เจคเฉฑเจ• เจฆเฉ‡ เจ†เจ•เจพเจฐ เจฆเฉ‡ เจ›เฉ‹เจŸเฉ‡ เจ…เจคเฉ‡ เจตเฉฑเจกเฉ‡ เจขเฉ‡เจฐเจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค
  • เจนเจŸเจพเจ‡เจ† เจ—เจฟเจ† Pack200 เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ JAR เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉฐเจ•เฉเจšเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจŸเฉ‚เจฒเจ•เจฟเฉฑเจŸ เจ…เจคเฉ‡ APIเฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹