برنامه نویسی جاوا | Java
5.7K subscribers
1.11K photos
158 videos
379 files
1.18K links
🎓آکـــــــــادمی جاواپـــــــــــــــرو
آموزش پیش نیازهای برنامه نویسی
آموزش مقدماتی تا پیشرفته جاوا
آموزش Spring Boot
سفارش پروژه ، دوره و تدریس خصوصی: @rzutab
مشاهده دوره ها و ثبت نام👇
wwww.academyjavapro.com
گروه جاوا : @group_javapro
Download Telegram
چرخه حیات Entity در Hibernate به زبان ساده🔥

با خطای تصادفی DetachedEntityPassedToPersistException دست‌و‌پنجه نرم می‌کنی؟ نمی‌دونی کی شی‌ات Persistent، Transient یا Detached هست؟ تنها نیستی و ناراحت شدن از این موضوع هم طبیعیه.

⚠️ مشکل: خیلی از برنامه‌نویس‌ها بدون اینکه بدونن شی‌ الان در چه وضعیتی توی چرخه حیات قرار داره، از متدهای save()، persist() یا merge() استفاده می‌کنن. نتیجه‌اش می‌تونه باگ‌های کثیف، نشت حافظه، یا نوشتن‌های ناخواسته در دیتابیس باشه.

در پروژه‌های بزرگ مثل میکروسرویس‌ها یا برنامه‌های مونولیت قدیمی، این آشفتگی می‌تونه به کابوس تولید برسه. 💀

🟢 راه‌حل: چرخه حیات Entity در Hibernate رو خوب یاد بگیر.

🧠 وضعیت‌ها رو بشناس:

🍼 Transient: شیء تازه ساخته‌شده، هنوز به دیتابیس وصل نیست.
  🧬 متولد شده، ولی Hibernate از وجودش خبر نداره.

🔒 Persistent: تحت مدیریت Hibernate و همگام با دیتابیس.
  🔧 Hibernate اون رو کنترل و تغییراتش رو خودکار همگام‌سازی می‌کنه.

🧳 Detached: قبلاً Persistent بوده، ولی الان از Session خارج شده.
  🚶 از دنیای Hibernate خارج شده — الان تنهاست.

🗑 Removed: برای حذف علامت‌گذاری شده.
⚰️ Hibernate هنگام flush اون رو پاک می‌کنه.

👊 با استفاده درست از متدهایی مثل save()، merge()، evict()، delete()، این شمایی که چرخه شیء رو کنترل می‌کنی، نه برعکس.

🔍 یه راهنمای تصویری ساده هم درست کردم که همه‌چی رو شفاف نشون می‌ده.

💡 اگه داری برنامه‌های Java در سطح سازمانی می‌سازی، تسلط به این مبحث یه انتخاب نیست — واجبه.

💬 تا حالا با موجودیت‌های Detached یا تماس‌های نادرست Persistence درگیر شدی؟

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

⚡️ @javapro_ir
💬@group_javapro



#جاوا #برنامه_نویسی #java #spring_boot
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🔥 هنوز داری برای اپلیکیشن‌های Spring Boot خودت کدهای تکراری CRUD می‌نویسی؟ وقتشه اجازه بدی JPA Repositoryها بار اصلی رو به دوش بکشن!

💼 چرا از JPA Repositoryها در Spring Boot استفاده کنیم؟

📌 بدون کدهای تکراری: فقط کافیه کلاس‌ت رو از JpaRepository ارث‌بری بدی، همین! همه عملیات‌های CRUD آماده‌ست. نه نیاز به DAO هست، نه SQL سفارشی.

📌 نام‌گذاری هوشمند متدها = کوئری‌های خودکار: می‌خوای کاربرها رو براساس ایمیل پیدا کنی؟ فقط بنویس findByEmail(String email) — Spring خودش کوئری رو تشخیص می‌ده. جادو نیست، ولی نزدیکشه!

📌 نمونه‌سازی سریع: از ایده 💡 تا پیاده‌سازی 🚀 سریع‌تر از همیشه. کد کمتر = باگ کمتر + تحویل سریع‌تر.

📌 کد تمیزتر: هم تیمت و هم خود آینده‌ات ازت ممنون می‌شن. وقتی لایه داده‌هات ساده و منسجم باشه، نگهداری و مقیاس‌پذیری پروژه خیلی راحت‌تره.

💡 یک تجربه واقعی: تو یکی از پروژه‌ها، مهاجرت به JPA Repositoryها زمان توسعه لایه پایداری داده رو ۶۰٪ کاهش داد. یعنی زمان بیشتر برای نوآوری، زمان کمتر برای کدنویسی‌های زیرساختی. 🛠️➡️🚀

📚 منبع کامل

💡 نکته حرفه‌ای: ترکیب نام‌گذاری متدها با @Query قدرت نهایی رو بهت می‌ده!

اگه داری از Spring Boot استفاده می‌کنی و هنوز سراغ JPA Repositoryها نرفتی… داری زیادی سخت کار می‌کنی! 😅


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

⚡️ @javapro_ir
💬@group_javapro



#جاوا #برنامه_نویسی #java #spring_boot
Please open Telegram to view this post
VIEW IN TELEGRAM
🙏4
📣آگهی استخدام برنامه نویس جاوا

عنوان شغلی: برنامه‌نویس جاوا (Java Developer)

✔️ مهارت‌ها:

آشنایی کامل با فریم‌ورک Spring و مولفه‌های آن (IoC، AOP، Security، JPA، Boot)

تسلط کامل بر Hibernate

تسلط نسبی بر نوشتن کوئری‌های SQL

علاقه‌مند به تکنولوژی‌های صفحات وب با جاوا (JSP، JSF)

آشنایی کامل با طراحی و پیاده‌سازی RESTful API

تسلط نسبی بر Git و Maven

آشنایی با پایگاه‌داده‌های رابطه‌ای

آشنایی با JasperReport

توانایی عیب‌یابی و حل مسئله


✔️ مسئولیت‌ها و ویژگی‌های شخصیتی مورد انتظار:

روحیه کار تیمی و تعامل بالا در محیط کاری

پشتکار، روحیه کاوشگر و قدرت حل مسئله

نظم، انضباط و دقت در انجام وظایف

تعهد به ساختار سازمانی

✔️ مزایای انتخاب کارجویان دارای شرایط زیر:

سابقه کار در پروژه‌های نرم‌افزاری سفارشی و سازمانی

مدرک تحصیلی کارشناسی یا بالاتر در رشته مهندسی نرم‌افزار

گذراندن دوره‌های آموزشی مهارت‌های نرم

✔️ مزایای شغلی:

محیط کاری پویا همراه با استفاده از تجربه افراد مجرب

برگزاری دوره‌های آموزشی فنی و غیرفنی

ساعات کاری شناور

پرداخت تسهیلات مالی، وام، ارزاق و بن‌های مناسبتی

حقوق شفاف و به‌موقع

حداکثر سابقه کاری مورد نیاز: ۳ سال
‼️ داشتن کارت پایان خدمت برای آقایان الزامی است.


✉️ ارسال رزومه:
hr@negargaran.net

#شغل
#کارجو
#فرصت_شغلی
#استخدام
#موقعیت_شغلی

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

⚡️ @javapro_ir
💬@group_javapro
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🌟جلوگیری هوشمندانه از NullPointerException با استفاده از Optional در جاوا 💡

اگر در حال یادگیری جاوا هستید، احتمالاً با NullPointerException روبه‌رو شده‌اید — همان خطایی که معمولاً زمانی ظاهر می‌شود که اصلاً انتظارش را ندارید 😬
اما جاوا از نسخه ۸ ابزار هوشمندانه‌ای به نام Optional را معرفی کرده تا از این خطا جلوگیری شود.
بیایید مرحله‌به‌مرحله با آن آشنا شویم: 👇

🔍 Optional چیست؟
Optional شبیه یک جعبه است که می‌تواند:

دارای یک مقدار باشد (Present)

یا خالی باشد (Absent)
به جای اینکه null برگردانیم، از Optional استفاده می‌کنیم.
این راه جاوا برای گفتن این است که: "ممکن است این مقدار null باشد… پس با دقت با آن برخورد کن!"


🧪 ساختن اشیاء Optional:

Optional<String> opt1 = Optional.of("Gauri"); // نباید null باشد
Optional<String> opt2 = Optional.ofNullable(null); // ممکن است null باشد
Optional<String> opt3 = Optional.empty(); // به‌صورت صریح خالی است


🌟 چرا از Optional استفاده کنیم؟

از نوشتن شرط‌های تکراری if(obj != null) جلوگیری می‌کند

کدتان را تمیزتر و ایمن‌تر می‌سازد

مانع بروز NullPointerException می‌شود


🔍 متدهای پرکاربرد در Optional:

1. isPresent() – بررسی وجود مقدار

2. isEmpty() – بررسی خالی بودن مقدار (جاوا 11 به بعد)

3. get() – دریافت مقدار در صورت وجود (⚠️ فقط زمانی استفاده شود که مطمئن هستید مقدار وجود دارد، چون ممکن است خطا بدهد)

4. ifPresent(Consumer) – اجرای کد فقط در صورت وجود مقدار

5. orElse(value) – برگرداندن مقدار پیش‌فرض در صورت نبود مقدار

6. orElseGet(Supplier) – مانند مورد قبل، ولی به‌صورت Lazy

7. orElseThrow() – در صورت خالی بودن، خطا پرتاب می‌کند

8. map(Function) – تغییر مقدار داخلی

9. flatMap(Function) – مانند map، ولی بدون ایجاد Optional تو در تو


10. filter(Predicate) – فیلتر کردن مقدار بر اساس شرط

⚠️ نکته مهم:
استفاده از Optional در موارد زیر توصیه نمی‌شود:

فیلدهای کلاس

پارامترهای متد

سریال‌سازی یا موجودیت‌های پایگاه‌داده


⬜️ موارد مناسب برای استفاده:

نوع بازگشتی متدها

زنجیره‌های برنامه‌نویسی تابعی مثل map و filter و ...

🚀 نتیجه نهایی:
استفاده از Optional باعث می‌شود کدی مقاوم‌تر، خواناتر و ایمن‌تر نسبت به null بنویسید.
تغییر کوچکی است که تأثیر بزرگی دارد!
در حال یادگیری جاوای پایه هستید؟ Optional یکی از موارد طلایی است که باید خوب یاد بگیرید! 💎

آیا در کدهای خود از Optional استفاده می‌کنید یا هنوز به‌صورت دستی null را بررسی می‌کنید؟
بیایید درباره‌اش صحبت کنیم 👇

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

⚡️ @javapro_ir
💬@group_javapro
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🚀 Spring Boot + هوش مصنوعی = بهره‌وری بیشتر برای برنامه‌نویسان🤖

اخیراً از ابزارهای هوش مصنوعی در کنار Spring Boot استفاده می‌کنم — و واقعاً افزایش بهره‌وری محسوسه. این ابزارها هر روز به شکل‌های زیر کمکم می‌کنن:

💡 تولید سریع کدهای تکراری مثل کنترلرها، DTOها و تنظیمات

🧪 سرعت دادن به نوشتن تست‌های واحد با نقطه شروع‌های مناسب

🛁 پیشنهادهای هوشمندانه در هنگام بازسازی یا پاک‌سازی کد

📝 تهیه مستندات بهتر و سریع‌تر

🧠 کمک به بررسی ایده‌ها یا حالت‌های خاص در فرآیند توسعه

مثل داشتن یک دستیار کدنویسی همیشه در دسترسه — بدون تأخیر، بدون مانع.

هنوز در حال یادگیری و بهبودشم — ولی تا الان تأثیرش روی روند کارم کاملاً مثبت بوده.

کسی دیگه‌ای هم اینجا از هوش مصنوعی همراه با Spring Boot استفاده می‌کنه؟ شما چه مزایایی دیدید؟

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

⚡️ @javapro_ir
💬@group_javapro
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🚀 نکات آماده‌سازی برای مصاحبه برنامه‌نویسان
جاوا
🧠💻

در حال آماده شدن برای یک مصاحبه شغلی به عنوان توسعه‌دهنده جاوا هستید؟ این نکات کلیدی به افزایش اعتمادبه‌نفس و عملکرد شما کمک می‌کنند:
🔹 ۱. تسلط بر مفاهیم اصلی جاوا
اصول شی‌گرایی (OOP)، کالکشن‌ها، مدیریت استثناها و ویژگی‌های جاوا 8 به بعد (لامبدا، استریم‌ها، اینترفیس‌های تابعی) را به‌خوبی درک کنید. این مباحث همیشه مورد سوال قرار می‌گیرند.

🔹 ۲. مرور ساختارهای داده و الگوریتم‌ها
تمرین روی مسائل آرایه‌ها، رشته‌ها، هش‌مپ‌ها، درخت‌ها و گراف‌ها. از پلتفرم‌هایی مانند LeetCode، HackerRank یا Codeforces استفاده کنید. کارایی (Efficiency) بسیار مهم است!

🔹 ۳. آشنایی عمیق با فریم‌ورک‌ها
با بخش‌های مختلف Spring (Boot، MVC، Security)، Hibernate/JPA و APIهای REST آشنا باشید. بتوانید کاربردهای واقعی و پیکربندی‌ها را توضیح دهید.

🔹 ۴. مهارت‌های SQL و پایگاه داده
تمرین نوشتن کوئری، درک JOINها، ایندکس‌گذاری و تراکنش‌ها. توانایی بهینه‌سازی کوئری‌های کند و طراحی ساختار پایگاه داده (Schema) را داشته باشید.

🔹 ۵. طراحی سیستم (برای موقعیت‌های شغلی با تجربه)
آماده باشید درباره طراحی سیستم‌های مقیاس‌پذیر و قابل نگهداری صحبت کنید. مفاهیم پایه مثل Load Balancing، Caching، میکروسرویس‌ها و صف‌های پیام‌رسانی را درک کنید.

🔹 ۶. پروژه‌ها و تجربه کاری
آماده باشید درباره مشارکت‌ها، تصمیمات معماری و چالش‌هایی که در پروژه‌های قبلی داشته‌اید صحبت کنید. نشان دهید که مالکیت کار را بر عهده داشته‌اید، نه فقط مشارکت.

◽️ ۷. مصاحبه‌های آزمایشی و سوالات رفتاری
تمرین توضیح دادن روند فکری‌تان. ارتباط روشن و شفاف داشته باشید. برای پاسخ به سوالات رفتاری از چارچوب STAR (وضعیت، وظیفه، اقدام، نتیجه) استفاده کنید.

💫 نکته تکمیلی: یادگیری را ادامه دهید. کدنویسی را ترک نکنید. اعتماد به نفس از آمادگی می‌آید. اگر در حال آماده‌سازی هستید، می‌دانم که از پسش برمی‌آیید!
احساس راحتی کنید و منابع مورد علاقه‌تان را برای آمادگی در کامنت‌ها به اشتراک بگذارید ⬇️

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


⚡️ @javapro_ir
💬@group_javapro



#جاوا #spring_boot #java #مصاحبه #استخدام
Please open Telegram to view this post
VIEW IN TELEGRAM
2
🚀 درک مراحل اجرای یک کلاس در جاوا ☕️

به‌عنوان برنامه‌نویس‌های جاوا، معمولاً تمرکز ما روی نوشتن کد تمیز و ساخت اپلیکیشن‌های قویه—اما واقعاً چقدر با روند اجرای یک کلاس جاوا در پشت‌صحنه آشنا هستیم؟
در ادامه یه مرور سریع داریم بر ترتیب اجرای کدها در یک کلاس جاوا:

1️⃣ بارگذاری کلاس (Class Loading)
وقتی یک کلاس برای اولین بار استفاده میشه، ClassLoader اون رو وارد حافظه می‌کنه.

2️⃣مقداردهی اولیه‌ی استاتیک (Static Initialization)
متغیرهای استاتیک و بلاک‌های استاتیک، فقط یک‌بار و به ترتیبی که در کد نوشته شدن، اجرا می‌شن.

3️⃣ اجرای متد main (در صورت وجود)
در برنامه‌های مستقل، JVM دنبال متد public static void main(String[] args) می‌گرده تا اجرای برنامه رو از اونجا شروع کنه.

4️⃣ایجاد شیء (Object Creation)
وقتی از new استفاده می‌کنیم، حافظه اختصاص داده میشه و سازنده (constructor) فراخوانی میشه.

5️⃣ مقداردهی اولیه‌ی نمونه (Instance Initialization)
متغیرهای نمونه (instance variables) و بلاک‌های ابتدایی نمونه، قبل از سازنده اجرا می‌شن.

6️⃣ اجرای سازنده (Constructor Execution)
در نهایت، سازنده اجرای شیء رو تکمیل می‌کنه. اگه کلاس والد (superclass) داشته باشه، سازنده اون هم صدا زده میشه.

🧐چرا دونستن این مراحل مهمه؟
چون درک دقیق این مراحل به شما کمک می‌کنه تا اشکال‌هایی مثل مقادیر غیرمنتظره، باگ‌های اولیه‌سازی و رفتارهای عجیب متغیرهای استاتیک رو راحت‌تر پیدا و رفع کنین.

💡نکته کاربردی:
با گذاشتن دستور System.out.println در بلاک‌های استاتیک، بلاک‌های نمونه و سازنده‌ها، می‌تونین ترتیب اجرای دقیق کد رو ببینین و بهتر متوجه بشین چه اتفاقی داره می‌افته.

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


⚡️ @javapro_ir
💬@group_javapro



#جاوا  #spring_boot #java #مصاحبه #استخدام
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1🙏1
قدرت Hibernate در برابر JDBC – از دید یک توسعه‌دهنده Java 🚀

بسیاری از ما توسعه‌دهندگان جاوا، کار با پایگاه داده را با JDBC شروع می‌کنیم. این کار مفاهیم پایه مثل اتصال‌ها، کوئری‌ها و نتیجه‌ها را آموزش می‌دهد — اما وقتی برنامه‌ها بزرگ‌تر می‌شوند، فقط استفاده از JDBC می‌تواند به سرعت به گلوگاه تبدیل شود.
🐢

اینجاست که Hibernate وارد می‌شود و بازی را تغییر می‌دهد! 🔥

🟢 افزایش بهره‌وری: دیگر نیازی به نوشتن بی‌پایان دستورات SQL و کدهای تکراری برای عملیات CRUD نیست. Hibernate با ORM این کارها را به شکلی زیبا انجام می‌دهد.

🟢 قابلیت حمل: می‌خواهید پایگاه داده را عوض کنید؟ Hibernate تفاوت‌ها را انتزاع می‌کند. مهاجرت از MySQL به PostgreSQL یا Oracle با حداقل تغییر در کد ممکن است.

🟢 بهینه‌سازی عملکرد: قابلیت‌هایی مثل کش داخلی، بارگذاری تنبل (lazy loading) و پردازش دسته‌ای، باعث می‌شوند برنامه‌ها روان‌تر و سریع‌تر اجرا شوند.

🟢قابلیت نگهداری بالا: کد خوانا و تمیز باقی می‌ماند. منطق تجاری از کوئری‌های SQL جدا می‌شود که اعمال تغییرات در آینده را ساده‌تر می‌کند.

🟢ویژگی‌های پیشرفته: نسخه‌بندی، قفل خوش‌بینانه (optimistic locking) و جوین‌های پیچیده بدون نیاز به نوشتن SQLهای پیچیده به خوبی مدیریت می‌شوند.

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

اگر هنوز برای پروژه‌های بزرگ از JDBC خام استفاده می‌کنید، شاید وقت آن رسیده که سطح کاری خود را ارتقا دهید. Hibernate فقط یک ابزار نیست — بلکه یک تحول در مدیریت پایگاه داده برای توسعه‌دهندگان Java است. 🚀

➡️ اگر این مطلب برایتان جالب بود، بازنشرش کنید.


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


⚡️ @javapro_ir
💬@group_javapro



#جاوا  #spring_boot #java #آموزش #hibernate #jdbc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41🙏1
📣بروزرسانی دوره Spring Core – اطلاعیه جدید

🎓شرکت‌کنندگان گرامی دوره‌ی «Spring Core»،

🎞فیلم‌آموزشی جلسه 22 هم‌اکنون در پنل کاربری شما بارگذاری شده‌اند.

🔴 عنوان جلسه ۲۲:بررسی Fetch Type و Named Query

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

🖥 مشاهده دوره

با آرزوی موفقیت،
آکادمی جاواپرو

#اسپرینگ #Spring #spring_boot #spring_core #جاوا #java
Please open Telegram to view this post
VIEW IN TELEGRAM
حذف فضای خالی بین String ها.pdf
715.3 KB
آموزش حذف فضای خالی بین String ها


➡️ اگر این مطلب برایتان جالب بود، بازنشرش کنید.


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


⚡️ @javapro_ir
💬@group_javapro


#جاوا #java #برنامه_نویسی #String
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🙏1
در این کانال مطالب و آموزش ها از مبتدی در حد Hello World تا پیشرفته و حرفه ای به اشتراک گذاشته میشه...
3👍2🙏2
👋آموزش رایگان متدهای معروف String در Java

charAt
compareTo
compareToIgnoreCase
concat
copyValueOf
endsWith
equals_equalsIgnoreCase
isEmpty
join
lastIndexOf
length
indexOf
replace
split
startsWith
substring
toCharArray
trim
valueOf

🖥ثبت نام


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


⚡️ @javapro_ir
💬@group_javapro


#جاوا #java #برنامه_نویسی #String
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🙏1💔1
🚨با ایمیل و شماره تماس واقعی ثبت نام کنید چون بزودی سیستم احراز هویت ایمیل ها و شماره تماس های ثبت نام شده در سایت جاواپرو فعال میشه و دسترسی شماره ها و ایمیل های فیک به دوره ها برای همیشه بسته میشه.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🙏1💔1
🔹 آشنایی با عملگرهای بیتی در زبان جاوا

عملگرهای بیتی (Bitwise Operators) ابزاری هستند که عملیات‌هایی در سطح بیت روی داده‌های عددی انجام می‌دهند. این عملگرها مستقیماً روی نمایش دودویی اعداد کار می‌کنند و در بسیاری از موارد مانند برنامه‌نویسی سیستم‌های تعبیه‌شده، رمزنگاری، فشرده‌سازی داده‌ها و بهینه‌سازی مصرف حافظه مورد استفاده قرار می‌گیرند.

در زبان جاوا، این عملگرها روی انواع داده صحیح مانند int و long قابل اعمال هستند. عملکرد هر عملگر به صورت مستقیم روی بیت‌های تشکیل‌دهنده عدد است و هیچ‌گونه تبدیل به مبنای ده‌دهی یا دیگر مبناها در حین انجام عملیات صورت نمی‌گیرد.

در ادامه، برخی از پرکاربردترین عملگرهای بیتی در جاوا معرفی شده‌اند:

🔸 & (AND بیتی):
تنها زمانی مقدار بیت نهایی برابر ۱ می‌شود که هر دو بیت ورودی ۱ باشند.

🔸 | (OR بیتی):
اگر حداقل یکی از بیت‌ها مقدار ۱ داشته باشد، خروجی نیز ۱ خواهد بود.

🔸 ^ (XOR بیتی):
در صورتی که بیت‌ها متفاوت باشند، مقدار خروجی برابر با ۱ خواهد بود.

🔸 ~ (NOT بیتی):
تمام بیت‌ها را معکوس می‌کند؛ یعنی ۰ را به ۱ و ۱ را به ۰ تبدیل می‌نماید.

🔸 << (شیفت چپ):
تمام بیت‌ها به تعداد مشخصی به سمت چپ شیفت داده می‌شوند و از سمت راست صفر جایگزین می‌شود.

🔸 >> (شیفت راست با علامت):
بیت‌ها به سمت راست شیفت داده می‌شوند و بیت علامت حفظ می‌شود (برای اعداد منفی ۱ جایگزین می‌گردد).

🔸 >>> (شیفت راست بدون علامت):
مانند شیفت راست است، با این تفاوت که همیشه صفر جایگزین بیت‌های سمت چپ می‌شود.

📌 مثال ۱ - استفاده از AND بیتی:


int a = 6; // در دودویی: 00000110
int b = 3; // در دودویی: 00000011
int result = a & b; // نتیجه: 00000010 => 2


در این مثال، فقط بیت‌های مشترک با مقدار ۱ باقی مانده‌اند و نتیجه نهایی عدد ۲ خواهد بود.

📌 مثال ۲ - استفاده از OR بیتی:


int a = 6; // 00000110
int b = 3; // 00000011
int result = a | b; // نتیجه: 00000111 => 7


در این حالت، هر بیتی که در یکی از دو عدد مقدار ۱ داشته باشد، در نتیجه نیز ۱ خواهد بود.

📌 مثال ۳ - شیفت چپ:


int a = 5; // 00000101
int result = a << 1; // نتیجه: 00001010 => 10


با شیفت دادن یک‌باره بیت‌ها به چپ، مقدار عددی دو برابر می‌شود.

📌 مثال ۴ - عملگر NOT:


int a = 5; // 00000101
int result = ~a; // نتیجه: 11111010 => -6 (در نمایش مکمل دو)


عملگر ~ تمام بیت‌ها را معکوس می‌کند و در نتیجه، عدد منفی متناظر با مکمل دو تولید می‌شود.

✳️ استفاده از این عملگرها در شرایط خاص باعث افزایش کارایی، کاهش مصرف منابع و امکان دستکاری مستقیم بیت‌ها خواهد شد.

#کاربر_مبتدی


🆔 @javapro_ir
🆔 @group_javapro
👍41
📱کانال جاواپرو در واتساپ👇

https://whatsapp.com/channel/0029VaTbDxbEwEk5SDbU0X0W
Please open Telegram to view this post
VIEW IN TELEGRAM
📱پیج جدید جاواپرو در اینستاگرام

تازه پیج ایجاد کردیم هیچ فالوری نداریم حمایت کنین تو محتوا و انتقال تجربیات جبران میکنیم❤️

📷لینک پیج[کلیک کنید]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🧠۵ پیشرفت مهم هوش مصنوعی در مه ۲۰۲۵
چه چیزهایی همین حالا آینده‌ی هوش مصنوعی را شکل می‌دهند؟

🔴۱. GPT-4.5 Turbo (از OpenAI) – عامل‌های فوق‌سریع
• پشتیبانی لحظه‌ای از عامل‌های هوشمند
• حافظه بسیار بلندمدت
• سرعت و بهره‌وری بسیار بالاتر نسبت به نسخه‌های قبلی

🔴۲. Gemini 1.5 (از گوگل) – چندوجهی با حافظه قوی
• توانایی پردازش تا ۲ میلیون توکن در یک‌بار ورودی
• معرفی ابزارهای هوشمند مانند Workspace و پروژه Astra
• درک همزمان متن، صدا و تصویر

🔴۳. Meta LLaMA 3 – قدرت متن‌باز در سطح بالا
• مدل‌های باز با ۸ و ۷۰ میلیارد پارامتر
• استفاده در اپ‌هایی مثل واتساپ و عینک‌های Ray-Ban
• رقیبی جدی برای مدل‌هایی مثل GPT-4


🔴۴. NVIDIA Blackwell – نسل جدید پردازنده برای هوش مصنوعی
• ۴ برابر بهره‌وری بیشتر در آموزش مدل‌ها
• پایه‌گذار زیرساخت آینده‌ی هوش مصنوعی
• در حال استفاده توسط غول‌هایی مثل AWS، Azure و Google Cloud


🔴۵. همکاری Hugging Face و Mistral – زیرساخت باز برای توسعه هوش مصنوعی
• ابزارهایی مخصوص توسعه‌دهندگان
• پشتیبانی از RAG، عامل‌ها و آموزش سفارشی مدل‌ها
• بدون وابستگی به شرکت خاص

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


⚡️ @javapro_ir
💬@group_javapro
Please open Telegram to view this post
VIEW IN TELEGRAM
📣دوره Spring Core تکمیل شد– اطلاعیه جدید

🎓شرکت‌کنندگان گرامی دوره‌ی «Spring Core»،

🎞فیلم‌آموزشی جلسه 23 و 24 هم‌اکنون در پنل کاربری شما بارگذاری شده‌اند و دوره Spring Core تکمیل شد.

🔴 جلسه ۲۳:ورود به Spring Data JPA
🔴جلسه ۲۴(آخر): ساخت ربات تلگرام با Spring Boot

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

🖥 مشاهده دوره

با آرزوی موفقیت،
آکادمی جاواپرو

#اسپرینگ #Spring #spring_boot #spring_core #جاوا #java
Please open Telegram to view this post
VIEW IN TELEGRAM
برنامه نویسی جاوا | Java pinned «📣دوره Spring Core تکمیل شد– اطلاعیه جدید 🎓شرکت‌کنندگان گرامی دوره‌ی «Spring Core»، 🎞فیلم‌آموزشی جلسه 23 و 24 هم‌اکنون در پنل کاربری شما بارگذاری شده‌اند و دوره Spring Core تکمیل شد. 🔴 جلسه ۲۳:ورود به Spring Data JPA 🔴جلسه ۲۴(آخر): ساخت ربات تلگرام با…»