JD.com شراء Dangdang شراء
تم تطوير جميع الأكواد الموجودة في العمود استنادًا إلى Java 8 + Spring Boot 2.2.1.RELEASE + Spring Cloud Greenwich.SR4 + Spring Data Moore-SR4، وتعتمد إدارة التبعية على Maven.
كل حالة عبارة عن تطبيق سطر أوامر SpringBoot أو Java مستقل يمكن تشغيله بشكل مستقل لتجنب التداخل المتبادل، لكنهما يشتركان في Maven POM.
بعد تنزيل الكود المصدري، قم أولاً بتشغيل أمر docker-compose up في الدليل الجذر لتشغيل MySQL وRedis وES وRabitMQ والأنظمة الأخرى ذات الصلة من خلال Docker، ثم ابدأ تشغيل التطبيق.
يعتمد معظم محتوى العمود على مكون واحد فقط، وهو MySQL. إذا كنت تواجه صعوبة في بدء إنشاء عامل الإرساء، فيمكنك أولاً التعليق على المكونات ذات الصلة في docker-compose.yml، مثل التعليق على ES وRabbitMQ، ثم البدء فيه. ستحتاج إلى استخدامه لاحقًا في فصل التصميم، وتحتاج إلى حذف وحدة SpringBoot Starter ذات الصلة في pom.xml في نفس الوقت.
يوجد ملف readme.md Markdown في الدليل الجذر للكود المصدر، ويوجد دليل يسرد موقع الكود المصدري المطابق لكل مقالة، وفي الوقت نفسه، يوجد ملف readme.md أسفل كل حزمة كود مصدر، والذي يسرد كل منها المقالة اسم حزمة التعليمات البرمجية المصدر لكل قسم في هذه المقالة.
ستستخدم معظم الحالات في الكود المصدري طرق تسمية خاطئة وصحيحة لتمثيل التنفيذ الخاطئ والتنفيذ الصحيح. يمكنك مقارنة التنفيذ بمحتوى الكتاب لفهمه.
ستقوم بعض الحالات (مثل مقالة فهرس SQL) بإنشاء بيانات اختبار بناءً على الوقت الحالي، لذلك ليس من المضمون إمكانية إعادة إنتاج نتائج الاختبار في المقالة محليًا، وتحتاج إلى ضبط حالات الاختبار بنفسك.
انقر فوق الارتباط لإدخال مجلد التعليمات البرمجية لكل قسم
يوجد أيضًا ملف readme.md في كل مجلد، والذي يسرد مجلدات التعليمات البرمجية المصدر لكل قسم في كل قسم.
[التفكير] يمثل الكود الداخل في التفكير والمناقشة
[موسع] يمثل الكود المتضمن في القراءة الموسعة
[الملحق] يمثل المزيد من الرموز الأخرى التي لا تظهر في الكتاب.
1.0: جافا 8
2.1 لا يعني استخدام مكتبة الأدوات المتزامنة عدم وجود مشكلات تتعلق بسلامة سلسلة المحادثات: concurrenttool
2.2 قفل الرمز: لا تدع "القفل" يصبح مصدر قلق: القفل
2.3 تجمع الخيوط: المكون الأكثر استخدامًا والأكثر عرضة للخطأ في كود العمل: Threadpool
2.4 تجمع الاتصال: لا تدع تجمع الاتصال يؤذيك: Connectionpool
2.5 مكالمات HTTP: هل فكرت في المهلات، وإعادة المحاولة، والتزامن: httpinvoc
2.6 20% من المعاملات التصريحية الربيعية في رمز العمل قد لا يتم التعامل معها بشكل صحيح: المعاملة
2.7 فهرس قاعدة البيانات: الفهرس ليس حلا سحريا: sqlindex
2.8 مسألة المساواة: كيف تحدد أنك أنت في البرنامج: يساوي
2.9 الحسابات الرقمية: انتبه لقضايا الدقة والتقريب والتجاوز: الحسابات الرقمية
2.10 فئة التجميع: عملية قائمة مليئة بالمزالق: المجموعة
2.11 معالجة القيمة الخالية: قيمة فارغة غير واضحة ومؤشر فارغ مزعج: قيمة فارغة
2.12 التعامل مع الاستثناءات: لا تدع نفسك تصبح أعمى عندما يحدث خطأ ما: الاستثناء
2.13 التسجيل: التسجيل ليس بهذه البساطة كما تعتقد: التسجيل
2.14 إدخال الملف: ليس من السهل تحقيق قراءة وكتابة فعالة وصحيحة للملف: io
2.15 التسلسل: مرارًا وتكرارًا، هل مازلت نفس الشخص: التسلسل
2.16 استفد جيدًا من فئات التاريخ والوقت في Java 8 وتجنب بعض المخاطر "القديمة الثالثة": التاريخ والوقت
2.17 لا تعتقد أن OOM مستحيل مع "ناقل الحركة الأوتوماتيكي": oom
2.18 ما هي المخاطر التي ستحدث عندما يواجه التفكير والتعليقات التوضيحية والأدوية العامة OOP: الميزات المتقدمة
2.19 إطار الربيع: IoC وAOP هما جوهر الامتداد: Springpart1
2.20 Spring Framework: لقد بذل الكثير من العمل بالنسبة لنا وجلب التعقيد أيضًا: Springpart2
3.1 تكرار الكود: ثلاث حيل لحل تكرار الكود: كود زائد عن الحاجة
3.2 تصميم الواجهة: يجب أن تكون لغة الحوار بين الأنظمة موحدة: apidesign
3.3 تصميم ذاكرة التخزين المؤقت: يمكن أن يكون التخزين المؤقت بمثابة زينة على الكعكة أو إضافة إهانة للإصابة: تصميم ذاكرة التخزين المؤقت
3.4 عند كتابة رمز العمل، هل يعني ذلك أنه جاهز للإنتاج: إنتاج جاهز
3.5 المعالجة غير المتزامنة سهلة الاستخدام، ولكن من السهل جدًا استخدامها بشكل غير صحيح: عملية غير متزامنة
3.6 تخزين البيانات: كيف يكمل NoSQL و RDBMS بعضهما البعض ويكمل كل منهما الآخر؟ :nosqluse
4.1 مصدر البيانات: لا شيء يمكن الوثوق به من جانب العميل: بيانات العميل
4.2 الأمان: عندما يتعلق الأمر بالمال، يجب أن تفكر في الحماية المحدودة والمحدودة والشديدة: Securitylastdefence
4.3 البيانات والكود: البيانات هي البيانات، الكود هو الكود: البيانات والكود
4.4 كيفية حفظ البيانات الحساسة ونقلها بشكل صحيح: البيانات الحساسة
5.1 إجراءات استكشاف الأخطاء وإصلاحها لتحديد موقع مشكلات تطبيق Java: غير متاح
5.2 لتحليل مشكلات Java وتحديد موقعها، يجب عليك الاستفادة بشكل جيد من هذه الأدوات: أدوات استكشاف الأخطاء وإصلاحها
5.3 بعض المخاطر في ترحيل برامج Java من الأجهزة الافتراضية إلى Kubernetes: غير متاح
إذا كنت تعتقد أن الكود المصدري مفيد لك، فمرحبًا بك في Star