జావా 8 వర్సెస్ జావా 9: మీరు తెలుసుకోవలసిన జావా 9 లో మెరుగుదలలు
అప్లికేషన్లను రూపొందించడానికి చాలా మంది డెవలపర్లు జావా వైపు మొగ్గు చూపుతారు. మనందరికీ తెలిసినట్లుగా, జావా చాలా బహుముఖమైనది, ఉపయోగించడానికి సులభమైనది, సురక్షితమైనది, నమ్మదగినది మరియు అన్నింటికంటే, ఇది ప్లాట్ఫారమ్ స్వతంత్రమైనది. జావాకు ప్రపంచవ్యాప్తంగా 6.5 మిలియన్లకు పైగా డెవలపర్లు ఉన్నారు. అలాగే, రిఫరెన్స్ మెటీరియల్ కూడా సమృద్ధిగా ఉన్నందున ఇది ఉపయోగించడానికి సరైన భాష.
ఏదేమైనా, జావా సంవత్సరాలుగా పెరుగుతూ మరియు అభివృద్ధి చెందుతూనే ఉంది. 1995 లో సన్ మైక్రోసిస్టమ్స్ ద్వారా సృష్టించబడింది , జావా దాని విశ్వసనీయతను రుజువు చేస్తూనే ఉంది. మార్చి 18, 2014 నుండి వాడుకలో ఉన్న మునుపటి జావా బిల్డ్ జావా SE 8. ఇది ఆవిష్కరించబడినప్పుడు, ఇది కళాకృతి, API లలో మార్పుల స్ట్రీమ్ల విడుదల అని విమర్శకులు చెప్పారు. ఇప్పుడు బ్లాక్లో కొత్త కిడ్ ఉంది. తాజాగా ముద్రించిన జావా 9 చివరకు ఇక్కడ ఉంది. సెప్టెంబర్ 21, 2017 న ఆవిష్కరించబడింది , జావా SE 9 మేము పనులు చేసే విధానాన్ని మరియు డెవలపర్లు అప్లికేషన్లను సృష్టించే విధానాన్ని కదిలించగలదని భావిస్తున్నారు.
జావా 8 యొక్క అద్భుతమైన చురుకుదనం మరియు పాండిత్యము కారణంగా, వ్యాపారాలు ఆరోగ్య సంరక్షణ, ఫిన్టెక్ మరియు ఇతర ప్రధాన రంగాల వంటి పరిశ్రమలకు అద్భుతమైన పరిష్కారాలను సృష్టించాయి. జావా 9, మరోవైపు, దానిపై ఆధారపడి ఉంటుందని మరియు డెవలపర్లకు పూర్తిగా కొత్త కార్యాచరణలను అందిస్తుందని వాగ్దానం చేసింది.
కాబట్టి, జావా 9 లో కొత్తదనం ఏమిటో చూద్దాం.
ప్రాజెక్ట్ జా
ఇది జావా 9. ముఖ్యాంశాలలో ఒకటి. ప్రాథమికంగా, ప్రాజెక్ట్ జా అని పేరు పెట్టారు మాడ్యులరైజేషన్ జావా యొక్క. ఒక పెద్ద చిత్రాన్ని రూపొందించడానికి జా ముక్కలు ముక్కలు ముక్కలుగా కలిసి వచ్చినట్లుగా, జావా 9 యొక్క మాడ్యులారిటీ కూడా వస్తుంది. దీని అర్థం అమలు చేయాల్సిన పనులు లేదా కార్యాచరణల కారణంగా కోడ్ భాగాలు (మాడ్యూల్స్) గా విభజించబడింది. ఇది ఒక భారీ ముందడుగు, ఎందుకంటే మాడ్యులరైజేషన్ కోడ్ యొక్క పునరుపయోగాన్ని మరింత సౌకర్యవంతంగా చేయడమే కాకుండా, నిర్వహణ మరియు డీబగ్గింగ్ కూడా సూటిగా ఉంటుంది. ఈ కారణంగా, డెవలపర్లు మునుపటి ఇతర బిల్డ్ల కంటే జావా 9 తో అప్లికేషన్లను సృష్టించడం సులభతరం అవుతుందని మేము కనుగొన్నాము.
మాడ్యులరైజేషన్ యొక్క మరొక ప్రయోజనం ఏమిటంటే, డెవలపర్లు ఇప్పుడు తేలికైన, స్కేలబుల్ అప్లికేషన్లను సృష్టించగలరు. ప్రత్యేకించి ఇంటర్నెట్ ఆఫ్ థింగ్స్ పెరుగుతూనే ఉన్నందున, జావాలో వ్రాసిన మరిన్ని యాప్లను మేము కనుగొంటాము.
JEP 222: జెల్ : జావా షెల్
జావా 9 కొత్త రీడ్-ఎవల్-ప్రింట్ లూప్ (REPL) సాధనాన్ని కలిగి ఉంది. కింద దాని అభివృద్ధి దశలో ఉన్న తరువాత ప్రాజెక్ట్ హక్కు ఈ ఫీచర్ చివరకు ప్రజలకు విడుదల చేయబడింది. ఈ కొత్త ఫీచర్ అనేది ఇంటరాక్టివ్ టూల్, ఇది జావాలో వ్రాసిన ఎక్స్ప్రెషన్స్, స్టేట్మెంట్లు మరియు డిక్లరేషన్లను పరీక్షించడానికి ఉపయోగించబడుతుంది. JShell API మరియు సాధనం యొక్క ప్రధాన లక్ష్యం షెల్ స్థితిలో పైన పేర్కొన్న ఫీచర్లను పరీక్షించడానికి డెవలపర్కు అవకాశం ఇవ్వడం. ఇది ప్రధానంగా వేగవంతమైన కోడింగ్ మరియు పరిశోధన, దీని ద్వారా వ్యక్తీకరణలు మరియు ప్రకటనలు ఒక పద్ధతి మరియు పద్ధతుల లోపల ఉండాల్సిన అవసరం లేదు, తరగతి లోపల ఉండాల్సిన అవసరం లేదు. ఈ విధంగా డెవలపర్ కోడ్ ముక్కలను త్వరగా విశ్లేషించవచ్చు మరియు అవి కావలసిన ప్రభావాన్ని తెస్తాయో లేదో చూడవచ్చు.
జెల్ టూల్ కింది ఫీచర్లతో కమాండ్ లైన్ ఇంటర్ఫేస్ కలిగి ఉంటుంది:
- కాన్ఫిగర్ చేయదగిన ముందస్తు నిర్వచనం మరియు దిగుమతులు.
- ఎడిటింగ్ సామర్థ్యాలతో చరిత్ర
- అవసరమైన టెర్మినల్ సెమికోలన్ల స్వయంచాలక అదనంగా
కంపైలర్ మెరుగుదలలు
అప్లికేషన్లు వేగంగా నడుస్తున్నాయని నిర్ధారించడానికి, జావా 9 ముందుగానే (AoT) సంకలనం అనే కొత్త టెక్నాలజీని నమోదు చేసింది. ఈ సాంకేతికత దాని ప్రయోగాత్మక దశలలో ఉన్నప్పటికీ, వర్చువల్ మెషీన్లలో ప్రారంభించడానికి ముందే జావా తరగతులను స్థానిక కోడ్లోకి కంపైల్ చేయడం సాధ్యపడుతుంది. దీని అవకాశాలు అంతులేనివి. ఏదేమైనా, ఈ సాంకేతికత యొక్క తక్షణ వినియోగం గరిష్ట పనితీరులో ఎలాంటి ఆటంకం లేకుండా పెద్ద మరియు చిన్న యాప్ల కోసం ప్రారంభ సమయాన్ని మెరుగుపరుస్తుంది.
పునరాలోచనలో, జావా 8 జస్ట్-ఇన్-టైమ్ (JIT) కంపైలర్లను ఉపయోగిస్తుంది. ఈ కంపైలర్లు వేగంగా ఉంటాయి కానీ వేడెక్కడానికి ముందు కొంచెం ఎక్కువ సమయం పడుతుంది. చిన్న ప్రోగ్రామ్లు లేదా యాప్లకు ఇది అసంభవం కావచ్చు ఎందుకంటే కంపైల్ చేయడానికి ఎక్కువ కోడ్ లేదు. అయితే, పెద్ద యాప్ల కోసం, కథనం చాలా భిన్నంగా ఉంటుంది. వార్మ్-అప్-టైమ్ కంపైలర్ అవసరం, అంటే కొన్ని పద్ధతులు సంకలనం చేయబడవు, తద్వారా యాప్ పనితీరు బలహీనపడుతుంది.
స్మార్ట్ కంపైలేషన్ విస్తరణలో రెండవ దశ జావాక్ టూల్ యొక్క పోర్టబిలిటీ మరియు స్థిరత్వాన్ని మెరుగుపరచడం. ఈ సాధనాన్ని మెరుగుపరచడం ద్వారా దీనిని నేరుగా JVM (జావా వర్చువల్ మెషిన్) లో డిఫాల్ట్ సెట్టింగ్గా ఉపయోగించుకోవచ్చు. అంతే కాకుండా, JDK పర్యావరణం వెలుపల కూడా డెవలపర్లను ఉపయోగించుకునే విధంగా సాధనం సాధారణీకరించబడింది. డెవలపర్లకు ఇది పెద్ద విషయం, ఎందుకంటే అనుకూలత గురించి చింతించకుండా సులభంగా ఉంచగల పెద్ద ప్రాజెక్ట్లలో జావాను ఉపయోగించవచ్చు. మరొక కీలకమైన అప్డేట్ జావాక్ కంపైలర్ యొక్క వెనుకబడిన అనుకూలత, దీని ఏకైక ఫంక్షన్ జావా 9 ఉపయోగించి సృష్టించబడిన యాప్లు మరియు ప్రోగ్రామ్లను పాత జావా వెర్షన్లలో కూడా అమలు చేయడం.
మెరుగైన జావాస్క్రిప్ట్ బ్యాకింగ్
జావాస్క్రిప్ట్ ఊపందుకుంటున్నది మరియు చాలా మందికి ఇష్టమైనదిగా మారడంతో, JDK 9 జావా యాప్లలో జావాస్క్రిప్ట్ను పొందుపరచడం సాధ్యమైంది. ఇవన్నీ సహాయంతో జరుగుతాయి ప్రాజెక్ట్ ఖడ్గమృగం దీని ప్రధాన లక్ష్యం జావాలో అధిక పనితీరు ఇంకా తేలికైన జావాస్క్రిప్ట్ రన్టైమ్ను సృష్టించడం. వారు JDK వెర్షన్ 8 లో జావాస్క్రిప్ట్ ఇంజిన్ అందించినప్పుడు ఇది పంపిణీ చేయబడింది. ఇప్పుడు వెర్షన్ 9 లో, పార్షర్ API ఉంది, దీని లక్ష్యం నాషోర్న్ యొక్క ECMAScript సింటాక్స్ ఆర్డర్. ఈ API చేసేది ప్రాజెక్ట్ Nashorn యొక్క అంతర్గత అమలు తరగతులపై ఆధారపడకుండా సర్వర్-సైడ్ ఫ్రేమ్వర్క్లు మరియు IDE ల ద్వారా ECMAScript కోడ్ విశ్లేషణను ప్రారంభించడం.
చెత్త సేకరించే వ్యక్తిగా జి 1
ప్రజాదరణ పొందిన నమ్మకానికి విరుద్ధంగా, జావాలో ఒకటి కాదు, నలుగురు చెత్త సేకరించేవారు ఉన్నారు. ఈ చెత్త సేకరించేవారు సమానంగా సృష్టించబడలేదు మరియు తప్పుగా ఎంచుకోవడం అంటే అప్లికేషన్లో పనితీరు సమస్యలను కలిగి ఉంటుంది. జావా 8 లో, డిఫాల్ట్ చెత్త సేకరించేవారు సమాంతర / త్రూపుట్ కలెక్టర్. ఈ చెత్త కలెక్టర్ స్థానంలో దాని ముందున్న గార్బేజ్-ఫస్ట్ కలెక్టర్ (G1) భర్తీ చేయబడింది. G1 కలెక్టర్ సమర్ధవంతంగా 4GB కంటే ఎక్కువ కుప్పలను సమర్ధించేలా రూపొందించబడినందున, ఇది చిన్న మరియు పెద్ద-స్థాయి అనువర్తనాలకు సరైన చెత్త సేకరించేది.
API నవీకరణలు
జావా డెవలప్మెంట్ కిట్ యొక్క ఈ కొత్త వెర్షన్లో, API లకు అనేక అప్డేట్లు చేయబడ్డాయి మరియు మేము చాలా ముఖ్యమైన వాటి గురించి చర్చిస్తాము.
Java.util.concurrent.Flow మరియు CompletableFuture కలిగిన జావా 9 ఏకకాలిక నవీకరణలు మొదటిది. వెనుక ఒత్తిడి ఉన్న సమస్యను పరిష్కరించడం లక్ష్యంగా పెట్టుకుంది. ఫ్లో అనేది జావా యొక్క అమలు రియాక్టివ్ స్ట్రీమ్స్ API ఇది ముఖ్యంగా బ్యాక్ప్రెషర్ సమస్యను పరిష్కరించడం లక్ష్యంగా పెట్టుకుంది. బ్యాక్ ప్రెజర్ అనేది అప్లికేషన్ యొక్క ప్రాసెసింగ్ సామర్థ్యం కంటే ఇన్కమింగ్ అభ్యర్థనల రేటు ఎక్కువగా ఉన్నప్పుడు సంభవించే డేటా బిల్డ్-అప్. దీర్ఘకాలంలో, ఇది ఒక సమస్య ఎందుకంటే అప్లికేషన్ ప్రాసెస్ చేయని డేటా బఫర్తో ముగుస్తుంది. ఈ అప్డేట్ అంటే టైమ్అవుట్లు, ఆలస్యాలు మరియు సబ్క్లాస్సింగ్ని మెరుగ్గా నిర్వహించడం.
భద్రత జావా యొక్క ప్రధాన గుర్తింపులో భాగం. అలాగే, కొత్తగా ఆమోదించబడిన వాటికి మద్దతు HTTP 2.0 RFC ఒక భారీ ప్లస్. HTTP 2.0 RFC పైన నిర్మించబడింది Google యొక్క SPDY అల్గోరిథం ఇది ఇప్పటికే మునుపటి HTTP 1.1 నుండి 11.81% నుండి 47.7% వరకు వేగ మెరుగుదలలతో ఫలాలను ఇవ్వడం ప్రారంభించింది. ఈ క్లయింట్ API అనేది కోర్ HTTP ప్రోటోకాల్లకు మరియు HttpURLC కనెక్షన్ API కి అప్గ్రేడ్ చేయడం సమస్యాత్మకం, కనీసం చెప్పాలంటే ఇది HTTP 1 కి ముందే తయారు చేయబడింది.
కోడ్ క్యాషింగ్ ఎల్లప్పుడూ సంవత్సరాలుగా అప్లికేషన్లను వేగంగా మరియు సున్నితంగా చేయడానికి ఉపయోగించే వ్యూహం. అయితే, ఇది దాని పరిమితులు లేకుండా లేదు, మరియు ఇది గుర్తించబడలేదు. జావా 9 లోని ఒక అప్డేట్ JDK 9 కాష్ కోడ్లను చిన్న భాగాలుగా విభజించి మొత్తం పనితీరును మెరుగుపరుస్తుంది. నాన్-మెథడ్ కోడ్ని దాటవేయడానికి JDK 9 ప్రత్యేక ఇటరేటర్లను ఉపయోగిస్తుంది; ప్రొఫైల్డ్, నాన్-ప్రొఫైల్డ్ మరియు నాన్-మెథడ్ కోడ్ను వేరు చేయడానికి; మరియు అమలు సమయం కోసం కొన్ని బెంచ్మార్క్లను మెరుగుపరచడం.
జావా 9 యొక్క ప్రయోజనాలు
చాలా మంది వ్యాపార యజమానులకు, జావా 8 మరియు 9 మధ్య వ్యత్యాసం లేదు, అయితే, డెవలపర్కి, ప్రపంచానికి తేడా ఉంది. జావా SE 9 దాని పూర్వీకుల కంటే ఈ ప్రయోజనాలు.
- మాడ్యూల్స్ సిస్టమ్కి అభివృద్ధి వేగం గణనీయంగా పెరుగుతుంది, ఇది నిర్వహించడం మరియు డీబగ్ చేయడం సులభం మాత్రమే కాదు, పునర్వినియోగ అర్ధం కూడా మీరు మొదటి నుండి మొత్తం కోడ్ రాయాల్సిన అవసరం లేదు.
- మాడ్యులరైజేషన్ నుండి అనువర్తనాల కోసం వనరుల ప్రభావాన్ని మెరుగుపరచడం మరియు రిసోర్స్ పుల్లింగ్ను సరళంగా చేయడం వలన డెవలపర్లు మొత్తం JRE కి బదులుగా అవసరమైన మాడ్యూల్స్ మాత్రమే తీసుకుంటారు.
- వంటి కోడ్ స్నిప్పెట్ల రియల్ టైమ్ విశ్లేషణ మైక్రో బెంచ్మార్క్లు కోడ్ యొక్క చిన్న ముక్కల పనితీరును పరిశీలించడానికి ఉపయోగిస్తారు.
మూలాలు
http://openjdk.java.net/jeps/251
https://www.romexsoft.com/blog/java-8-vs-java-9/
https://blogs.oracle.com/java/features-in-java-8-and-9
https://dzone.com/articles/5-features-in-java-9- ఆ------- మీరు- దేవ్