کتاب Troubleshooting Java (عیبیابی جاوا: برنامههای JVM را بخوانید، اشکالزدایی و بهینه کنید) در سه بخش مختلف به شرح عیبیابی و رفع مشکلات رایج در برنامهنویسی زبان جاوا خواهد پرداخت.
در ادامه مقدمهای از کتاب Troubleshooting Java را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Troubleshooting Java:
چه کسی باید این کتاب را بخواند؟
از آنجایی که شما این کتاب را باز کردید، تصور می کنم توسعهدهندهای هستید که از زبان JVM استفاده می کنید. شما ممکن است از جاوا استفاده کنید، اما می توانید از Kotlin یا Scala نیز استفاده کنید. صرف نظر از زبان JVM که استفاده می کنید، محتوای این کتاب را ارزشمند خواهید یافت.
به شما تکنیکهای تحقیق مرتبط را میآموزد که میتوانید از آنها برای شناسایی دلایل ریشهای مشکلات (یعنی اشکالات) و نحوه یادگیری آسان فناوریهای جدید استفاده کنید. بهعنوان یک توسعهدهنده نرمافزار، ممکن است قبلاً متوجه شده باشید که چقدر زمان صرف درک عملکرد یک برنامه میکنید. مانند سایر توسعه دهندگان، احتمالاً زمان بیشتری را صرف خواندن کد، اشکال زدایی یا استفاده از گزارشها می کنید تا کد نوشتن. پس چرا در کاری که بیشتر در طول روز کاری خود انجام می دهید کارآمدتر نباشید؟
در کتاب Troubleshooting Java، موضوعات زیر را مورد بحث قرار میدهیم و مثالهایی را برای آنها اعمال میکنیم:
- تکنیکهای ساده و پیشرفته اشکال زدایی
- استفاده کارآمد از گزارشها برای درک رفتارهای برنامه
- پروفایل مصرف CPU و منابع حافظه
- پروفایل برای یافتن کدهای اجرایی
- پروفایل برای درک نحوه عملکرد یک برنامه با دادههای ماندگار
- تجزیه و تحلیل نحوه ارتباط برنامهها با یکدیگر
- نظارت بر رویدادهای سیستم
صرف نظر از تجربهتان، این کتاب برای یادگیری تکنیکهای تحقیق جدید مفید خواهد بود، یا اگر قبلاً یک توسعهدهنده با تجربه هستید، متوجه خواهید شد که این یک تجدید کننده خوب است.
پیش نیاز مطالعه این کتاب، درک اصول اولیه زبان جاوا است. من عمداً تمام نمونهها را با جاوا طراحی کردم (حتی اگر برای هر زبان JVM اعمال شود) برای سازگاری. اگر جاوا را در سطح پایه (کلاسها، روشها، دستورالعملهای اولیه مانند دستورالعملهای تصمیمگیری یا تکراری و اعلام متغیرها) درک میکنید، باید بتوانید بحثهای کتاب را درک کنید.
نحوه سازماندهی این کتاب: نقشه راه
کتاب Troubleshooting Java در سه بخش شامل 12 فصل تنظیم شده است. ما بحث خود را (در قسمت اول کتاب) با تکنیکهای اشکالزدایی شروع میکنیم. ما در مورد تکنیکهای ساده و پیشرفتهتر اشکالزدایی بحث و استفاده میکنیم و جایی که میتوانید از آنها برای صرفهجویی در زمان هنگام بررسی سناریوهای مختلف استفاده کنید.
من تصمیم گرفتم بحثمان را با اشکال زدایی شروع کنم، زیرا این معمولا اولین قدم در بررسی نحوه رفتار برخی از قابلیتهای یک برنامه در مرحله توسعه آن است. برخی از مردم از من پرسیدند که چرا ابتدا با لاگ شروع نکردم، زیرا آنها اولین تکنیک تحقیق برای مسائل تولید هستند. در حالی که این درست است، زمانی که یک توسعهدهنده شروع به پیادهسازی ویژگیها میکند، باید با یک دیباگر سر و کار داشته باشد، بنابراین من متوجه شدم که چیدمان بهتر فصلها شروع با تکنیکهای اشکالزدایی است.
در فصل اول کتاب Troubleshooting Java، ارتباط تکنیکهای تحقیقی را که کتاب مورد بحث قرار میدهد، مورد بحث قرار میدهیم و برنامهای برای یادگیری آنها پیدا میکنیم. فصلهای 2، 3 و 4 بر اشکالزدایی تمرکز دارند و مهارتهای مرتبط را به شما آموزش میدهند، از افزودن یک نقطه شکست ساده تا اشکالزدایی برنامهها در محیطهای راه دور. فصل 5، که آخرین فصل در بخش 1 است، به بحث ورود به سیستم میپردازد. اشکال زدایی و استفاده از گزارشها ساده ترین (و پرکاربردترین) تکنیکهای بررسی برای ساختن یک برنامه کاربردی است.
بخش دوم کتاب Troubleshooting Java به بررسی تکنیکهای پروفایل میپردازد. عقیده عمومی این است که نمایه سازی پیشرفته تر است و با برنامههای مدرن کمتر از اشکال زدایی و تحقیق در لاگها استفاده میشود. در حالی که موافقم که نمایهسازی پیشرفتهتر است، نشان میدهم که میتوانید از بسیاری از تکنیکهای نمایهسازی برای کارآمدتر بودن هنگام بررسی مسائل در برنامههای JVM مدرن یا مطالعه چارچوبهایی که ضروری هستند استفاده کنید.
فصل 6، که قسمت دوم کتاب Troubleshooting Java را آغاز میکند، به بررسی این موضوع میپردازد که آیا برنامه شما در مدیریت CPU و منابع حافظه نقص دارد یا خیر. فصل 7 به جزئیات این موضوع میپردازد و به شما نشان میدهد که چگونه به بخشی از برنامه که باعث تأخیر خاصی میشود برسید و چگونه مشاهده کنید برنامه شما در یک زمان معین چه کاری را اجرا میکند. در فصلهای 6 و 7، ما از VisualVM، یک ابزار رایگان استفاده میکنیم.
فصل 8 بحث از فصل 7 را با ابزارهای تجسم پیشرفته تری ادامه میدهد که معمولاً فقط با یک ابزار پروفایل دارای مجوز دریافت میکنید. برای جزئیات مورد بحث در این فصل، از JProfiler استفاده می کنیم که استفاده از آن رایگان نیست.
فصلهای 9 و 10 کتاب Troubleshooting Java بر تکنیکهای ظریفتر پروفایلسازی تمرکز دارند. مهارتهایی را یاد خواهید گرفت که میتوانند در زمان رسیدگی به مسائلی که عمیقاً در معماری چند رشتهای پشت اجرای برنامه پنهان شدهاند، در وقت شما صرفهجویی کنند. فصل 11 با پرداختن به چگونگی بررسی مدیریت حافظه یک برنامه، قسمت 2 را به پایان میرساند.
کتاب Troubleshooting Java با بخش 3 پایان مییابد که فقط یک فصل دارد: فصل 12. در آن، ما از مرزهای یک برنامه فراتر میرویم تا درباره بررسی مسائل در یک سیستم گسترده متشکل از چندین برنامه بحث کنیم.
فصلها به ترتیبی هستند که توصیه میکنم آنها را بخوانید، اما هر کدام بر موضوعی متفاوت تمرکز دارند. بنابراین، اگر به موضوع خاصی علاقه مند هستید، میتوانید مستقیماً به آن فصل بروید. به عنوان مثال، اگر به بررسی مسائل مربوط به مدیریت حافظه علاقه دارید، میتوانید مستقیماً به فصل 11 بروید.
سرفصلهای کتاب Troubleshooting Java:
- Troubleshooting Java
- contents
- preface
- acknowledgments
- about this book
- about the author
- about the cover illustration
- Part 1: The basics of investigating a codebase
- Chapter 1: Revealing an app’s obscurities
- Chapter 2: Understanding your app’s logic through debugging techniques
- Chapter 3: Finding problem root causes using advanced debugging techniques
- Chapter 4: Debugging apps remotely
- Chapter 5: Making the most of logs: Auditing an app’s behavior
- Part 2: Deep analysis of an app’s execution
- Chapter 6: Identifying resource consumption problems using profiling techniques
- Chapter 7: Finding hidden issues using profiling techniques
- Chapter 8: Using advanced visualization tools for profiled data
- Chapter 9: Investigating locks in multithreaded architectures
- Chapter 10: Investigating deadlocks with thread dumps
- Chapter 11: Finding memory- related issues in an app’s execution
- Part 3: Finding problems in large systems
- Chapter 12: Investigating apps’ behaviors in large systems
- appendix A: Tools you’ll need
- appendix B: Opening a project
- appendix C: Recommended further reading
- appendix D: Understanding Java threads
- appendix E: Memory management in Java apps
- index
جهت دانلود کتاب Troubleshooting Java میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.