Telegram Web Link
Please open Telegram to view this post
VIEW IN TELEGRAM
📢 اطلاعیه برای دانشجویان جاواپرو

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

🔄 پس از رفع این محدودیت‌ها، همه دانشجویان مجدداً به پنل دوره‌های خود دسترسی خواهند داشت.

از شکیبایی و همراهی شما سپاسگزاریم. ❤️


آکادمی جاواپرو

www.javapro.ir
www.academyjavapro.com
Please open Telegram to view this post
VIEW IN TELEGRAM
🔴 موقتا تا رفع محدودیت های کامل اینترنت، اطلاع رسانی ها و راه ارتباطی با جاواپرو در کنار تلگرام در ایتا نیز برقرار است. 👇

https://eitaa.com/javapro_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
به نشانه همدلی و آرامش،
دوره فریمورک Spring Boot آکادمی جاواپرو به مدت ۲ هفته رایگان شد

برای استفاده از این فرصت، هنگام ثبت‌نام کد تخفیف زیر رو وارد کنید:

🆓JAVAPRO

📆 مهلت استفاده: تا [ ۱۸ تیر ۱۴٠۴]

🔺جهت ثبت نام کلیک کنید

به اشتراک بگذارید تا شاید دل کسی آروم‌تر بشه...🕊

#درکنار_هم 🌿


➡️اشتراک 👍لایک 💬کامنت


⚡️ @javapro_ir
✈️@group_javapro


#جاواپرو #SpringBoot #جاوا
Please open Telegram to view this post
VIEW IN TELEGRAM
آموزش برنامه نویسی جاوا | Java pinned «به نشانه همدلی و آرامش، دوره فریمورک Spring Boot آکادمی جاواپرو به مدت ۲ هفته رایگان شد برای استفاده از این فرصت، هنگام ثبت‌نام کد تخفیف زیر رو وارد کنید: 🆓JAVAPRO 📆 مهلت استفاده: تا [ ۱۸ تیر ۱۴٠۴] 🔺جهت ثبت نام کلیک کنید به اشتراک بگذارید تا شاید دل…»
🚀 HashMap در جاوا چطور کار می‌کند؟ (به زبان ساده!) 🔍

اگر تا حالا با جاوا کار کرده باشید، احتمالاً از HashMap استفاده کرده‌اید.
اما آیا واقعاً می‌دانید پشت صحنه چه اتفاقی می‌افتد؟
در ادامه به زبانی ساده و قابل فهم توضیح داده شده که HashMap چطور داخل خودش داده‌ها را مدیریت می‌کند 👇

🔹 ساختار کلی:

در داخل HashMap، یک آرایه از «باکت‌ها» وجود دارد.
هر باکت می‌تواند چند «کلید-مقدار» را به صورت نود (گره) ذخیره کند.
اگر چند کلید مختلف به یک باکت برسند، داده‌ها به صورت لیست پیوندی ذخیره می‌شوند (از نسخه ۸ جاوا به بعد، اگر تعداد زیاد شود، تبدیل به درخت Red-Black می‌شود).

🔹 هش کردن و پیدا کردن موقعیت:

🤔 وقتی یک کلید به HashMap اضافه می‌شود:

جاوا با استفاده از متد hashCode() یک مقدار هش برای آن تولید می‌کند.
بعد با این فرمول محل دقیق قرار گرفتن آن در آرایه مشخص می‌شود:
👨🏻💻 index = (n - 1) & hash

این روش باعث می‌شود کلیدها به‌طور یکنواخت در آرایه پخش شوند و دسترسی سریع‌تر انجام شود.

🔹 برخورد چند کلید در یک جا:

🤔 اگر چند کلید به یک باکت برسند:

اول جاوا بررسی می‌کند آیا کلید جدید با یکی از کلیدهای موجود برابر است (equals()).
اگر برابر نباشد، کلید جدید به لیست یا درخت اضافه می‌شود.

🔹 تبدیل به درخت (در جاوا ۸ به بعد):

اگر تعداد نودها در یک باکت بیشتر از ۸ تا شود و کل اندازه نقشه حداقل ۶۴ باشد، لیست پیوندی به درخت Red-Black تبدیل می‌شود تا جستجوها سریع‌تر انجام شود (O(log n) به‌جای O(n)).

