జావా SE 20 విడుదల

ఆరు నెలల అభివృద్ధి తర్వాత, ఒరాకిల్ జావా SE 20 (జావా ప్లాట్‌ఫారమ్, స్టాండర్డ్ ఎడిషన్ 20)ను విడుదల చేసింది, ఇది OpenJDK ఓపెన్ సోర్స్ ప్రాజెక్ట్‌ను సూచన అమలుగా ఉపయోగిస్తుంది. కొన్ని నిలిపివేయబడిన లక్షణాల తొలగింపు మినహా, Java SE 20 జావా ప్లాట్‌ఫారమ్ యొక్క మునుపటి విడుదలలతో వెనుకబడిన అనుకూలతను నిర్వహిస్తుంది-చాలా మునుపు వ్రాసిన జావా ప్రాజెక్ట్‌లు కొత్త వెర్షన్‌లో నడుస్తున్నప్పుడు మార్పు లేకుండా పని చేస్తాయి. Linux (x20_86, AArch64), Windows (x64_86), మరియు macOS (x64_86, AArch64) కోసం Java SE 64 (JDK, JRE మరియు సర్వర్ JRE) యొక్క ఇన్‌స్టాల్ చేయగల బిల్డ్‌లు సిద్ధం చేయబడ్డాయి. OpenJDK ప్రాజెక్ట్ ద్వారా అభివృద్ధి చేయబడింది, వాణిజ్య ఉత్పత్తులకు డైనమిక్ లింక్‌ను అనుమతించడానికి GNU క్లాస్‌పాత్ మినహాయింపులతో GPLv20 లైసెన్స్ క్రింద Java 2 సూచన అమలు పూర్తిగా తెరవబడింది.

Java SE 20 సాధారణ మద్దతు విడుదలగా వర్గీకరించబడింది మరియు తదుపరి విడుదల వరకు నవీకరణలను అందుకోవడం కొనసాగుతుంది. లాంగ్ టర్మ్ సపోర్ట్ (LTS) బ్రాంచ్ జావా SE 17 అయి ఉండాలి, ఇది 2029 వరకు అప్‌డేట్‌లను అందుకోవడం కొనసాగుతుంది. జావా 10 విడుదలతో ప్రారంభించి, ప్రాజెక్ట్ కొత్త అభివృద్ధి ప్రక్రియకు మారిందని, కొత్త విడుదలల ఏర్పాటుకు తక్కువ చక్రాన్ని సూచిస్తుందని మేము మీకు గుర్తు చేద్దాం. కొత్త కార్యాచరణ ఇప్పుడు నిరంతరం నవీకరించబడిన ఒక మాస్టర్ బ్రాంచ్‌లో అభివృద్ధి చేయబడింది, ఇందులో రెడీమేడ్ మార్పులు ఉంటాయి మరియు కొత్త విడుదలలను స్థిరీకరించడానికి ప్రతి ఆరు నెలలకు బ్రాంచ్‌లు ఉంటాయి.

