Өткізу () және аяқтау () арасындағы айырмашылық

Мазмұны:

Өткізу () және аяқтау () арасындағы айырмашылық
Өткізу () және аяқтау () арасындағы айырмашылық

Бейне: Өткізу () және аяқтау () арасындағы айырмашылық

Бейне: Өткізу () және аяқтау () арасындағы айырмашылық
Бейне: Жасуша мембранасы арқылы белсенді және енжар тасымалдаудың ұқсастықтары мен айырмашылықтары. 9 сынып 2024, Қараша
Anonim

Негізгі айырмашылық – жою () және аяқтау ()

Dispose () мен finalize () арасындағы негізгі айырмашылық мынада: dispose () параметрін бағдарламашы анық шақыруы керек, ал қорытындылауды () нысанды жоймас бұрын қоқыс жинаушы шақырады.

Dispose () – нысан ұстайтын файлдар, ағындар сияқты басқарылмайтын ресурстарды жабу немесе босату әдісі. Аяқтау - нысан жойылмай тұрып ағымдағы нысан ұстайтын басқарылмайтын ресурстарда тазалау әрекеттерін орындау әдісі.

dispose() дегеніміз не?

Ең маңызды артықшылықтарының бірі. NET негізі қоқыстарды автоматты түрде жинауды қамтамасыз етеді. Ол пайдаланылмайтын объектілердің жадын автоматты түрде босатады. C және C++ сияқты бағдарламалау тілдерінде бағдарламашы жадты басқаруды өз бетімен өңдеуі керек. Бірақ. NET Framework негізінде құрылған C сияқты тілдерде қоқыс жинағышты қамтамасыз етеді. Бұл жадты басқаруға көмектеседі. Оны басқарылмайтын жад ресурстарын босату үшін пайдалану мүмкін емес. Бұл тапсырманы орындау үшін dispose () әдісін пайдалануға болады.

Жою () және аяқтау () арасындағы айырмашылық
Жою () және аяқтау () арасындағы айырмашылық

Dispose () әдісін дерекқор қосылымдары, файл өңдеушілері, т.б. сияқты ресурстарды шығару үшін пайдалануға болады. Бұл әдіс автоматты түрде шақырылмайды. Сондықтан бағдарламашы бұл әдісті жүзеге асыруы керек. Бұл әдісті шақырғаннан кейін, нақты басқарылмайтын ресурс үшін жады босатылады. Бұл әдіс IDisposeable интерфейсінде жарияланған.

Қорытындылау () деген не?

Қорытындылау әдісін тек нысанға сілтеме одан әрі пайдаланылмаған кезде қоқыс жинаушы шақырады. Бұл әдіс объектіні жоюдың алдында ғана шақырылады. Бұл әдіс деструктордың көмегімен жүзеге асырылады. Аяқтау әдісі java.lang.object сыныбында анықталған. Бұл әдіс қорғалған деп жарияланды. Басқа сыныптардың кіруіне жол бермеу үшін ол жалпыға ортақ деп жарияланбайды. Жалпы алғанда, аяқтау әдісі бағдарламаның өнімділігін азайтуы мүмкін, себебі ол жадты бірден босатпайды.

dipose () және finalize() арасындағы қандай ұқсастық бар?

Dispose () және finalize() екеуі де басқарылмайтын ресурс үшін бөлінген жадты босату үшін пайдаланылуы мүмкін

dipose () және finalize() арасындағы айырмашылық неде?

қосу () және аяқтау ()

Dispose () – нысан ұстайтын файлдар, ағындар сияқты басқарылмайтын ресурстарды жабу немесе босату әдісі. Қорытындылау - нысан жойылмай тұрып ағымдағы нысан ұстайтын басқарылмайтын ресурстарда тазалау әрекеттерін орындау әдісі.
Мақсат
Қолдану әдісі шақырылған кезде басқарылмайтын ресурстарды босату үшін пайдаланылады. Аяқтау әдісі нысан жойылмай тұрып басқарылмайтын ресурстарды босату үшін пайдаланылады.
Анықталған интерфейс немесе класс
Қолдану () IDisposable интерфейсінде анықталған. Қорытындылау () java.lang.object сыныбында анықталған.
Шақыру әдісі
Қою әдісін бағдарламашы шақырады. Қорытындылау әдісін қоқыс жинаушы шақырады.
Кіру спецификаторы
Жою әдісі жалпыға қолжетімді. Қорытындылау әдісі қорғалған.
Жылдам
Жою әдісі бірден шақырылады. Қорытындылау әдісі баяу шақырылады.
Өнімділік
Жою бағдарламаның өнімділігін азайтпайды. Қорытындылау әдісі бағдарламаның өнімділігін азайтуы мүмкін.

Қорытынды – кәдеге жарату () және аяқтау ()

Бұл мақалада C тіліндегі жою және аяқтау әдістерінің айырмашылығы талқыланды. dispose () мен finalize () арасындағы айырмашылық мынада, dispose () параметрін бағдарламашы анық шақыруы керек, ал қорытындылауды () нысанды жоймас бұрын қоқыс жинаушы шақырады.

Ұсынылған: