تا %60 تخفیف خرید با صدور مدرک برای 5 نفر فقط تا
00 00 00

با خرید یکجای این دوره 5 درصد تخفیف بیشتر بر روی خرید خود بگیرید. این تخفیف تنها شامل پرداخت های بانکی بوده و شامل پرداخت از روی شارژ حساب کاربری نمی باشد.

قیمت: 701,530 تومان

با 30% تخفیف مدرس: 491,080 تومان

با 35% تخفیف وب سایت و مدرس: 456,005 تومان

مهم: برای خریدهای بالای 100 هزار تومان باید از رمز پویا استفاده کنید و امکان خرید با رمز ایستا وجود نخواهد داشت

آموزش سی شارپ (#C) پیشرفته قسمت 14 : Object Life Time و سرویس GC

آموزش سی شارپ (#C) پیشرفته قسمت 14 : Object Life Time و سرویس GC

برای استفاده از این فیلم آموزشی باید هزینه آن را پرداخت کنید.

شما می توانید 3 دقیقه از این ویدیو را به صورت رایگان مشاهده کنید

در قسمت سیزدهم از سری آموزشی برنامه نویسی به زبان سی شارپ با مبحث مدیریت حافظه در دات نت آشنا می شویم. همانطور که قبلاً گفتیم عملیات مدیریت حافظه در دات نت به صورت خودکار توسط CLR انجام می شود، اما این قابلیت در اختیار ما قرار گرفته که به صورت دستی نیز عملیات های مربوط به GC را انجام دهیم. در این قسمت از دوره آموزشی به بررسی مفاهیم زیر می پردازیم:

  1. آشنایی با حافظه های Stack و Heap
  2. چگونگی تخصیص حافظه برای اشیاء در دات نت و مدیریت حافظه توسط GC
  3. آشنایی با Next Object Pointer ای Next Heap Pointer
  4. آشنایی با Application Root ها
  5. چگونگی ذخیره اشیاء در حافظه Heap و آشنایی با Object Generation ها
  6. آشنایی با کلاس GC و کاربرد آن
  7. نحوه بدست آوردن اطلاعات حافظه و اشیاء بوسیله کلاس GC
  8. آشنایی با متد Collect در کلاس GC برای اجرای سرویس GC به صورت دستی
  9. آشنایی با Finalizer ها و تعریف Destructor ها برای کلاس ها
  10. آشنایی با اینترفیس IDisposable و کلمه کلیدی using
  11. ادغام روش های پیاده سازی Desctructor و IDisposable برای شئ ها (الگوی Disposable)
  12. آشنایی با کلاس Lazy

در قسمت بعدی آموزش خواهید دید:

  1. مقدمه ای بر Windows Forms Application ها
عنوان
1 آموزش سی شارپ (#C) پیشرفته قسمت 1 : مقدمه ای بر دوره متفاوت 1:31′:14″ رایگان
2 آموزش سی شارپ (#C) پیشرفته قسمت 2 : معماری دات نت و سی شارپ 39′:7″ 4,240
3 آموزش سی شارپ (#C) پیشرفته قسمت 3 : محیط Visual Studio 14′:56″ رایگان
4 آموزش سی شارپ (#C) پیشرفته قسمت 4 : ساختار برنامه ها 31′:49″ 5,640
5 آموزش سی شارپ (#C) پیشرفته قسمت 5 : انواع داده و کار با تاریخ 47′:35″ 5,640
6 آموزش سی شارپ (#C) پیشرفته قسمت 6 : رشته و آرایه 44′:29″ 5,640
7 آموزش سی شارپ (#C) پیشرفته قسمت 7 : مباحث تکمیلی OOP 25′:10″ 6,330
8 آموزش سی شارپ (#C) پیشرفته قسمت 8 : استثناء ، اینترفیس و مجموعه 44′:23″ 9,130
9 آموزش سی شارپ (#C) پیشرفته قسمت 9 : مجموعه ها (Collections) 46′:35″ 7,040
10 آموزش سی شارپ (#C) پیشرفته قسمت 10 : Delegate و Event 42′:23″ 6,330
11 آموزش سی شارپ (#C) پیشرفته 11: Lambda Expression و متدهای بی نام 26′:24″ 6,330
12 آموزش سی شارپ (#C) پیشرفته قسمت 12 : Covariance و Pointer ها 40′:43″ 10,550
13 آموزش سی شارپ (#C) پیشرفته قسمت 13 : LINQ و عملگر های آن 58′:3″ 12,680
14 آموزش سی شارپ (#C) پیشرفته قسمت 14 : Object Life Time و سرویس GC 44′:50″ 7,040
15 آموزش سی شارپ (#C) پیشرفته قسمت 15 : Windows Form Application 32′:30″ 5,640
16 آموزش سی شارپ (#C) پیشرفته قسمت 16 : Class Library 58′:52″ 11,950
17 آموزش سی شارپ (#C) پیشرفته قسمت 17 : اسمبلی های Private و Shared 35′:37″ 5,640
18 آموزش سی شارپ (#C) پیشرفته قسمت 18 : فایل config در سی شارپ 18′:26″ رایگان
19 آموزش سی شارپ (#C) پیشرفته قسمت 19 : آشنایی با Reflection یک 45′:23″ 9,860
20 آموزش سی شارپ (#C) پیشرفته قسمت 20 : آشنایی با Reflection دو 48′:1″ 10,550
21 آموزش سی شارپ (#C) پیشرفته قسمت 21 : آشنایی با Reflection سه 22′:27″ رایگان
22 آموزش سی شارپ (#C) پیشرفته قسمت 22 : آشنایی با Reflection چهار 34′:26″ 11,950
23 آموزش سی شارپ (#C) پیشرفته قسمت 23 : قابلیت Dynamic و COM Interop 43′:14″ 8,460
24 آموزش سی شارپ (#C) پیشرفته قسمت 24: گرفتن خروجی اکسل در برنامه ها 32′:47″ 8,460
25 آموزش سی شارپ (#C) پیشرفته قسمت 25 : کار با Process ها 50′:57″ 10,550
26 آموزش سی شارپ (#C) پیشرفته قسمت 26 : کار با Application Domain ها 30′:15″ رایگان
27 آموزش سی شارپ (#C) پیشرفته قسمت 27 : آشنایی با CIL 32′:37″ 7,040
28 آموزش سی شارپ (#C) پیشرفته قسمت 28 : نوشتن کد مستقیم با زبان IL 1:17′:5″ 18,990
29 آموزش سی شارپ (#C) پیشرفته قسمت 29 : Dynamic Assembly ها 28′:45″ 7,040
30 آموزش سی شارپ (#C) پیشرفته قسمت 30 : برنامه نویسی Asynchronous 35′:15″ 7,040
31 آموزش سی شارپ (#C) پیشرفته قسمت 31 : کار با System.Threading 57′:36″ 10,550
32 آموزش سی شارپ (#C) پیشرفته قسمت 32 : برنامه نویسی Parallel 32′:16″ 5,640
33 آموزش سی شارپ (#C) پیشرفته قسمت 33 : قابلیت async و await 10′:46″ رایگان
34 آموزش سی شارپ (#C) پیشرفته قسمت 34 : BackgroundWorker و Timer 21′:57″ 4,910
35 آموزش سی شارپ (#C) پیشرفته قسمت 35 : کار با فایل ها و پوشه ها 47′:12″ 9,860
36 آموزش سی شارپ (#C) پیشرفته قسمت 36 : ایجاد فایل و پوشه 39′:18″ 7,040
37 آموزش سی شارپ (#C) پیشرفته قسمت 37 : خواندن و نوشتن در فایل ها 18′:50″ رایگان
38 آموزش سی شارپ (#C) پیشرفته قسمت 38 : FileSystemWatcher 16′:33″ 4,910
39 آموزش سی شارپ (#C) پیشرفته قسمت 39 : کار با Stream ها 36′:41″ 7,040
40 آموزش سی شارپ (#C) پیشرفته قسمت 40 : قابلیت Serialization 29′:29″ 8,460
41 آموزش سی شارپ (#C) پیشرفته قسمت 41 : نوشتن برنامه دفترچه تلفن 43′:17″ 11,950
42 آموزش سی شارپ (#C) پیشرفته 42 : ارتباط با بانک اطلاعاتی (ADO.NET) 41′:59″ 11,950
43 آموزش سی شارپ (#C) پیشرفته قسمت 43 : جلوگیری از SQL Injection 20′:14″ 9,130
44 آموزش سی شارپ (#C) پیشرفته قسمت 44 : Connection String 19′:2″ 8,460
45 آموزش سی شارپ (#C) 45 : ذخیره و رمز نگاری Connection String 19′:12″ 10,550
46 آموزش سی شارپ (#C) پیشرفته قسمت 46 : Repository و کلاس Reusable 32′:13″ 8,460
47 آموزش سی شارپ (#C) پیشرفته قسمت 47 : Repository های Generic یک 55′:45″ 13,370
48 آموزش سی شارپ (#C) پیشرفته قسمت 48: ایجاد Repository های Generic 33′:54″ 9,130
49 آموزش سی شارپ (#C) پیشرفته قسمت 49: برنامه انبارداری و فروشگاه یک 14′:40″ رایگان
50 آموزش سی شارپ (#C) پیشرفته 50 : برنامه انبارداری و فروشگاه دو 57′:17″ 9,130
51 آموزش سی شارپ (#C) پیشرفته قسمت 51:برنامه انبارداری:ساختار پروژه 1:14′:53″ 11,950
52 آموزش سی شارپ (#C) پیشرفته قسمت 52 : تست Repository انبارداری 45′:33″ 8,460
53 آموزش سی شارپ (#C) پیشرفته قسمت 53 : استفاده از StructureMap 32′:58″ 7,730
54 آموزش سی شارپ (#C) پیشرفته 54 : تنظیمات اولیه برنامه انبارداری 1:8′:11″ 9,130
55 آموزش سی شارپ (#C) پیشرفته قسمت 55 : Dependency Injection 40′:20″ رایگان
56 آموزش سی شارپ (#C) پیشرفته قسمت 56:برنامه انبارداری:داده اولیه 44′:53″ 4,910
57 آموزش سی شارپ (#C) پیشرفته قسمت 57 : تاریخ شمسی در سی شارپ 19′:21″ رایگان
58 آموزش سی شارپ (#C) پیشرفته قسمت 58 : User Control 13′:10″ رایگان
59 آموزش سی شارپ (#C) پیشرفته قسمت 59:برنامه انبارداری:فرم اصلی 58′:35″ 7,040
60 آموزش سی شارپ (#C) پیشرفته قسمت 60:برنامه انبارداری:View ها 29′:22″ رایگان
61 آموزش سی شارپ (#C) پیشرفته قسمت 61:برنامه انبارداری:Action ها 26′:22″ 4,910
62 آموزش سی شارپ (#C) پیشرفته قسمت 62 : Expression Tree 35′:38″ 5,640
63 آموزش سی شارپ (#C) پیشرفته قسمت 63:برنامه انبارداری:GridView 38′:11″ 5,640
64 آموزش سی شارپ (#C) پیشرفته قسمت 64:برنامه انبارداری:فرم اطلاعات 1:17′:9″ 10,550
65 آموزش سی شارپ (#C) پیشرفته قسمت 65: عبارت OUTPUT در SQL Server 19′:32″ رایگان
66 آموزش سی شارپ (#C) پیشرفته 66:برنامه انبارداری DateTimePicker 1:4′:13″ 10,550
67 آموزش سی شارپ (#C) پیشرفته 67 : برنامه انبارداری : کنترل Dropdown 23′:8″ رایگان
68 آموزش سی شارپ (#C) پیشرفته 68: برنامه انبارداری:DateTimePicker 42′:2″ رایگان
69 آموزش سی شارپ (#C) پیشرفته قسمت 69:برنامه انبارداری:اطلاعات پایه 34′:7″ رایگان
70 آموزش سی شارپ (#C) پیشرفته قسمت 70:برنامه انبارداری:اطلاعات پایه 17′:9″ رایگان
71 آموزش سی شارپ (#C) پیشرفته قسمت 71 : کنترل TreeView 34′:11″ رایگان
72 آموزش سی شارپ (#C) پیشرفته قسمت 72 : کنترل ImageList در TreeView 8′:9″ رایگان
73 آموزش سی شارپ (#C) پیشرفته قسمت 73:برنامه انبارداری:TreeView 37′:34″ 7,730
74 آموزش سی شارپ (#C) پیشرفته قسمت 74:برنامه انبارداری:گروه های کالا 25′:15″ رایگان
75 آموزش سی شارپ (#C) پیشرفته 75 : برنامه انبارداری:پارامتر محصولات 35′:43″ رایگان
76 آموزش سی شارپ (#C) پیشرفته قسمت 75 : پارامتر محصولات 22′:35″ رایگان
77 آموزش سی شارپ (#C) پیشرفته قسمت 77: برنامه انبارداری : رسید انبار 46′:24″ رایگان
78 آموزش سی شارپ (#C) پیشرفته قسمت 78 : برنامه انبارداری : ثبت رسید 35′:19″ رایگان
79 آموزش سی شارپ (#C) پیشرفته قسمت 79 : کار با DataSet 48′:52″ 9,860
80 آموزش سی شارپ (#C) پیشرفته قسمت 80 : فیلتر بوسیله DataView 9′:9″ رایگان
81 آموزش سی شارپ (#C) پیشرفته قسمت 81 : Transaction ها در ADO.NET 12′:12″ رایگان
82 آموزش سی شارپ (#C) پیشرفته قسمت 82 : مقدمه ای بر Entity Framework 26′:7″ 7,040
83 آموزش سی شارپ (#C) پیشرفته قسمت 83 : Mapping در Entity Framework 39′:44″ 9,860
84 آموزش سی شارپ (#C) پیشرفته قسمت 84 : Data Annotations 41′:15″ 9,860
85 آموزش سی شارپ (#C) پیشرفته قسمت 85 : Fluent API 46′:16″ 9,860
86 آموزش سی شارپ (#C) پیشرفته قسمت 86 : وراثت (Inheritance) 38′:23″ رایگان
87 آموزش سی شارپ (#C) پیشرفته قسمت 87 : مباحث پیشرفته در Mapping 51′:50″ 11,280
88 آموزش سی شارپ (#C) پیشرفته قسمت 88 : بحث تکمیلی Entity Framework 1:10′:44″ رایگان
89 آموزش سی شارپ (#C) پیشرفته قسمت 89 : تغییرات روی بانک اطلاعاتی 31′:0″ 9,130
90 آموزش سی شارپ (#C) پیشرفته قسمت 90 : Concurrency و Transaction 19′:18″ رایگان
91 آموزش سی شارپ (#C) پیشرفته قسمت 91 : کار با XML و LINQ2XML 26′:18″ 8,460
92 آموزش سی شارپ (#C) پیشرفته قسمت 92: امنیت در دات سی شارپ و دات نت 29′:24″ 10,550
93 آموزش سی شارپ (#C) پیشرفته قسمت 93 : Claim ها در دات نت 31′:18″ 8,460
94 آموزش سی شارپ (#C) پیشرفته قسمت 94 : رمزنگاری در دات نت 29′:48″ 9,130
95 آموزش سی شارپ (#C) پیشرفته قسمت 95 : رمزنگاری Symmetric 45′:10″ 14,770
96 آموزش سی شارپ (#C) پیشرفته قسمت 96 : رمزنگاری Asymmetric 31′:40″ 11,950
97 آموزش سی شارپ (#C) پیشرفته قسمت 97 : Code Access Security 15′:23″ رایگان
98 آموزش سی شارپ (#C) پیشرفته قسمت 98 : آموزش WPF 45′:24″ رایگان
99 آموزش سی شارپ (#C) پیشرفته قسمت 99 : آموزش WPF 42′:11″ 9,860
100 آموزش سی شارپ (#C) پیشرفته قسمت 100 : آموزش WPF 59′:42″ 10,550
101 آموزش سی شارپ (#C) پیشرفته قسمت 101 : آموزش WPF 37′:18″ رایگان
102 آموزش سی شارپ (#C) پیشرفته قسمت 102 : آموزش WPF 1:10′:17″ 14,770
103 آموزش سی شارپ (#C) پیشرفته قسمت 103 : آموزش WPF 1:18′:54″ 14,770
104 آموزش سی شارپ (#C) پیشرفته 104: Localization Globalization در WPF 24′:37″ 9,130
105 آموزش سی شارپ (#C) پیشرفته قسمت 105 : آموزش UWP 40′:24″ رایگان
106 آموزش سی شارپ (#C) پیشرفته قسمت 106 : آموزش UWP 28′:37″ رایگان
107 آموزش سی شارپ (#C) پیشرفته قسمت 107 : آموزش UWP 21′:57″ رایگان
108 آموزش سی شارپ (#C) پیشرفته قسمت 108 : گرافیک در سی شارپ و چاپ 29′:0″ 7,730
109 آموزش سی شارپ (#C) پیشرفته قسمت 109 : برنامه نویسی شبکه 51′:45″ 11,280
110 آموزش سی شارپ (#C) پیشرفته قسمت 110 : Unit Testing و نوشتن تست 23′:24″ 7,730
111 آموزش سی شارپ (#C) پیشرفته قسمت 111 : آموزش استفاده از MEF 24′:1″ رایگان
112 آموزش سی شارپ (#C) پیشرفته قسمت 112 : Tracing و EventLog 50′:40″ 11,950
113 آموزش سی شارپ (#C) پیشرفته قسمت 113 : Performance Counters 18′:55″ رایگان
114 آموزش سی شارپ (#C) پیشرفته قسمت 114 : Windows Service 17′:14″ 6,330
115 آموزش سی شارپ (#C) پیشرفته قسمت 115 : کامپایلر دات نت (Roslyn) 1:2′:55″ 12,680
116 آموزش سی شارپ (#C) پیشرفته قسمت 116 : Deploy برنامه ها 43′:46″ رایگان
زمان و قیمت کل 72:17′:18″ 701,530
10 نظر
dehkhoda

با سلام

می خواستم بدونم فرق بین Concurrent Garbage Collection و Background Garbage Collection در چیست

با تشکر

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

dehkhoda

با سپاس

zahra .m

سلام استاد وقت بخیر

3 تا سؤال داشتم از خدمتتون:

1.در بخش شرط if داخلی، عبارت disposing رو نوشتید، در صورتی که قبلا تعریف نشده، آیا باید disposed رو می نوشتید؟

2.در بخش هایی که به صورت command مشخص کردید چه کدهای رو باید بزاریم؟

3.چه زمانی باید از این pattern برای پاکسازی حافظه استفاده کینم؟

کد مربوط به سؤال

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

zahra .m

سلام استاد،وقت بخیر

این کدهایی که برای پاک سازی حافظه، در resource ها managed & unmanaged، در ویدئو و توضیحاتتون بهش اشاره کردید، در این دوره آموزش دادید؟

سؤال دیگه ای هم که از خدمتتون دارم اینه که، application root دقیقاً به چه اشیایی اشاره می کنه؟یعنی آدرس همه اشیائی که داخل heap هست، داخل application root قرار داره؟کاربردش چیه؟

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

aminghaderi

سلام عرض احترام .

پترن را توضیح دادید اما اصل کار رو خیر .

کامنت دوستان رو بالا خوندم اما باز هم نمونه ای ارائه نشد ، لازم بود حداقل یک مثال کوچک مثلا برای کلاسی که دارد از دیتابیس استفاده می کند را قرار می دادید که موضوع روشن شود ، الان من دقیقا همین نکته مشکلم بود که متاسفانه انتهای فیلم متوجه شدم بازم خورد به درب بسته .

ممنونم .

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

aminghaderi

عرض سلام و احترام مجدد

ممنون از توضیحاتتون و در ادامه توضیح میدم که سوال من دقیقا چه بود .

اما قبل طراح سوال ، این که دو بخش از مطالب توسط فردی خریداری شده یکی از دلایلش می تونه این باشه که طرف مقابل شاید به بقیه مسایل مسلط باشه، شما جناب مهندس پیش فرض همه مصرف کننده های اموزشتون را تازه کار نبینید ، بنده که دو پارت از اموزش شما مد نظرم بوده بیشتر از 10 سال برنامه نویس سی شارپ هستم ، منتها این مسایلی که اموزش دادید همانطور که خودتون هم درجریان هستید جز مسائل جدید و پرفورمنس سی شارپ به شمار میاد ، شاید بگید تردینگ ار دات نت 1 هم بوده و من هم پاسخم مثبته ولی واقعا بس سخت و پیچیده بود کسی به دنبالش نمی رفت ، using نبود ولی پاک سازی حافظه بود که همه به گردن گاربج کالکتور می انداختند ، و قاعدتا با حجم یوزری که در اون زمان بود خیلی ها نیازی به درگیر شدن با ترد ها و بهینه سازی ها حافظه ها نمی دیدند ، ضمن اینکه واقعا کار پیچیده و سختی بود و باعث به وجود امدن کلی خطای عجب و غریب میشد و اما حالا با این ترافیک بالا ما نیاز به استفاده از امکانت بهینه سازی داریم و ماکروسافت به کمک ما امده ، خصوصا در C# 8 .

حالا سوال بنده ، ببنید من کلی بررسی کردم و تهش این لینک رو دیدم :

https://stackoverflow.coma12405/1395101

خوب بعد اون یاد دوره شما افتادم و وارد سایت شدم و تیتر این بخش و مباحثش رو دیدم برای بررسی بخش رو خریداری کردم ، اما در انتهای ویدیو شما باز به همین کد رسیدم ، که باز مجبور شدم یه کتاب که تالیف جان شارپ بود رو مطالعه کنم تا دقیق موضوع برام روشن بشه .

سوالم این بود که خوب داخل این بخش کامنت شده چه چیز هایی باید قرار بگیرد و من تصور داشتم کدی که در اون بخش قرار میگره کل پاک سازی حافطه رو انجام میده که بعد متوجه شدم خیر این بخش یه بخش اضافی هست که اگر برنامه نویس از ریسورس خاصی استفاده کرد می تونه اونو اینجا از بین ببره و اصل پاک سازی کلاس فعلی توسط متد despos که در اصل متدی از انترفیس Idesposable هست خودش به طور داخلی عملیات پاک سازی کلاس ما رو انجام میده ، اما جان شارپ در کتابش کمی بیشتر توضیح داده و این پترن رد کرده که من امروز قراره تست کنم ببینم حق با ایشون هست یا خیر اما پترن که توضیح دادید مرسوم تره و در MSDN هم هست .

با تشکر ، قادری

Ref : Microsoft Visual C# 2012 Step By Step John Sharp

https://www.amazon.comMicrosoft-Visual-2012-Step-Developerdp/0735668019

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر