ஜாவாவில் சிங்கிள்டன் வகுப்பு - சிங்கிள்டன் வகுப்பை எவ்வாறு பயன்படுத்துவது?

ஜாவாவில் உள்ள சிங்கிள்டன் வகுப்பைப் பற்றிய இந்த கட்டுரை, ஒரு வகுப்பை சிங்கிள்டனாக மாற்றுவதற்கான பல்வேறு வழிகளைப் பற்றி பேசுகிறது.

ஜாவாவில், ஒரு சிங்கிள்டன் வகுப்பு என்பது ஒரு குறிப்பிட்ட நேரத்தில் ஒரே ஒரு நிகழ்வை மட்டுமே கொண்டிருக்கக்கூடிய ஒரு வகுப்பு. ஜாவாவில் உள்ள ஐந்து படைப்பு வடிவமைப்பு வடிவங்களில் இதுவும் ஒன்றாகும், இது சிரமமின்றி வளர்ச்சிக்கு உதவுகிறது . இந்த கட்டுரையின் ஊடகம் மூலம், ஜாவாவில் ஒரு சிங்கிள்டன் வகுப்பு என்றால் என்ன, அதை நீங்கள் எவ்வாறு உருவாக்கலாம் என்பது பற்றிய தெளிவான நுண்ணறிவுகளை உங்களுக்கு தருகிறேன்.



இந்த கட்டுரையில் நான் உள்ளடக்கும் தலைப்புகள் கீழே:



தொடங்குவோம்.

ஜாவாவில் சிங்கிள்டன் வகுப்பு என்றால் என்ன?

சாதாரண மனிதர்களைப் பொறுத்தவரை, ஜாவாவில் உள்ள ஒரு சிங்கிள்டன் வகுப்பு என்பது ஒரு நேரத்தில் ஒரு நிகழ்வு மூலம் அதை அணுக அனுமதிக்கும் வர்க்கமாகும். இந்த வடிவமைப்பு முறை ஒரு வகுப்பின் தேவையற்ற உடனடித் தடையை கட்டுப்படுத்துவதற்கும், ஒன்றை மட்டுமே உறுதி செய்வதற்கும் ஆகும் ஒரு ஜே.வி.எம் உதாரணத்திற்கு எந்த நேரத்திலும் உள்ளது. எனவே, இந்த வடிவத்துடன், சிங்கிள்டன் என வரையறுக்கப்பட்ட எந்த வர்க்கத்திற்கும் ஒரே ஒரு நிகழ்வு மட்டுமே உள்ளதுஉலகளாவிய அணுகலுடன். சாதாரண வகுப்புகளைப் போலன்றி, பயன்பாடுகளின் வாழ்க்கைச் சுழற்சியின் முடிவில் ஒரு சிங்கிள்டன் வகுப்பு அழிக்கப்படாது.



ஆனால் நமக்கு ஏன் முதலில் ஒரு சிங்கிள்டன் வகுப்பு தேவை?

சரி, ஒரு வகுப்பை உதாரணமாக உருவாக்குவதை கட்டுப்படுத்துவதன் மூலம் அது நினைவக இடத்தை சேமிக்கிறது, இப்போது ஒவ்வொரு முறையும் ஒரு புதிய கோரிக்கை செய்யப்படும்போது பொருள் உருவாக்கப்படாது. அதற்கு பதிலாக, ஒரு பொருள் மீண்டும் மீண்டும் பயன்படுத்தப்படும். ஜாவாவில் உள்ள சிங்கிள்டன் முறை பெரும்பாலும் பயன்படுத்தப்படுவதற்கான காரணம் இதுதான் மற்றும் தரவுத்தள பயன்பாடுகள். இது அடிப்படையில் பதிவு செய்தல், தற்காலிக சேமிப்பு, நூல் பூலிங், உள்ளமைவு அமைப்புகள் மற்றும் பலவற்றிற்கு பயன்படுத்தப்படுகிறது.

ஜாவாவில் சிங்கிள்டன் வகுப்பு என்ற கருத்துடன் நீங்கள் தெளிவாக இருக்கிறீர்கள் என்று நம்புகிறேன். எனவே, இப்போது இதை மேலும் தொடரலாம்ஜாவா கட்டுரையில் சிங்கிள்டன் வகுப்பு மற்றும் அவை எவ்வாறு உருவாக்கப்படுகின்றன என்பதைப் பாருங்கள்.



ஜாவா சிங்கிள்டன் வகுப்பை வடிவமைப்பதற்கான வழிகள்

ஜாவாவில் ஒரு வகுப்பு சிங்கிள்டனை உருவாக்க, உங்களுக்கு பின்வரும் மூன்று விஷயங்கள் தேவை:

system.exit (0)
  1. ஒரு வகுப்பின் நிலையான உறுப்பினர்
  2. தனியார் கட்டமைப்பாளர்
  3. நிலையான தொழிற்சாலை முறை

டெவலப்பர்கள் தங்கள் எல்லைகளை ஆராய ஜாவா அனுமதிப்பதால், உள்ளனநீங்கள் ஒரு சிங்கிள்டன் வகுப்பை வடிவமைக்க பல வழிகள். கீழே நான் மிகவும் பிரபலமானவற்றை பட்டியலிட்டுள்ளேன்.

  1. ஆர்வமுள்ள துவக்க முறை
  2. சோம்பேறி துவக்க முறை
  3. நூல் பாதுகாப்பான சிங்கிள்டன் முறை
  4. இரட்டை பூட்டு முறையுடன் சோம்பேறி துவக்கம்
  5. சோம்பேறி சுமை முறை
  6. நிலையான தொகுதி துவக்க முறை

இந்த அணுகுமுறைகளில் ஒவ்வொன்றாக ஒவ்வொன்றாக ஆழமாக முழுக்குவோம்.

1. ஆர்வமுள்ள துவக்க முறை

சிங்கிள்டன் வகுப்பை உருவாக்குவதற்கான எளிதான முறை இது, வகுப்பு ஏற்றுதல் நேரத்தில் உதாரணம் உருவாக்கப்படுகிறது. இந்த முறையைப் பயன்படுத்தி ஒரு சிங்கிள்டன் வகுப்பை உருவாக்க, நீங்கள் கீழே குறிப்பிட்ட படிகளைப் பின்பற்ற வேண்டும்:

  1. கட்டமைப்பாளரை தனிப்பட்டதாக அறிவிக்கவும்.
  2. அடுத்த கட்டமாக இந்த சிங்கிள்டன் வகுப்பிற்கு ஒரு தனியார் வகுப்பு உறுப்பினரை உருவாக்குவது.
  3. இப்போது, ​​நீங்கள் ஒரு தொழிற்சாலை முறையை வரையறுக்க வேண்டும், இது உங்கள் வகுப்பின் பொருளைத் திருப்பித் தர பயன்படும், நாங்கள் வகுப்பு உறுப்பினரின் உதாரணமாக இதை உருவாக்கியுள்ளோம்.
  4. இந்த நிலையான நிகழ்வை நீங்கள் நேரடியாக அணுக விரும்பினால் நிலையான உறுப்பினரை பொது என்று அறிவிக்கலாம்.

இப்போது, ​​இவற்றை எவ்வாறு செயல்படுத்துவது என்று பார்ப்போம்.

Http

நீங்கள் குறியீட்டைக் கண்டால், ஒவ்வொரு முறையும் நாம் ஒரு பொருளை நிறுவுகிறோம் என்பதை நீங்கள் பயன்படுத்தலாம்getInstance ()வகுப்பைத் தூண்டுவதை விட முறை பில்டர் .ஆனால் அதற்கு அதன் சொந்த தீமைகள் உள்ளன. வகுப்பு சிங்கிள்டனை உருவாக்க நீங்கள் இந்த முறையைப் பயன்படுத்தினால், பயன்பாடு அதைப் பயன்படுத்துகிறதா இல்லையா என்பதைப் பொருட்படுத்தாமல் ஒரு நிகழ்வு உருவாக்கப்படும்.

ஜாவாவில் எத்தனை ஒதுக்கப்பட்ட சொற்கள்

எனவே, ஜாவாவில் சிங்கிள்டன் வகுப்பை உருவாக்குவதற்கான மற்றொரு வழியைப் பார்ப்போம்.

2. சோம்பேறி துவக்க முறை

இந்த முறை சோம்பேறி துவக்கம் என்று அழைக்கப்படுகிறது, ஏனெனில் இது வர்க்க நிகழ்வை அதன் முதல் பயன்பாடு வரை ஒத்திவைக்கிறது. நான் சொல்வது என்னவென்றால், இந்த முறையால், ஒரு பொருள் தேவைப்பட்டால் மட்டுமே உருவாக்கப்படுகிறது. இது தேவையற்ற உருவாக்கத்தைத் தவிர்க்க உதவுகிறது . இந்த வழியில் ஒரு சிங்கிள்டன் வகுப்பை வடிவமைக்க, நீங்கள் கீழே பட்டியலிடப்பட்ட படிகளைப் பின்பற்ற வேண்டும்:

  1. முதலில், கட்டமைப்பாளரை தனிப்பட்டதாக அறிவிக்கவும்.
  2. இந்த வகுப்பிற்கு நீங்கள் ஒரு தனிப்பட்ட நிலையான நிகழ்வை உருவாக்க வேண்டும், ஆனால் அதை இன்னும் உடனடியாக நிறுவ வேண்டிய அவசியமில்லை.
  3. இறுதியாக, ஒரு தொழிற்சாலை முறையை உருவாக்கவும், இது நிகழ்வு உறுப்பினர் பூஜ்யமா இல்லையா என்பதை முதலில் சோதிக்கும். இல்லையென்றால் அது உங்களுக்காக சிங்கிள்டன் வகுப்பின் ஒரு நிகழ்வை உருவாக்கி அதைத் திருப்பித் தரும்.

இதை எவ்வாறு செய்வது என்பதை கீழே உள்ள குறியீடு காட்டுகிறது.

// சோம்பேறி துவக்கம் பொது வகுப்பு LazySingleton {private static LazySingleton INSTANCE = null private LazySingleton ()}} public static LazySingleton getInstance () {if (INSTANCE == null) {if (INSTANCE == null) {ஒத்திசைக்கப்பட்ட (LazySingleton.class) {INSTANCE INSTANCE ஐத் திரும்புக}}

3. நூல் பாதுகாப்பான சிங்கிள்டன் முறை

ஆனால் மேற்கண்ட அணுகுமுறை ஒரே நேரத்தில் சில கவலைகளை எழுப்பக்கூடும். சிங்கிள்டன் முறை முக்கியமாக பல நூல்களுடன் பயன்படுத்தப்படுகிறது மற்றும் இருந்தால்பல இழைகள் ஒரே நேரத்தில் if நிபந்தனையை உள்ளிடுகின்றன, இது சிக்கல்களை எழுப்பக்கூடும். இதைத் தவிர்க்க, உலகளாவிய அணுகல் முறையை ஒத்திசைப்பதன் மூலம் நூல்-பாதுகாப்பான சிங்கிள்டன் வகுப்பை உருவாக்க முயற்சிக்கிறோம். எந்த நேரத்திலும் ஒரே ஒரு நூல் மட்டுமே இந்த முறையை செயல்படுத்துகிறது என்பதை இது உறுதி செய்கிறது. செயல்படுத்தலைக் காண கீழேயுள்ள குறியீட்டைப் பார்க்கவும்:

// நூல் பாதுகாப்பான சிங்கிள்டன் பொது வகுப்பு ThreadSafeSingleton {private static ThreadSafeSingleton INSTANCE private ThreadSafeSingleton ()}} பொது நிலையான ஒத்திசைக்கப்பட்ட ThreadSafeSingleton getInstance () {if (INSTANCE == null) {INSTANCE = new ThreadSafeSing

ஆனால் சில நேரங்களில் இந்த அணுகுமுறை ஒவ்வொரு முறையும் மிகவும் சிக்கலானதாக மாறும்முறை பயன்படுத்தப்படுவதற்கு முன்பு பூட்டு வெளியிடப்படுவதற்கு காத்திருக்க வேண்டும். இது செயல்முறையை மெதுவாக்குகிறது மற்றும் அடுத்த அணுகுமுறைக்கு நம்மை இட்டுச் செல்கிறதுஇரட்டை பூட்டுடன் சோம்பேறி துவக்கம்.

4. இரட்டை பூட்டுடன் சோம்பேறி துவக்கம் முறை

இந்த அணுகுமுறையில், நாங்கள் முறைகளை ஒத்திசைக்கவில்லை. ஒத்திசைக்கப்பட்ட தொகுதிக்குள் பொருள் உருவாக்கும் குறியீட்டை நாங்கள் இணைக்கிறோம்.நூல் பூட்டுகளை முன்பே சரிபார்த்து, அதை நீங்கள் கூறலாம்பூட்டு கையகப்படுத்துதல்களின் எண்ணிக்கையை குறைக்கிறது. இந்த அணுகுமுறை வழக்கமாக பயன்பாட்டின் செயல்திறனை அதிகரிக்கும். இது எவ்வாறு செய்யப்படுகிறது என்பதைக் காண கீழேயுள்ள குறியீட்டைப் பாருங்கள்.

// இரட்டை பூட்டுடன் கூடிய சோம்பேறி துவக்கம் பொது வகுப்பு LazyDoubleLockSingleton {private static LazyDoubleLockSingleton INSTANCE = பூஜ்ய தனியார் LazyDoubleLockSingleton ()}} பொது நிலையான LazyDoubleLockSingleton getInstance () {if = INSTAN பூஜ்யம்) {INSTANCE = புதிய LazyDoubleLockSingleton ()}}} INSTANCE திரும்ப}}

5. சோம்பேறி சுமை முறை

இந்த முறை ஜே.எஸ்.எல் (ஜாவா மொழி விவரக்குறிப்பு) மற்றும் இதன் படி அமைந்துள்ளது நிலையான தரவு உறுப்பினர்கள் தேவைப்படும்போது மட்டுமே ஏற்றப்படும். உங்கள் சிங்கிள்டன் வகுப்பு ஜே.வி.எம்மில் ஏற்றப்படும் போது, ​​எந்த நிகழ்வும் உருவாக்கப்படவில்லை. மேலும், நிரலை செயல்படுத்தும்போது, ​​உலகளாவிய முறை தொடர்ச்சியான வரிசையில் பயன்படுத்தப்படுகிறது. இந்த முறை மூலம், ஏற்ற மற்றும் துவக்க நிலையான getInstance () ஐ நீங்கள் வெளிப்படையாக ஒத்திசைக்க வேண்டியதில்லை. நிலையான வகுப்பு உறுப்பினர் சரியான வரிசையில் செயல்படுத்தப்படுவார், உலகளாவிய முறையின் மீதமுள்ள ஒரே நேரத்தில் அழைப்புகள் ஒத்திசைவு மேல்நிலை செய்யாமல் அதே வரிசையில் திரும்பும்.

அதைச் செய்வதற்கான குறியீடு கீழே உள்ளது.

// சோம்பேறி சுமை முறை பொது வகுப்பு LazyLoadSingleton {private LazyLoadSingleton ()}} private static class SingletonClassHolder {நிலையான இறுதி Var INSTANCE = புதிய LazyLoadSingleton ()} பொது நிலையான LazyLoadSingleton getInstance () {return SingletonClassHolder

6. நிலையான தொகுதி துவக்க முறை

ஜாவாவில் ஒரு சிங்கிள்டன் வகுப்பை உருவாக்கும் இந்த முறைஆர்வமுள்ள துவக்க முறை போன்றது. ஒரே வித்தியாசம் என்னவென்றால், இந்த வகுப்பிற்கான நிகழ்வு நிலையான தொகுதிக்குள் உருவாக்கப்படுகிறது செயல்பாடு.

// நிலையான தொகுதி துவக்கம் பொது வகுப்பு StaticBlockSingleton {private static StaticBlockSingleton INSTANCE private StaticBlockSingleton () {} // நிலையான தொகுதி நிலையான உள்ளே விதிவிலக்கு கையாளுதல் {try {INSTANCE = new StaticBlockSingleton ()} catch (விதிவிலக்கு e) new புதிய இயக்கநேர எக்ஸ்செஷன் ('விதிவிலக்கு ஒரு சிங்கிள்டன் வகுப்பை உருவாக்கும் போது ')}} பொது நிலையான நிலையான பிளாக் சிங்கிள்டன் getInstance () {உடனடி வருமானம்}}

இது ஜாவாவில் உள்ள சிங்கிள்டன் வகுப்பில் இந்த கட்டுரையின் முடிவிற்கு நம்மைக் கொண்டுவருகிறது. நீங்கள் ஜாவா பற்றி மேலும் தெரிந்து கொள்ள விரும்பினால், எங்களைப் பார்க்கவும் .

ஜாவாவில் ஒரு சிங்கிள்டன் வகுப்பு என்றால் என்ன என்பதை இப்போது நீங்கள் புரிந்து கொண்டீர்கள், பாருங்கள் உலகெங்கிலும் பரவியுள்ள 250,000 க்கும் மேற்பட்ட திருப்தியான கற்றவர்களின் வலைப்பின்னலுடன் நம்பகமான ஆன்லைன் கற்றல் நிறுவனமான எடுரேகாவால். ஜுவா டெவலப்பராக விரும்பும் மாணவர்கள் மற்றும் நிபுணர்களுக்காக எடுரேகாவின் ஜாவா ஜே 2 இஇ மற்றும் எஸ்ஓஏ பயிற்சி மற்றும் சான்றிதழ் பாடநெறி வடிவமைக்கப்பட்டுள்ளது. ஜாவா புரோகிராமிங்கில் உங்களுக்கு ஒரு தொடக்கத்தைத் தருவதற்கும், ஹைபர்னேட் & ஸ்பிரிங் போன்ற பல்வேறு ஜாவா கட்டமைப்புகளுடன் கோர் மற்றும் மேம்பட்ட ஜாவா கருத்தாக்கங்களுக்கும் பயிற்சி அளிப்பதற்காக இந்த பாடநெறி வடிவமைக்கப்பட்டுள்ளது.

எங்களுக்கு ஒரு கேள்வி கிடைத்ததா? தயவுசெய்து இந்த “ஜாவாவில் சிங்கிள்டன் வகுப்பு” கட்டுரையின் கருத்துகள் பிரிவில் குறிப்பிடவும், விரைவில் நாங்கள் உங்களைத் தொடர்புகொள்வோம்.