‫استفاده از مکانیزم Cache در داخل جاوا با استفاده از کتابخانه ی Ehcache

پیشگفتار

‫ابتدا به تعریف cache می پردازیم: cache در حقیقت حافظه ای می باشد که اطلاعات بخصوصی را در خود جای داده است و میتواند به سیستم های کامپیوتری کمک کند تا بجای درخواست های متوالی بر روی سرورها با سرعت بالا دیتارو از این حافظه واکشی و به یوزر برگردانند.

‫استفاده از مکانیزم caching یکی از پرکاربردترین مکانیزم های موجود برای پایین آوردن میزان بار بر روی سیستم های کامپیوتری محسوب میشود. امروزه وبسایت های پر بازدید دنیا برای کنترل بار و ترافیک روی سرورهای مختلفشان من جمله دیتابیس، وب سرور و … از این مکانیزم استفاده میکنند تا سهم عمده ای از درخواست های مشابه بدون نیاز به درخواست های متوالی به سرورهای سرویس دهنده از طریق cache موجود انجام بپذیرد و نیاز به خریداری سرورهای خیلی بزرگ با قدرت بسیار بالا هم کمتر شود. در دنیای امروز که ارتباطات و درخواست ها بیش‫ از هر زمان دیگه ای موجود می باشد تکنولوژی  caching به یک مسائله مهم تبدیل شده که همه ی شرکت های سرویس  دهنده باید به آن توجه کنند. همچنین برای یوزرهای یک شرکت امروزه سرعت پاسخگویی یک امر ضروری محسوب میشود، لذا استفاده از cache  و پاسخ به درخواست های با لود بالا به یوزرها میتواند از طریق مکانیزم های متفاوت caching امکان  بپذیرد که بسیار کارامد است. استفاده از cache ها میتواند در سناریوهای متفاوتی مورد استفاده واقع شود :

vertical scalability‫۱-
‫۲- horizontal scalability
‫۳-in-process caching
‫۴- in-memory caching
‫۵- دیتابیس های in-memory
‫۶- دیتاگرید های in-memory

Continue reading ‫استفاده از مکانیزم Cache در داخل جاوا با استفاده از کتابخانه ی Ehcache

‫کار انوتیشن های PreDestroy و PostConstruct

‫ابتدا توجه شما را به انوتیشن های استاندارد موجود در Java Platform – JavaEE جلب میکنیم:

PreDestroy PostConstruct Usage

‫حال به دو انوتیشن مهم که در چرخه ساخته شدن Bean ها و از بین رفتن آن ها نقش مهمی را ایفا می کنند می پردازیم :
Continue reading ‫کار انوتیشن های PreDestroy و PostConstruct

‫قوانین استفاده از annotation هابهمراه وراثت در جاوا

‫استفاده از annotations ها بهمراه وراثت در داخل زبان جاوا همیشه بعنوان یک معزل و پیچیدگی برای برنامه نویس ها بوده است. بعضی وقت ها برنامه نویس ها فرضیاتی برای خودشان در نظر میگیرند که ممکن است در زبان های دیگر وجود داشته باشند.

annotation inheritance integration in java

‫در اینجا به اینکه در داخل جاوا وراثت و انوتیشن به چه شکل با هم کارمیکنند توضیحاتی رو ارائه میدهیم:
Continue reading ‫قوانین استفاده از annotation هابهمراه وراثت در جاوا

‫چرا نباید در جاوا از متده finalize استفاده کنیم ؟

finalize method - ‫متده finalize

‫امروز میخوایم در مورد کارایی متده finalize صحبت کنیم . این متد در داخل کلاسه Object وجود داره لذا چون پدر همه ی کلاس های جاوایی کلاسه Object است همه کلاس های جاوایی اون رو دارند.

‫کار این متد اینه که به JVM این کمک رو میکنه که وقتی مکانیزم Garbage Collection احساس کرد که دیگه Reference ی به یک Object وجود نداره اون فضای مموری رو آزاد کنه

‫خیلی راحت برای اینکه بفهمین چطوری کار میکنه یک کلاس بنویسید و یک فایلی رو تو برنامه هه باز کنین ولی مثلا Reader رو توی بخش final عه catch نیاین close کنین.
Continue reading ‫چرا نباید در جاوا از متده finalize استفاده کنیم ؟

‫NameSpace یی که در header عه تنظیمات اسپرینگ قرار داده میشوند چه ‫معنایی دارند ؟

Spring NameSpaces

‫با یک آموزش جدید در خدمتتان هستیم. شاید شما از اون دسته افرادی باشین که به ‫برنامه نویسی جاوا و فریمورک Spring علاقه مند باشین.
‫همانطور که میدونین برای تعریف Bean ها در داخل اسپرینگ دو راه کلی وجود داره :
‫۱- از طریق فایل xml
‫۲- بصورت برنامه نویسی با زبان جاوا
Continue reading ‫NameSpace یی که در header عه تنظیمات اسپرینگ قرار داده میشوند چه ‫معنایی دارند ؟

‫نحوه مدیریت Exception ها در جاوا

‫نحوه مدیریت Exception ها در جاوا

‫در داخل جاوا thread ها یچیزی دارن به نام stack trace که طبق اون JVM میتونه مسیر اجرای یک کلاس رو trace کنه. زمانه debug هم برنامه نویس میتونه ببینه چه مسیری در طول برنامه طی شده.
Continue reading ‫نحوه مدیریت Exception ها در جاوا

‫تاریخ شمسی در جاوا

‫تاریخ شمسی در جاوا - Jalali Calendar
در این پست با تبدیل تاریخ میلادی سیستم به شمسی آشنا می شویم

این کار با یک لایبرری از شرکت IBM امکان پذیر است .

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

import com.ibm.icu.util.*;
import java.util.Date;

public class Main {

  public static void main(String[] args) {
    PersianCalendar persianCalendar=new PersianCalendar(new Date());
    int year= persianCalendar.get(Calendar.YEAR);
    int month = persianCalendar.get(Calendar.MONTH) + 1;
    int day = persianCalendar.get(Calendar.DAY_OF_MONTH);
    System.out.println(year+"/"+month+"/"+day);
  }
}

فایل لایبرری را میتوانید از اینجا دریافت کنید 

برای کسانی که از میون یا گریدل استفاده میکنند

این کتابخانه با توجه به تجربه ی استفاده بهترین کتابخانه موجود برای استفاده گزارش شده است ولی در صورت علاقه برای دسترسی به روش های دیگر میتوانید به این لینک هم مراجعه کنین:
stackoverflow

Download Java Magazine 2018 Full Collection

Java Magazine is a bi-monthly digital publication deep-dive into Java technology and the JVM. Every issue contains explanations about the language and the platform written by Oracle and community experts. Included content covers areas such as tutorials on new Java technology investments, investigations into alternative JVM languages, explanations of important development tools, and shared best practices with regard to Java coding. The magazine also has regular sections for beginners, quizzes based on the Oracle certification tests, book reviews that don’t mince words, in addition to coverage on server-side Java, Java client technologies, cloud-native environments for Java, and devices running Java solutions.

In this post, we collected the full collection of Java Magazine for the year 2018.

Java Magazine 2018 Collection

Download The Full Collection

 

How to Create in-memory password protected Zip file in java with multiple Entries

How to Create in-memory password protected Zip file in java with multiple Entries

In this tutorial, we use zip4J library for creating a zip file and put a password on our file:

<dependency>
    <groupId>net.lingala.zip4j</groupId>
    <artifactId>zip4j</artifactId>
    <version>1.3.2</version>
</dependency>

This is the code that do the job for you:

Continue reading How to Create in-memory password protected Zip file in java with multiple Entries