Java面试通关秘籍- Java_Useful_8股文_Guide Aqueles que vêem estão destinados a ser destinados a se destinar a se destinar a ser destinado a ser destinado a ser destinado a ser destinado a ser destinado a ser destinado a ser destinado a ser destinado a ser destinado a ser destinado a ser destinado a ser destinado a ser destinado a Java_Useful_8股_Guide bem -vindo ao nosso Bagua Jav JavaU8G
JVM优化projetoJava_Useful_8股文_Guideestá comprometido em criar umJava技术与面试指南并发编程算法prático, cobrindo uma amplaMySQLJavaSESpring全家桶, desde o básicoJavaa aplicaçõesOSavançadas,中间件, mas微服务limitadas aJava面试. e设计模式.
Nosso site da Base de conhecimento tem uma integração exclusiva das funções de Music Player , permitindo que os alunos se concentrem e dominem um ponto de conhecimento Java dentro do tempo de uma música . Esse modelo inovador de aprendizado visa melhorar a eficiência e a diversão da aprendizagem, permitindo que você entenda profundamente os principais conceitos da pilha de tecnologia Java em uma melodia descontraída. Comece uma jornada eficiente de "
听歌学Java".Ao ler o conteúdo detalhado de **
Java_Useful_8股文_Guide, ele combina conhecimento teórico com a prática para obter uma experiência de aprendizado abrangente e multissensorial. Esteja você revisando o básico do Java ou estudando os detalhes complexos do ajuste da JVM, existem músicas selecionadas correspondentes para acompanhar seu caminho de aprendizado. Os desenvolvedores podem participar ativamente e pessoalmente deste novo método de aprendizado para criar em conjuntoJava面试mais vívidas e práticas de Java e recursos技术提升!
JavaSE : Explique os conceitos básicos e os recursos avançados da linguagem Java de uma maneira fácil de entender.JUC : Inclui um grande número de códigos e análises simultâneos para ajudá-lo a dominar as habilidades de desenvolvimento multidreadas.JVM : fornece introdução detalhada aos princípios da JVM e casos de ajuste prático para ajudá -lo a se tornar um especialista em ajuste da JVM.DesignPatterns : Resuma padrões de design comuns e cenários de aplicativos para melhorar seus recursos de design de software.SpringFrames : interpretação abrangente dos componentes da família Spring e seu uso real de combate para melhorar sua competitividade no desenvolvimento da empresa.JavaInterview : Resumo da análise e discussão de várias perguntas da entrevista Java para protegê -lo da entrevista. Gitee (velocidade rápida)Github (coleção opcional) Para fornecer continuamente conteúdo de alta qualidade, este projeto insistirá em atualizações regulares diariamente ou semanalmente para acompanhar a mais recente tecnologia Java e entrevistar as tendências em tempo hábil. Convidamos sinceramente os membros da comunidade a participar da contribuição e compartilharem seu conhecimento e experiência por meio de Pull Request (PR).
Os desenvolvedores podem seguir este projeto, como Star para mostrar seu apoio e participar ativamente de discussões e co-construção. Vamos trabalhar juntos para criar um livro de conhecimento de alta qualidade e continuamente atualizado para a comunidade de desenvolvedores Java !
Como participar? Clique no botão Star no canto superior direito para seguir o progresso do projeto. Copie o projeto para a sua conta GitHub através Fork , modifique o conteúdo e inicie Pull Request . Faça perguntas, sugestões ou compartilhe novas perguntas e análises da entrevista na área Issues .
Selecione uma pasta no computador local e clone o conteúdo do repositório na pasta
# 本处使用 ssh 协议,如未配置,需要先配置本地密钥到GitHub
# 参考链接:https://blog.csdn.net/W_317/article/details/106518894
$ git clone [email protected]:WL2O2O/JavaU8G.gitPublicar ou atualizar artigo
SUMMARY.md na pasta src e adicione um registro de índice ao local correspondente;README.md na pasta src e adicione o registro TimeLine no local correspondente.Arquivos de rastreamento de repositório local
$ git add . Enviar código para o repositório local
$ git commit -m "你的提交信息" Empurre o código para o repositório colaborativo GitHub remoto
$ git push origin master Aguarde CI / CD ser atualizado automaticamente, cerca de três minutos
O diretório raiz deste armazém fornece um script com um puxão com um clique e upload com um clique. Como a colaboração em várias pessoas é conveniente e não configura uma estrutura de várias ramificações para gerenciamento, a fim de evitar esquecer o código mais recente do armazém remoto, você pode usar o arquivo de script para operações de cliques.
Etapas a serem usadas:
autoPull.batautoUpload.bat P: Por que meu código apresentou rejeição?
R: Por ser um repositório cooperativo em várias pessoas, a versão local pode ser inconsistente quando você o carrega. Para evitar conflitos, esta etapa 1. 更改已有的文件内容或者新增文件, você precisa adicionar as etapas拉取仓库最新内容. Para facilitar esta operação, você pode clicar diretamente com o arquivo de script autoPull.bat para puxar com um clique ou comando:
# 命令解释:拉取 master 分支最新内容 origin:分支标记,master:分支名
$ git pull origin masterDesde que você escreva em seu currículo, geralmente perguntará como resolver conflitos git. Deixe -me falar sobre a solução abaixo?
Análise das causas do conflito:
Um cooperado com B ao mesmo tempo, A atualiza o arquivo Test.md e B também atualiza o arquivo Test.md localmente. No momento, a A não sabe que foi rejeitado ao realizar operações de push. Nota: Os novos arquivos não causarão conflitos, a menos que sejam duplicados, portanto, os conflitos geralmente são causados por atualizações.
Soluções para resolver conflitos:
git checkout fileName.md cancele as alterações em um arquivo conflitante -> git pull origin master puxa o conteúdo mais recente -> atualiza o arquivo novamente -> push atualizaçõesComo reverter o código:
O ciclo de vida dos arquivos gerais: modificação de conteúdo -> Comprometar -se com a filial local -> Push to Remote Warehouse
Para reversão de arquivos modificados, mas não comprometidos: você pode usar git checkout fileName.md para cancelar alterações nos arquivos
Para reversão de arquivos modificados, comprometidos ou 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 , como operarSe você pressionou as alterações para o repositório remoto e deseja modificar as informações de comprometimento, pode usar o comando git rebase para modificar interativamente o compromisso histórico. Aqui estão as etapas gerais:
CUIDADO: Modificar um compromisso que foi empurrado para um repositório remoto é uma operação sensível. Se você estiver trabalhando com outra pessoa, ou seu repositório é público, a modificação de envios históricos pode causar problemas para os outros. Certifique -se de entender os riscos potenciais e informar outras pessoas que trabalham com você.
Verifique se o seu espaço de trabalho está limpo: antes de começar, verifique se o seu espaço de trabalho não tem alterações não comprometidas. Você pode usar o status Git para verificar. Se houver alterações não comprometidas, comprometa -as ou salvá -las temporariamente.
Executar Rebase Interativa:
git rebase -i HEAD~n Aqui n é o número de commits que você deseja modificar. Por exemplo, se você deseja modificar as três mais recentes compromissos, pode usar git rebase -i HEAD~3
git push origin $your -branch-name$ -fSubstitua seu nome de ramo pelo nome da filial em que você está trabalhando.
Nota: O Push forçado substituirá a história do repositório remoto, portanto, entenda as consequências desta operação e notifique outras pessoas que trabalham com você.
GitHub , mas a submissão foi escalonada. O que devo fazer? 1. É muito simples. Se você não se importa com o registro de comprometimento do Github , poderá modificá -lo e enviá -lo novamente diretamente. 2. Você não deseja que o comprometimento remoto para exibir vários registros de envio, para poder: tome as seguintes etapas para excluir o código que é submetido localmente e retomado: (o controle remoto excluirá o envio simultaneamente)
git reset --soft HEAD~1Este comando reverterá o ponteiro da cabeça para a última confirmação, mas mantém as modificações do espaço de trabalho. Isto é, você revogou esse compromisso, mas o código modificado permanece no seu repositório local.
git add e, em seguida, reenviar usando o comando git commit : git add < modified_files >
git commit -m " Fixed issues and re-committed " Aqui <modified_files> é o caminho ou o nome do arquivo que você modificou. A opção -m é seguida pelas informações de envio, você pode preenchê -las de acordo com a situação real.
git push origin < branch_name > Aqui <branch_name> é o nome da ramificação em que você está atualmente, como main ou develop .
Dessa forma, você excluiu com sucesso a confirmação errada e reenviou o código modificado. Verifique se você fez backup de arquivos e dados importantes antes de executar essas operações.
commit do GitHub , o que devo fazer? Se você deseja mostrar apenas um comando no Github, pode usar o comando git rebase para mesclar vários compromissos em uma confirmação. Aqui estão um passo simples:
git rebase -i HEAD~ < number_of_commits > Aqui <number_of_commits> é o número de começos que você deseja mesclar. Por exemplo, se você deseja mesclar os três mais recentes compromissos, poderá entrar HEAD~3 .
pick antes da confirmação que precisa ser retida squash ou s . Mantenha os compromissos que deseja mesclar e mesclar o outro se compromete com um deles.git push origin < branch_name > --force Aqui <branch_name> é o nome da ramificação em que você está atualmente, como main ou develop .
Através das etapas acima, você pode mesclar vários compromissos em uma confirmação, mostrando apenas um registro de confirmação no GitHub. Verifique se você fez backup de arquivos e dados importantes antes de executar essas operações.
Referências:
Git Command Visual Learning
Resumo do comando comum Git