🔹 ظرفیت، ضریب بار و آستانه:

ظرفیت: تعداد باکت‌های فعلی (پیش‌فرض ۱۶ عدد است)
ضریب بار: عددی بین ۰ و ۱ (پیش‌فرض ۰٫۷۵) که مشخص می‌کند چه زمانی باید ظرفیت بیشتر شود
آستانه: ظرفیت × ضریب بار؛ اگر تعداد عناصر از این مقدار بیشتر شود، HashMap بزرگ‌تر می‌شود.

🔁 بزرگ‌تر شدن (Resizing):

🤔 وقتی تعداد عناصر از آستانه عبور کند:

ظرفیت آرایه دو برابر می‌شود
همه کلیدها دوباره هش می‌شوند و در آرایه جدید قرار می‌گیرند
این فرآیند زمان‌بر است، پس اگر از ابتدا ظرفیت مناسب انتخاب شود، کارایی بهتری خواهید داشت.

🔹 مدیریت null:

HashMap فقط یک کلید null را قبول می‌کند
اما می‌تواند چندین مقدار null داشته باشد
کلید null همیشه در باکت شماره صفر ذخیره می‌شود.

💡 نکته مهم:
اگر از کلاس‌های خودتان به‌عنوان کلید استفاده می‌کنید، حتماً متدهای equals() و hashCode() را بازنویسی (override) کنید.
این کار از بروز خطا جلوگیری می‌کند و باعث می‌شود HashMap درست کار کند.

📈 چرا دانستن این نکات مهم است؟

✔️ به شما کمک می‌کند کدی سریع‌تر و بهینه‌تر بنویسید
✔️ برای مصاحبه‌های شغلی و طراحی سیستم آمادگی بیشتری خواهید داشت
✔️ درک عمیق‌تری از مجموعه‌های جاوا به‌دست می‌آورید

اگر به جاوا، Spring Boot یا طراحی بک‌اند علاقه‌مندید، جاواپرو را دنبال نمایید 🙌


➡️اشتراک 👍لایک 💬کامنت


⚡️ @javapro_ir
✈️@group_javapro


#جاواپرو #SpringBoot #جاوا
Please open Telegram to view this post
VIEW IN TELEGRAM
آموزش برنامه نویسی جاوا | Java
به نشانه همدلی و آرامش، دوره فریمورک Spring Boot آکادمی جاواپرو به مدت ۲ هفته رایگان شد برای استفاده از این فرصت، هنگام ثبت‌نام کد تخفیف زیر رو وارد کنید: 🆓JAVAPRO 📆 مهلت استفاده: تا [ ۱۸ تیر ۱۴٠۴] 🔺جهت ثبت نام کلیک کنید به اشتراک بگذارید تا شاید دل…
بیش از 100 نفر در 24 ساعت در دوره فریمورک Spring Boot شرکت کردن.

ثبت نام در این دوره در جهت رسالت اجتماعی جاواپرو و حمایت از دانشجویان عزیز تا ۱۸ تیر رایگان شده است.

با کد تخفیف 100% زیر ثبت نام کنید
JAVAPRO

🖱ثبت نام

شرایط سخت پایدار نیست، در کنار هم هستیم 🌱
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
💡درک تفاوت بین ارسال با مقدار (pass by value) و ارسال با ارجاع (pass by reference)

آیا تا به حال به این فکر کرده‌اید که داده‌ها در برنامه‌نویسی چگونه منتقل می‌شوند؟ بیایید با دو روش بنیادی در این زمینه آشنا شویم:

➡️ ارسال با مقدار (pass by value):
در این روش، یک نسخه‌ی کپی (copy) از مقدار متغیر ارسال می‌شود.
یعنی وقتی یک متغیر (variable) را به یک تابع (function) می‌فرستید، در واقع فقط یک نسخه از مقدار آن را منتقل کرده‌اید. بنابراین، هر تغییری که داخل تابع انجام شود، روی متغیر اصلی تأثیری ندارد.
این روش معمولاً در زبان‌هایی مانند C و جاوا (Java) برای نوع‌های داده‌ای اولیه (primitive types) استفاده می‌شود.

➡️ ارسال با ارجاع (pass by reference):
در این روش، به جای ارسال یک نسخه‌ی کپی، آدرس یا مرجعی (reference) به خود متغیر اصلی ارسال می‌شود.
به همین دلیل، تغییراتی که در تابع (function) انجام می‌شوند، مستقیماً روی متغیر اصلی تأثیر می‌گذارند.
این روش بیشتر در کار با اشیاء (objects) در زبان‌هایی مانند جاوا (Java) و پایتون (Python) دیده می‌شود.

چگونه می‌توان مطمئن شد که از روش درست در کد (code) خود استفاده می‌کنید؟

➡️اشتراک 👍لایک 💬کامنت


⚡️ @javapro_ir
✈️@group_javapro
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🎓بیش از 200 نفر در طرح همدلی دوره فریمورک Spring Boot شرکت کردن.

ثبت نام در این دوره در جهت رسالت اجتماعی جاواپرو و حمایت از دانشجویان عزیز تا ۱۸ تیر رایگان شده است.

با کد تخفیف 100% زیر ثبت نام کنید
JAVAPRO

🖱ثبت نام

شرایط سخت پایدار نیست، در کنار هم هستیم 🌱
Please open Telegram to view this post
VIEW IN TELEGRAM
عزیزانی که همراه جاواپرو هستند، به‌خوبی می‌دانند که ارائه چنین درصدی از تخفیف در شرایط عادی مرسوم نیست. این تخفیفات تنها با هدف حمایت از علاقه‌مندان به یادگیری در شرایط خاص امروز است و قصد دارن دوره‌ها را با قیمت اقتصادی تهیه کنند، در نظر گرفته شده است.

دوره Spring Boot همچنان با کد تخفیف «Javapro» تا 18 تیر رایگان خواهد بود.
همان طور که اعلام شد در طرح همدلی و در راستای رسالت اجتماعی جاواپرو دوره Spring Boot با کد تخفیف زیر تا 18 تیر رایگان شد

🎁JAVAPRO

💎دوره فریمورک Spring Boot

🫶حال تصمیم جدیدی که گرفته شد اینکه دوره ارزشمند و پرتقاضای نخبگان میکروسرویس با Java و Spring Boot با تخفیف 70% ارائه شود و درآمد حاصل از فروش این دوره برای پرتو درمانی یک بیمار مبتلا به سرطان هزینه شود. اینجوری هم علاقمندان می توانند با قیمت بسیار مناسب این دوره را تهیه کنند هم کمک به درمان یک بیمار مبتلا به سرطان می شود.

کد تخفیف 70% ویژه دوره نخبگان میکروسرویس با Java و Spring Boot:

❤️ MICRO

⚡️دوره جامع نخبگان میکروسرویس با Java و Spring Boot

🎓سایر دوره های جاواپرو را نیز با تخفیف 60% می توانید تهیه نمایید

کد تخفیف 60%:
🎁JAR

لیست سایر دوره ها:
💎 دوره پرتاب | آموزش پیش نیازهای برنامه نویسی

💎دوره مقدماتی جاوا

💎 دوره شاهکار پیشرفته جاوا

💎دوره طلایی Spring Core

💎دوره پروژه محور Spring Boot-سیستم دانشگاه

💎دوره دژبان Spring Security


🔴 تمامی این شرایط تخفیف تا 18 تیر ماه برقرار است.
Please open Telegram to view this post
VIEW IN TELEGRAM
آموزش برنامه نویسی جاوا | Java pinned «همان طور که اعلام شد در طرح همدلی و در راستای رسالت اجتماعی جاواپرو دوره Spring Boot با کد تخفیف زیر تا 18 تیر رایگان شد 🎁JAVAPRO 💎دوره فریمورک Spring Boot 🫶حال تصمیم جدیدی که گرفته شد اینکه دوره ارزشمند و پرتقاضای نخبگان میکروسرویس با Java و Spring Boot…»
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉 فرصت استثنایی برای یادگیری و همدلی با جامعه!

در ادامه‌ی طرح همدلی و با توجه به رسالت اجتماعی جاواپرو،
🎁 دوره‌ی جامع Spring Boot با کد تخفیف زیر تا ۱۸ تیر کاملاً رایگان شد:

🔑 کد تخفیف رایگان: JAVAPRO
💎 مشاهده دوره فریمورک Spring Boot


---

🫶 اما این پایان ماجرا نیست...

یک تصمیم انسانی و ارزشمند گرفته‌ایم:
دوره‌ی نخبگان میکروسرویس با Java و Spring Boot که یکی از پرفروش‌ترین دوره‌های ماست،
با ۷۰٪ تخفیف ویژه ارائه می‌شود و درآمد آن صرف پرتودرمانی یک بیمار مبتلا به سرطان خواهد شد.

یعنی شما با ثبت‌نام در این دوره، هم یاد می‌گیرید، هم به درمان یک انسان کمک می‌کنید ❤️

🔐 کد تخفیف: MICRO
🚀 مشاهده دوره نخبگان میکروسرویس

🎓 همچنین سایر دوره‌های تخصصی جاواپرو با ۶۰٪ تخفیف در دسترس شما هستند:

🔑 کد تخفیف: JAR

💡 دوره پرتاب | آموزش پیش‌نیازهای برنامه‌نویسی
💡 دوره مقدماتی جاوا
💡 دوره شاهکار پیشرفته جاوا
💡 دوره طلایی Spring Core
💡 دوره پروژه‌محور Spring Boot | سیستم دانشگاه
💡 دوره دژبان Spring Security


---

یادتون نره! همه‌ی این تخفیف‌ها تا ۱۸ تیر فعال هستن
💬 هر سوالی داشتین، همین‌جا در تلگرام بپرسید!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔍 بین اصطلاحات Java و Spring
POJO، DTO، Bean، Entity،
Repository و ... سردرگم شدی؟

بیا با هم راحت و خلاصه یاد بگیریمشون 👇


---

🧱 ۱. POJO (Plain Old Java Object)
کلاس ساده جاوا — بدون انوتیشن، بدون فریم‌ورک
فقط فیلد، سازنده، Getter/Setter
📦 ساده‌ترین ساختار داده در جاوا


---

🌱 ۲. Bean
POJOیی که توسط Spring مدیریت می‌شه
باید JavaBean باشه (سازنده بدون پارامتر داشته باشه)
📌 با انوتیشن‌هایی مثل @Component، @Service یا @Repository ثبت می‌شه
👉 هر Bean یک POJO هست، ولی POJOییه که Spring ساخته و تزریق می‌کنه


---

📤 ۳. DTO (Data Transfer Object)
POJO مخصوص انتقال داده بین لایه‌ها
🔁 فقط داده داره، نه منطق، نه انوتیشن
🎯 بیشتر بین Controller و Service استفاده می‌شه
📌 هر DTO یه POJO هست، ولی نه برعکس


---

📄 ۴. Entity
POJO نماینده‌ی یک رکورد دیتابیس
🧩 با @Entity مشخص می‌شه
🔗 فیلدهای کلاس به ستون‌های جدول دیتابیس وصل می‌شن


---

🛠 ۵. DAO (Data Access Object)
کلاس سنتی برای دسترسی به دیتابیس
📝 دستی کوئری می‌نویسه (با JDBC یا Hibernate)


---

📚 ۶. Repository
نسخه‌ی مدرن DAO در Spring
⚙️ با @Repository + Spring Data JPA
🚫 نیازی به نوشتن کوئری نیست!
Spring خودش تولیدش می‌کنه – تمیزتر و راحت‌تر


---

🧠 ۷. Service
مرکز منطق تجاری برنامه‌ت
📊 جایی که محاسبات و تصمیم‌گیری‌ها انجام می‌شن
🏷 با @Service مشخص می‌شه


---

🌐 ۸. Controller
ورودی HTTP برنامه‌ت
📥 درخواست می‌گیره، 📤 پاسخ می‌ده
📎 با @Controller یا @RestController مشخص می‌شه


---

🧩 ۹. Component
انوتیشن پایه برای هر کلاس Spring
🌟 بقیه مثل @Service و @Repository نسخه‌های خاصش هستن
📌 برای ثبت Beanهای عمومی


---

🛠 ۱۰. Configuration
کلاسی برای پیکربندی Beanها
🔧 با @Configuration مشخص می‌شه
🧪 معمولاً شامل متدهایی برای ساخت Beanها در Spring هست


➡️اشتراک 👍لایک 💬کامنت


⚡️ @javapro_ir
✈️@group_javapro
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/07/01 15:28:47
Back to Top
HTML Embed Code: