یوشا آل ایوب

دست نوشته ها و تجربیات شخصی

یوشا آل ایوب

دست نوشته ها و تجربیات شخصی

دکتر مصطفی چمران: می گویند تقوا از تخصص لازمتر است، آنرا می پذیرم، اما می گویم آنکس که تخصص ندارد و کاری را می پذیرد بی تقواست!

طبقه بندی موضوعی
تبلیغات
Blog.ir بلاگ، رسانه متخصصین و اهل قلم، استفاده آسان از امکانات وبلاگ نویسی حرفه‌ای، در محیطی نوین، امن و پایدار bayanbox.ir صندوق بیان - تجربه‌ای متفاوت در نشر و نگهداری فایل‌ها، ۳ گیگا بایت فضای پیشرفته رایگان Bayan.ir - بیان، پیشرو در فناوری‌های فضای مجازی ایران

۴ مطلب با کلمه‌ی کلیدی «JDK» ثبت شده است

1- تفاوت HashMap و HashTable:

 

کلاس HashMap از نوع synchronize نیست پس thread-safe نیست. اما کلاس HashTable از نوع synchronize هستش.
کلاس HashMap بخاطر synchronize نبودن کمی سریعتر از HashTable عمل میکنه.
کلاس HashMap اجازه داشتن یک کلید null و چندین مقدار null رو داره، اما کلاس HashTable همچین اجازه ای رو نداره.
کلاس HashMap زیرکلاس AbstractMap هستش، اما کلاس HashTable زیرکلاس Dictionary هستش.
کلاس HashTable تقریباً منسوخ شده و باید از جایگزینش ConcurrentHashMap استفاده بشه.
و...

در بیشتر موارد کلاس HashMap استفاده میشه، درصورتی که synchronization در اولویت نباشه.

 

2- برای حل مشکل ValueError: unsupported pickle protocol در لینوکس کافیه فایل .repopickle_.gitconfig در Android SDK رو پیدا و حذف کنید.

 

3- اصول طراحی کلاس:

- همیشه داده ها و فیلدها رو private نگهدارید و از اصول encapsulation پیروی کنید.

- همیشه فیلدها رو initialize کنید.

- هرکلاس رو به یک نوع/دسته از داده اختصاص بدید.

- کلاسهای چند منظوره با چند مسئولیت طراحی نکنید، بلکه آنها را تجزیه و جداسازی کنید.

- بی دلیل برای همه فیلدها و داده ها accessor و mutator طراحی نکنید. (set/get)

- همیشه بهترین و مناسبترین نام رو برای کلاس و متد تعیین کنید تا هدف رو بخوبی انعکاس بدهند.

- حتاالمکان کلاسها رو immutable (غیرقابل تغییر) طراحی کنید.

- بجای استفاده مکرر تودرتو if/else switch foreach از interface یا کلاس abstract استفاده کنید.

- حتاالمکان کلاس رو static طراحی نکنید. (بخاطر global state و مشکلات unit testing)

- از نوشتن متدهای طولانی و سنگین خودداری کنید. معمولاً متدهای طویل نشاندهنده رفتار و وظایف متعدد هستش که نیاز به تجزیه و refactoring داره.

- از قانون DRY (مخفف Don’t Repeat Yourself) پیروی کنید... متدهای تکراری رو با ساخت superclass abstract یکی کنید.

۲ نظر ۹۷/۱۱/۰۶
یوشا آل ایوب

 

این دیاگرام رو درست کردم تا روند(internals) کامپایل، تولید و اجرای برنامه های جاوا رو نشون بده:
 

برای بزرگنمایی کلیک کنید

JNI, JVM internal, Class Loader, Execution Engine

Java internals, Java structure, JVM internals, ساختار جاوا، ساختمان جاوا
یکی از کاملترین و دقیق ترین دیاگرامهای Java/JVM internals  موجود در اینترنت هستش

اطلاعات بیشتر:

http://blog.jamesdbloom.com/JVMInternals.html

https://dzone.com/articles/understanding-jvm-internals

https://www.cubrid.org/blog/understanding-jvm-internals/

۲ نظر ۹۶/۰۵/۱۰
یوشا آل ایوب

این مقاله شامل آموزش نصب و راه اندازی Java + Android + Eclipse هستش.

که البته منظور از Android, پکیج Android SDK هستش، منظور از Eclipse, برنامه Eclipse IDE هستش و منظور از Java, پکیج Java SDK (همون JDK) هست.

 

فهرست مندرجات:

  • ابزارهای مورد نیاز
  • دانلود، نصب و تنظیم Java
  • دانلود، نصب و تنظیم Android SDK
  • دانلود، نصب و تنظیم Eclipse
  • دانلود، نصب و تنظیم ADT plugin
  • درباره Gradle ,ANT و Maven
  • نکات
  • رفع مشکلات

۱۲ نظر ۹۴/۰۶/۱۵
یوشا آل ایوب

 

نرم افزار Java Development Kit(به اختصار JDK) پکیجی هست که توسط شرکت Sun Microsystems (و اکنون Oracle) برای تولید و اجرای برنامه های Java طراحی و به بازار عرضه شده.

نکته: Java یک زبان برنامه نویسی کامپیوتر، سطح بالا و شی گرا هستش که توسط شرکت Sun برای تولید برنامه های مستقل از بستر اجرایی طراحی شده. به این معنی که برنامه های تولید شده توسط این زبان قادرن برروی همه سیستم عامل های Desktop اجرا و استفاده بشن.

پکیج JDK حاوی تعدادی کتابخانه، برنامه، ابزارهای کمکی و مستندات جهت تولید و نوشتن برنامه های Java هستش. چیزی شبیه به Windows SDK, Android SDK, .Net SDK و...

نکته: JDK درواقع Software Development Kit(به اختصار SDK) محسوب میشه برای همین به اون Java SDK هم گفته میشه.

درحال حاضر قادرید پکیج JDK رو بر روی سیستم عامل های Windows, GNU/Linux, Solaris, MacOS نصب و اجرا کنید اما من در این مقاله به نصب JDK برروی سیستم عامل Windows میپردازم. (Oracle JDK و OpenJDK)

برای کسب اطلاعات بیشتر راجب این پکیج به ویکی JDK مراجعه کنید.

 

فهرست مندرجات:

  • JDK یا JRE
  • سیستم مورد نیاز
  • دریافت JDK
  • نصب و تنظیم JDK
  • نکات
  • رفع مشکلات

۸ نظر ۹۳/۱۱/۰۷
یوشا آل ایوب