Java面试通关秘籍- Java_Useful_8股文_Guide أولئك الذين يرون من المقرر أن يكون من المقرر أن يكون مقدرًا ليكون مقدرًا ليكون مقدرًا ليكون مقدرًا ليكونوا مقدرين ليكون مقدرًا ليكون مقدرًا ليكون مقدرًا ليكون مقدرًا ليكون مقدرًا أن يكون مقدرًا Java_Useful_8股_Guide موقعنا على شبكة الإنترنت JavaU8G
هذا المشروع
Java_Useful_8股文_Guideملتزم بإنشاءJava技术与面试指南، ويغطي مجموعة واسعة منSpring全家桶من BasicsJavaإلى التطبيقات العملية المتقدمة ، على سبيلOSMySQL中间件،Java面试JavaSE算法并发编程微服务JVM优化设计模式.
يحتوي موقع قاعدة المعرفة لدينا على تكامل فريد من نوعه لوظائف مشغل الموسيقى ، مما يسمح للمتعلمين بالتركيز على نقطة معرفة Java وإتقانها في وقت الأغنية . يهدف نموذج التعلم المبتكر هذا إلى تحسين كفاءة التعلم والمرح ، مما يسمح لك بفهم المفاهيم الرئيسية لتكديس تقنية Java في لحن مريح. ابدأ رحلة فعالة من "
听歌学Java".أثناء قراءة المحتوى التفصيلي لـ **
Java_Useful_8股文_Guide، فإنه يجمع بين المعرفة النظرية والممارسة لتحقيق تجربة تعليمية شاملة ومتعددة الحواس. سواء كنت تقوم بمراجعة أساسيات Java أو تدرس التفاصيل المعقدة لضبط JVM ، فهناك أغاني مختارة مقابلة لمرافقة مسار التعلم الخاص بك. نرحب بالمطورين للمشاركة بنشاط والمشاركة شخصيًا في طريقة التعلم الجديدة هذه لإنشاءJava面试أكثر وضوحًا وعملية وموارد技术提升!
JavaSE : اشرح المفاهيم الأساسية والميزات المتقدمة للغة Java بطريقة سهلة الفهم.JUC : يتضمن عددًا كبيرًا من رموز الأمثلة المتزامنة وتحليلها لمساعدتك على إتقان مهارات التنمية متعددة الخيوط.JVM : يوفر مقدمة مفصلة لمبادئ JVM وحالات ضبط عملية لمساعدتك على أن تصبح خبيرًا في ضبط JVM.DesignPatterns : لخص أنماط التصميم الشائعة وسيناريوهات التطبيق لتحسين قدرات تصميم البرامج الخاصة بك.SpringFrames : التفسير الشامل لمكونات عائلة Spring واستخدامها القتالي الفعلي لتعزيز قدرتك التنافسية في التنمية على مستوى المؤسسة.JavaInterview : ملخص تحليل ومناقشة مختلف أسئلة مقابلة Java لحمايتك من المقابلة. Gitee (السرعة السريعة)Github (مجموعة اختيارية) من أجل توفير محتوى عالي الجودة بشكل مستمر ، سوف يصر هذا المشروع على التحديثات المنتظمة يوميًا أو أسبوعيًا لمواكبة أحدث تقنيات Java واتجاهات المقابلات في الوقت المناسب. ندعو بإخلاص أفراد المجتمع للمشاركة في المساهمة وتبادل معرفتك وخبرتك من خلال Pull Request (PR).
نرحب بالمطورين لمتابعة هذا المشروع ، مثل Star لإظهار دعمهم ، والمشاركة بنشاط في المناقشات والبناء المشترك. دعنا نعمل معًا لإنشاء كتاب معرفة عالي الجودة ومحدث بشكل مستمر لمجتمع مطور Java !
كيف تشارك؟ انقر فوق الزر Star في الزاوية اليمنى العليا لمتابعة تقدم المشروع. انسخ المشروع إلى حساب GitHub الخاص بك من خلال وظيفة Fork ، وقم بتعديل المحتوى وبدء Pull Request . اطرح أسئلة أو اقتراحات أو مشاركة أسئلة ومقابلة جديدة في منطقة Issues .
حدد مجلد على الكمبيوتر المحلي واستنساخ محتويات المستودع في المجلد
# 本处使用 ssh 协议,如未配置,需要先配置本地密钥到GitHub
# 参考链接:https://blog.csdn.net/W_317/article/details/106518894
$ git clone [email protected]:WL2O2O/JavaU8G.gitنشر أو تحديث المقالة
SUMMARY.md في مجلد src وأضف سجل فهرس إلى الموقع المقابل ؛README.md في مجلد src وأضف سجل TimeLine إلى الموقع المقابل.ملفات تتبع المستودعات المحلية
$ git add . إرسال الرمز إلى المستودع المحلي
$ git commit -m "你的提交信息" رمز الدفع إلى مستودع GitHub التعاوني عن بعد
$ git push origin master انتظر حتى يتم تحديث CI / CD تلقائيًا ، حوالي ثلاث دقائق
يوفر الدليل الجذري لهذا المستودع نصًا بنقرة واحدة وسحب بنقرة واحدة. نظرًا لأن التعاون متعدد الشخصيات مناسب ولا يقوم بإنشاء بنية متعددة الإدارة للإدارة ، من أجل منع نسيان أحدث رمز للمستودع البعيد ، يمكنك استخدام ملف البرنامج النصي لعمليات النقر إلى الظهور.
خطوات للاستخدام:
autoPull.batautoUpload.bat س: لماذا ظهر إرسال الرمز الخاص بي؟
ج: نظرًا لأنه مستودع تعاوني متعدد الأشخاص ، فقد يكون الإصدار المحلي غير متناسق عند تحميله. من أجل تجنب النزاعات ، هذه الخطوة 1. 更改已有的文件内容或者新增文件، تحتاج إلى إضافة الخطوات拉取仓库最新内容. من أجل تسهيل هذه العملية ، يمكنك النقر بشكل مباشر فوق نقر مزدوج ملف autoPull.bat Script لسحب نقرة واحدة ، أو أمر:
# 命令解释:拉取 master 分支最新内容 origin:分支标记,master:分支名
$ git pull origin masterطالما أنك تكتب على سيرتك الذاتية ، ستسأل عمومًا عن كيفية حل تعارضات GIT. اسمحوا لي أن أتحدث عن الحل أدناه؟
تحليل أسباب الصراع:
يتعاون مع B في نفس الوقت ، ويقوم بتحديث Test.md file ، ثم B يقوم أيضًا بتحديث File Test.md محليًا. في هذا الوقت ، لا يعرف A أنه تم رفضه عند إجراء عمليات الدفع. ملاحظة: لن تتسبب الملفات الجديدة في تعارضات ما لم يتم تكرارها ، لذا فإن النزاعات ناتجة بشكل عام بسبب التحديثات.
حلول لحل النزاعات:
git checkout fileName.md إلغاء التغييرات إلى ملف متضارب -> git pull origin master يسحب أحدث محتوى -> تحديث الملف مرة أخرى -> دفع التحديثاتكيفية ترحيل الكود:
دورة حياة الملفات العامة: تعديل المحتوى -> الالتزام بالفرع المحلي -> اضغط على المستودع البعيد
بالنسبة لتراجع الملفات المعدلة ولكن غير الملتزمة: يمكنك استخدام git checkout fileName.md لإلغاء التغييرات على الملفات
لتراجع الملفات المعدلة أو الالتزام أو الدفع:
# 查看 git 日志的提交记录的32位 hash 值
$ git log
# 回退提交,以 hash 值为 1234 为例(正常是32位)
$ git revert 1234 或者 git reset --hard 1234
revert 会保留更改文件的历史记录,创建一条新的记录,reset 是强制回退,彻底的回到指定的版本,reset 有三种模式可以选择:soft、mixed(默认)、hard(常用)
--soft模式会重置指针,但不会修改工作目录或索引。这意味着之前的更改仍
然存在于工作区中,并且可以重新提交。
--mixed模式是默认模式,它重置指针并更新索引以匹配指定的提交。这将取消索引中的所有更改,但工作目录中的更改将保留。
--hard模式会重置指针,索引和工作区。这意味着所有更改都将永久删除,并
且没有办法澈销或恢复这些更改。Github ، وكيفية العملإذا كنت قد دفعت التغييرات إلى المستودع البعيد وترغب في تعديل معلومات الالتزام ، فيمكنك استخدام أمر GIT Rebase لتعديل الالتزام التاريخي بشكل تفاعلي. فيما يلي الخطوات العامة:
الحذر: تعديل الالتزام الذي تم دفعه إلى مستودع بعيد هو عملية حساسة. إذا كنت تعمل مع شخص آخر ، أو أن مستودعك عام ، فإن تعديل التقديمات التاريخية قد يسبب مشكلة للآخرين. تأكد من أنك تفهم المخاطر المحتملة وإبلاغ الآخرين الذين يعملون معك.
تأكد من أن مساحة العمل الخاصة بك نظيفة: قبل البدء ، تأكد من أن مساحة العمل الخاصة بك لا توجد تغييرات غير ملتزم بها. يمكنك استخدام حالة git للتحقق. إذا كانت هناك تغييرات غير ملتزم بها ، ارتكبها أو حفظها مؤقتًا.
تنفيذ Rebase التفاعلي:
git rebase -i HEAD~n هنا n هو عدد الالتزامات التي تريد تعديلها. على سبيل المثال ، إذا كنت ترغب في تعديل أحدث 3 ارتباطات ، فيمكنك استخدام git rebase -i HEAD~3
git push origin $your -branch-name$ -fاستبدل اسم الفرع الخاص بك باسم الفرع الذي تعمل عليه.
ملاحظة: ستعمل الدفع القسري على الكتابة فوق تاريخ المستودع عن بُعد ، لذا تأكد من فهم عواقب هذه العملية وإخطار الآخرين الذين يعملون معك.
GitHub ، ولكن كان التقديم متداخلة. ماذا علي أن أفعل؟ 1. الأمر بسيط للغاية. إذا كنت لا تهتم بسجل الالتزام بـ Github ، فيمكنك تعديله مباشرة وإرساله مرة أخرى. 2. لا تريد الالتزام عن بُعد بعرض سجلات التقديم المتعددة ، بحيث يمكنك: اتخاذ الخطوات التالية لحذف الرمز الذي يتم إرساله محليًا وإعادة صياغته: (سيحذف جهاز التحكم عن بُعد التقديم في وقت واحد)
git reset --soft HEAD~1سيقوم هذا الأمر بتراجع مؤشر رأسك إلى الالتزام الأخير ، لكنه يحتفظ بتعديلات مساحة العمل. وهذا يعني أنك ألغت هذا الالتزام ، لكن الكود المعدل يبقى في مستودعك المحلي.
git add ، ثم إعادة تقديمها باستخدام أمر git commit : git add < modified_files >
git commit -m " Fixed issues and re-committed " هنا <modified_files> هو مسار الملف أو اسم الملف الذي قمت بتعديله. يتبع الخيار -m معلومات التقديم ، يمكنك ملؤها وفقًا للوضع الفعلي.
git push origin < branch_name > هنا <branch_name> هو اسم الفرع الذي تتواجد فيه حاليًا ، مثل main أو develop .
وبهذه الطريقة ، قمت بحذف الالتزام الخاطئ بنجاح وإعادة تقديم الكود المعدل. تأكد من قيامك بنسخة احتياطية من الملفات والبيانات المهمة قبل إجراء هذه العمليات.
commit المتعددة لـ GitHub ، ماذا علي أن أفعل؟ إذا كنت ترغب في إظهار التزام واحد فقط على GitHub ، فيمكنك استخدام أمر git rebase لدمج ارتباطات متعددة في التزام واحد. فيما يلي خطوة واحدة بسيطة:
git rebase -i HEAD~ < number_of_commits > هنا <number_of_commits> هو عدد الالتزامات التي تريد دمجها. على سبيل المثال ، إذا كنت ترغب في دمج أحدث 3 ارتباطات ، فيمكنك إدخال HEAD~3 .
pick قبل الالتزام الذي يجب الاحتفاظ به squash أو s . حافظ على الالتزامات التي تريد دمجها ودمجها في أحدها.git push origin < branch_name > --force هنا <branch_name> هو اسم الفرع الذي تتواجد فيه حاليًا ، مثل main أو develop .
من خلال الخطوات المذكورة أعلاه ، يمكنك دمج ارتباطات متعددة في التزام واحد ، مما يدل على سجل واحد فقط على GitHub. تأكد من قيامك بنسخة احتياطية من الملفات والبيانات المهمة قبل إجراء هذه العمليات.
مراجع:
git command التعلم البصري
ملخص القيادة المشتركة git