Java面试通关秘籍—— Java_Useful_8股文_Guide見者有緣,緣來好運。歡迎訪問我們的八股小站JavaU8G ———— Java_Useful_8股_Guide ???
本項目
Java_Useful_8股文_Guide致力於打造一個全面且實用的Java技术与面试指南,涵蓋了從Java基礎知識到高級實踐應用的廣泛領域,包括但不限於Java面试、算法、JavaSE、并发编程、JVM优化、MySQL、OS、中间件、微服务等核心知識點,以及Spring全家桶及设计模式等內容。
我們的知識庫網站獨具匠心地集成了音樂播放器功能,讓學習者能夠在一首歌的時間內專注於並掌握一個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按鈕關注項目進展。 通過Fork功能複制項目到自己的GitHub賬戶,對內容進行修改後發起Pull Request 。 在Issues區域提出問題、建議或者分享新的面試題目與解析。
選擇本地電腦上一個文件夾,克隆倉庫內容到文件夾中
# 本处使用 ssh 协议,如未配置,需要先配置本地密钥到GitHub
# 参考链接:https://blog.csdn.net/W_317/article/details/106518894
$ git clone [email protected]:WL2O2O/JavaU8G.git發表or 更新文章
src文件夾中的SUMMARY.md文件,在對應位置新增索引記錄;src文件夾中的README.md文件,在對應位置增加TimeLine記錄。本地倉庫跟踪文件
$ git add . 提交代碼到本地倉庫
$ git commit -m "你的提交信息"推送代碼到遠程GitHub協作倉庫
$ git push origin master等待CI / CD自動更新,大概三分鐘左右
本倉庫根目錄中提供了一鍵pull 和一鍵upload 的腳本,因為多人協作為了便捷未設多分支結構進行管理,所以為了以防忘記拉取遠倉最新代碼,可以使用腳本文件進行點擊式操作。
使用步驟:
autoPull.batautoUpload.bat Q:為什麼我提交代碼出現了reject 被拒絕?
A:因為是多人協作倉庫,可能在你上傳的時候,本地版本不一致,為了避免衝突,在此步驟1. 更改已有的文件内容或者新增文件之前需要增加拉取仓库最新内容的步驟,為了便捷這一操作,可以直接雙擊autoPull.bat腳本文件進行一鍵拉取,或者命令:
# 命令解释:拉取 master 分支最新内容 origin:分支标记,master:分支名
$ git pull origin master只要簡歷上寫熟練使用git ,一般都會問如何解決git 衝突,下面說一下解決方案?
衝突原因分析:
A 與B 同時協作,A 更新了文件Test.md ,然後B 在本地也更新了文件Test.md ,此時A 並不知道,在進行push 操作時被reject。注意:新增的文件不會導致衝突,除非重名,所以發生衝突一般是更新導致的。
解決衝突的方案:
git checkout fileName.md取消對某衝突文件的更改--> git pull origin master拉取最新內容--> 再次更新文件--> 推送更新如何回滾代碼:
一般文件的生命週期:內容修改--> commit 到本地分支--> push 到遠倉
對於已修改,但未commit 文件的回滾:可以使用git checkout fileName.md取消對文件的更改
對於已修改,已commit或者push 文件的回滾:
# 查看 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提交信息,怎麼操作如果你已經將更改推送(push)到了遠程倉庫,並且想要修改提交信息,你可以使用git rebase命令來交互式地修改歷史提交。以下是一般步驟:
謹慎操作:修改已經推送到遠程倉庫的提交是一個敏感操作。如果你正在與他人合作,或者你的倉庫是公開的,修改歷史提交可能會給其他人帶來困擾。確保你了解潛在的風險,並通知與你一起工作的其他人。
確保工作區是乾淨的:在開始之前,確保你的工作區沒有任何未提交的更改。你可以使用git status來檢查。如果有未提交的更改,請提交或暫存它們。
執行交互式rebase:
git rebase -i HEAD~n這裡的n 是你想要修改的提交數量。例如,如果你想要修改最近的3個提交,你可以使用git rebase -i HEAD~3
git push origin $your -branch-name$ -f將your-branch-name 替換為你正在工作的分支名。
注意:強制推送會覆蓋遠程倉庫的歷史記錄,因此請確保你了解這一操作的後果,並通知與你一起工作的其他人。
GitHub ,但是提交錯了,怎麼辦?一、 很簡單,如果你不在意Github的commit記錄,那麼你可以直接修改,再次提交。二、 你不想遠程commit中顯示了多次提交記錄,那麼你可以:採取以下步驟來刪除本次本地提交並重新推送的代碼:(遠程會同步刪除提交)
git reset --soft HEAD~1這個命令會將你的HEAD指針回退到上一次提交,但是保留了工作區的修改。也就是說,你撤銷了本次提交,但是修改後的代碼仍然保留在你的本地倉庫中。
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 。
這樣,你就成功地刪除了錯誤的提交並重新提交了修改後的代碼。請確保在執行這些操作之前已經備份了重要的文件和數據。
GitHub的多個commit記錄,怎麼辦?如果你想在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 命令可視化學習
git 常用命令匯總