ఆరు నెలల అభివృద్ధి తర్వాత, ఒరాకిల్ జావా SE 19 (జావా ప్లాట్ఫారమ్, స్టాండర్డ్ ఎడిషన్ 19)ను విడుదల చేసింది, ఇది OpenJDK ఓపెన్ సోర్స్ ప్రాజెక్ట్ను సూచన అమలుగా ఉపయోగిస్తుంది. కొన్ని నిలిపివేయబడిన లక్షణాల తొలగింపు మినహా, Java SE 19 జావా ప్లాట్ఫారమ్ యొక్క మునుపటి విడుదలలతో వెనుకబడిన అనుకూలతను నిర్వహిస్తుంది-చాలా మునుపు వ్రాసిన జావా ప్రాజెక్ట్లు కొత్త వెర్షన్లో నడుస్తున్నప్పుడు మార్పు లేకుండా పని చేస్తాయి. Linux (x19_86, AArch64), Windows (x64_86), మరియు macOS (x64_86, AArch64) కోసం Java SE 64 (JDK, JRE మరియు సర్వర్ JRE) యొక్క ఇన్స్టాల్ చేయగల బిల్డ్లు సిద్ధం చేయబడ్డాయి. OpenJDK ప్రాజెక్ట్ ద్వారా అభివృద్ధి చేయబడింది, వాణిజ్య ఉత్పత్తులకు డైనమిక్ లింక్ను అనుమతించడానికి GNU క్లాస్పాత్ మినహాయింపులతో GPLv19 లైసెన్స్ క్రింద Java 2 సూచన అమలు పూర్తిగా తెరవబడింది.
Java SE 19 సాధారణ మద్దతు విడుదలగా వర్గీకరించబడింది మరియు తదుపరి విడుదల వరకు నవీకరణలను అందుకోవడం కొనసాగుతుంది. లాంగ్ టర్మ్ సపోర్ట్ (LTS) బ్రాంచ్ జావా SE 17 అయి ఉండాలి, ఇది 2029 వరకు అప్డేట్లను అందుకోవడం కొనసాగుతుంది. జావా 10 విడుదలతో ప్రారంభించి, ప్రాజెక్ట్ కొత్త అభివృద్ధి ప్రక్రియకు మారిందని, కొత్త విడుదలల ఏర్పాటుకు తక్కువ చక్రాన్ని సూచిస్తుందని మేము మీకు గుర్తు చేద్దాం. కొత్త కార్యాచరణ ఇప్పుడు నిరంతరం నవీకరించబడిన ఒక మాస్టర్ బ్రాంచ్లో అభివృద్ధి చేయబడింది, ఇందులో రెడీమేడ్ మార్పులు ఉంటాయి మరియు కొత్త విడుదలలను స్థిరీకరించడానికి ప్రతి ఆరు నెలలకు బ్రాంచ్లు ఉంటాయి.
జావా 19లో కొత్త ఫీచర్లు ఉన్నాయి:
- రికార్డ్ నమూనాల కోసం ప్రాథమిక మద్దతు ప్రతిపాదించబడింది, రికార్డ్ టైప్ తరగతుల విలువలను అన్వయించే సాధనాలతో జావా 16లో ప్రవేశపెట్టిన నమూనా మ్యాచింగ్ ఫీచర్ను విస్తరించింది. ఉదాహరణకు: రికార్డ్ పాయింట్(int x, int y) {} శూన్యమైన printSum(ఆబ్జెక్ట్ o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); } }
- Linux బిల్డ్లు RISC-V ఆర్కిటెక్చర్కు మద్దతునిస్తాయి.
- FFM (ఫారిన్ ఫంక్షన్ & మెమరీ) API కోసం ప్రాథమిక మద్దతు జోడించబడింది, ఇది బాహ్య లైబ్రరీల నుండి ఫంక్షన్లకు కాల్ చేయడం మరియు JVM వెలుపల మెమరీని యాక్సెస్ చేయడం ద్వారా బాహ్య కోడ్ మరియు డేటాతో జావా ప్రోగ్రామ్ల పరస్పర చర్యను నిర్వహించడానికి మిమ్మల్ని అనుమతిస్తుంది.
- వర్చువల్ థ్రెడ్లకు మద్దతు జోడించబడింది, ఇవి తేలికైన థ్రెడ్లు, ఇవి అధిక-పనితీరు గల బహుళ-థ్రెడ్ అప్లికేషన్ల రచన మరియు నిర్వహణను చాలా సులభతరం చేస్తాయి.
- వెక్టర్ API యొక్క నాల్గవ పరిదృశ్యం ప్రతిపాదించబడింది, x86_64 మరియు AArch64 ప్రాసెసర్లపై వెక్టార్ సూచనలను ఉపయోగించి అమలు చేయబడిన వెక్టార్ లెక్కల కోసం ఫంక్షన్లను అందిస్తుంది మరియు బహుళ విలువలకు (SIMD) ఏకకాలంలో ఆపరేషన్లను వర్తింపజేయడానికి అనుమతిస్తుంది. స్కేలార్ కార్యకలాపాల యొక్క ఆటో-వెక్టరైజేషన్ కోసం హాట్స్పాట్ JIT కంపైలర్లో అందించబడిన సామర్థ్యాల వలె కాకుండా, కొత్త API సమాంతర డేటా ప్రాసెసింగ్ కోసం వెక్టరైజేషన్ను స్పష్టంగా నియంత్రించడాన్ని సాధ్యం చేస్తుంది.
- "స్విచ్" వ్యక్తీకరణలలో నమూనా సరిపోలిక యొక్క మూడవ ప్రయోగాత్మక అమలు జోడించబడింది, ఖచ్చితమైన విలువలకు బదులుగా "కేస్" లేబుల్లలో అనువైన టెంప్లేట్లను ఉపయోగించడాన్ని అనుమతిస్తుంది, ఒకేసారి విలువల శ్రేణిని కవర్ చేస్తుంది, దీని కోసం గతంలో ఉపయోగించాల్సిన అవసరం ఉంది. గజిబిజి గొలుసుల "ఇఫ్...లేస్" వ్యక్తీకరణలు. ఆబ్జెక్ట్ o = 123L; స్ట్రింగ్ ఫార్మాట్ చేయబడింది = స్విచ్ (o) {case Integer i -> String.format("int %d", i); కేస్ లాంగ్ l -> String.format("పొడవైన %d", l); కేసు డబుల్ d -> String.format("డబుల్ %f", d); కేస్ స్ట్రింగ్ s -> String.format("String %s", s); డిఫాల్ట్ -> o.toString(); };
- నిర్మాణాత్మక సమాంతరత కోసం ప్రయోగాత్మక API జోడించబడింది, ఇది వివిధ థ్రెడ్లలో నడుస్తున్న బహుళ టాస్క్లను ఒకే బ్లాక్గా పరిగణించడం ద్వారా బహుళ-థ్రెడ్ అప్లికేషన్ల అభివృద్ధిని సులభతరం చేస్తుంది.
మూలం: opennet.ru