జావా 20లో కొత్త ఫీచర్లు ఉన్నాయి:

  • స్కోప్డ్ విలువలకు ప్రాథమిక మద్దతు ఉంది, ఇది మార్పులేని డేటాను థ్రెడ్‌లలో భాగస్వామ్యం చేయడానికి మరియు చైల్డ్ థ్రెడ్‌ల మధ్య డేటాను సమర్థవంతంగా మార్పిడి చేయడానికి అనుమతిస్తుంది (విలువలు వారసత్వంగా పొందబడతాయి). థ్రెడ్-లోకల్ వేరియబుల్స్ మెకానిజంను భర్తీ చేయడానికి స్కోప్డ్ విలువలు అభివృద్ధి చేయబడుతున్నాయి మరియు చాలా పెద్ద సంఖ్యలో వర్చువల్ థ్రెడ్‌లను (వేలాది లేదా మిలియన్ల థ్రెడ్‌లు) ఉపయోగిస్తున్నప్పుడు మరింత సమర్థవంతంగా ఉంటాయి. స్కోప్డ్ విలువలు మరియు థ్రెడ్-లోకల్ వేరియబుల్స్ మధ్య ప్రధాన వ్యత్యాసం ఏమిటంటే, మునుపటివి ఒకసారి వ్రాయబడతాయి, భవిష్యత్తులో మార్చబడవు మరియు థ్రెడ్ అమలు వ్యవధి వరకు మాత్రమే అందుబాటులో ఉంటాయి. క్లాస్ సర్వర్ {ఫైనల్ స్టాటిక్ స్కోప్డ్ వాల్యూ CURRENT_USER = కొత్త స్కోప్డ్ వాల్యూ(); శూన్యం సర్వ్ (అభ్యర్థన అభ్యర్థన, ప్రతిస్పందన ప్రతిస్పందన) {var స్థాయి = (అభ్యర్థన. isAuthorized()? ADMIN : GUEST); var వినియోగదారు = కొత్త వినియోగదారు (స్థాయి); ScopedValue.where(CURRENT_USER, user).run(() -> Application.handle(అభ్యర్థన, ప్రతిస్పందన)); } } class DatabaseManager {DBCconnection open() {var user = Server.CURRENT_USER.get(); ఒకవేళ (!user.canOpen()) కొత్త InvalidUserException(); కొత్త DBCconnection(...); } }
  • రికార్డ్ క్లాస్‌ల విలువలను అన్వయించడానికి జావా 16లో ప్రవేశపెట్టిన ప్యాటర్న్ మ్యాచింగ్ ఫీచర్‌ను విస్తరిస్తూ రికార్డ్ ప్యాటర్న్‌ల రెండవ ప్రివ్యూ జోడించబడింది. ఉదాహరణకు: రికార్డ్ పాయింట్(int x, int y) {} స్టాటిక్ శూన్య ప్రింట్‌సమ్ (ఆబ్జెక్ట్ obj) {if (పాయింట్ p యొక్క obj ఉదాహరణ) {int x = px(); int y = py(); System.out.println(x+y); } }
  • "స్విచ్" స్టేట్‌మెంట్‌లలో నమూనా సరిపోలిక యొక్క నాల్గవ ప్రాథమిక అమలు జోడించబడింది, ఇది "కేస్" లేబుల్‌లను ఖచ్చితమైన విలువలను ఉపయోగించకుండా అనుమతిస్తుంది, కానీ ఒకేసారి విలువల శ్రేణిని కవర్ చేసే సౌకర్యవంతమైన నమూనాలు, దీని కోసం గతంలో గజిబిజిగా ఉపయోగించడం అవసరం. "if... else" వ్యక్తీకరణల గొలుసులు. స్టాటిక్ స్ట్రింగ్ ఫార్మాటర్‌ప్యాటర్న్‌స్విచ్(ఆబ్జెక్ట్ obj) {రిటర్న్ స్విచ్ (obj) {కేస్ పూర్ణాంకం i -> String.format("int %d", i); కేస్ లాంగ్ l -> String.format("పొడవైన %d", l); కేసు డబుల్ d -> String.format("డబుల్ %f", d); కేస్ స్ట్రింగ్ s -> String.format("String %s", s); డిఫాల్ట్ -> o.toString(); }; }
  • FFM (ఫారిన్ ఫంక్షన్ & మెమరీ) API యొక్క రెండవ ప్రాథమిక అమలు జోడించబడింది, ఇది బాహ్య లైబ్రరీల నుండి కాల్ చేయడం ద్వారా మరియు JVM వెలుపల మెమరీని యాక్సెస్ చేయడం ద్వారా బాహ్య కోడ్ మరియు డేటాతో జావా ప్రోగ్రామ్‌ల పరస్పర చర్యను నిర్వహించడానికి మిమ్మల్ని అనుమతిస్తుంది.
  • వర్చువల్ థ్రెడ్‌ల యొక్క రెండవ ప్రివ్యూ జోడించబడింది, ఇవి తేలికైన థ్రెడ్‌లు, ఇవి అధిక-పనితీరు గల బహుళ-థ్రెడ్ అప్లికేషన్‌లను వ్రాయడం మరియు నిర్వహించడం చాలా సులభతరం చేస్తాయి.
  • నిర్మాణాత్మక సమాంతరత కోసం రెండవ ప్రయోగాత్మక API జోడించబడింది, ఇది వివిధ థ్రెడ్‌లలో నడుస్తున్న బహుళ టాస్క్‌లను ఒకే బ్లాక్‌గా పరిగణించడం ద్వారా బహుళ-థ్రెడ్ అప్లికేషన్‌ల అభివృద్ధిని సులభతరం చేస్తుంది.
  • వెక్టర్ API యొక్క ఐదవ పరిదృశ్యం జోడించబడింది, x86_64 మరియు AArch64 ప్రాసెసర్‌లపై వెక్టార్ సూచనలను ఉపయోగించి నిర్వహించే వెక్టార్ లెక్కల కోసం ఫంక్షన్‌లను అందిస్తుంది మరియు బహుళ విలువలకు (SIMD) ఆపరేషన్‌లను ఏకకాలంలో వర్తింపజేయడానికి అనుమతిస్తుంది. స్కేలార్ కార్యకలాపాల యొక్క ఆటో-వెక్టరైజేషన్ కోసం హాట్‌స్పాట్ JIT కంపైలర్‌లో అందించబడిన సామర్థ్యాల వలె కాకుండా, కొత్త API సమాంతర డేటా ప్రాసెసింగ్ కోసం వెక్టరైజేషన్‌ను స్పష్టంగా నియంత్రించడాన్ని సాధ్యం చేస్తుంది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి