يحاكي رمز Java النقي مبدأ ذاكرة التخزين المؤقت من المستوى 1 ، وهو أمر بسيط وسهل الفهم.
نسخة الكود كما يلي:
استيراد java.util.arraylist ؛
استيراد java.util.hashmap ؛
استيراد java.util.list ؛
استيراد java.util.map ؛
فئة عامة المستوى {
// يتم استخدام هذا الكائن لمحاكاة ذاكرة التخزين المؤقت من المستوى 1
الخريطة الثابتة الخاصة <integer ، student> stus = new hashmap <integer ، student> () ؛
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
getStudent (1) ؛
getStudent (1) ؛
getStudent (1) ؛
getStudent (2) ؛
getStudent (2) ؛
}
الطالب الثابت العام getStudent (integer id) {
if (stus.containskey (id)) {
System.out.println ("Fetch Data from Cache") ؛
إرجاع stus.get (id) ؛
} آخر {
System.out.println ("جلب البيانات من قاعدة البيانات") ؛
الطالب s = mydb.getStudentByid (id) ؛
// ضع البيانات التي تم الحصول عليها من قاعدة البيانات في ذاكرة التخزين المؤقت
stus.put (id ، s) ؛
العودة s ؛
}
}
}
// محاكاة قاعدة البيانات
فئة mydb {
قائمة ثابتة خاصة <Student> list = new ArrayList <Tudent> () ؛
ثابت {
الطالب S1 = طالب جديد () ؛
s1.setName ("name1") ؛
s1.setid (1) ؛
الطالب S2 = طالب جديد () ؛
s2.setName ("name2") ؛
s2.setid (2) ؛
الطالب S3 = طالب جديد () ؛
s3.setName ("name3") ؛
s3.setid (3) ؛
// تهيئة قاعدة البيانات
list.add (s1) ؛
list.add (S2) ؛
list.add (S3) ؛
}
// توفير أساليب الاستعلام العامة في قاعدة البيانات
الطالب الثابت العام getStudentByid (INTEGER ID) {
لـ (الطالب S: قائمة) {
if (S.GetId (). يساوي (معرف)) {
العودة s ؛
}
}
// إذا لم يكن من الممكن العثور على الاستعلام ، فالتراجع فارغ
العودة لاغية.
}
}
// كائن المجال
طالب الفصل {
معرف عدد صحيح خاص ؛
اسم السلسلة الخاصة ؛
عدد صحيح عام getid () {
معرف الإرجاع ؛
}
setId public void (integer id) {
this.id = id ؛
}
السلسلة العامة getName () {
اسم العودة
}
public void setName (اسم السلسلة) {
this.name = name ؛
}
}