JD.com comprar Dangdang comprar
Todos os códigos da coluna são desenvolvidos com base em Java 8 + Spring Boot 2.2.1.RELEASE + Spring Cloud Greenwich.SR4 + Spring Data Moore-SR4, e o gerenciamento de dependências é baseado em Maven.
Cada caso é um aplicativo de linha de comando SpringBoot ou Java independente que pode ser iniciado de forma independente para evitar interferência mútua, mas eles compartilham um Maven POM.
Depois de baixar o código-fonte, primeiro execute o comando docker-compose up no diretório raiz para executar MySQL, Redis, ES, RabbitMQ e outros sistemas relacionados por meio do Docker e, em seguida, inicie o aplicativo.
A maior parte da coluna depende apenas de um componente, MySQL. Se você tiver dificuldade para iniciar o docker-compose, você pode primeiro comentar sobre os componentes relevantes em docker-compose.yml, como comentar sobre ES e RabbitMQ, e então iniciá-lo quando você fizer isso. precisará usá-lo posteriormente no capítulo de design e precisará excluir o módulo SpringBoot Starter relevante em pom.xml ao mesmo tempo.
Há um arquivo readme.md Markdown no diretório raiz do código-fonte. Há um diretório listando a localização do código-fonte correspondente a cada artigo. Ao mesmo tempo, há um arquivo readme.md abaixo de cada pacote de código-fonte, que lista cada um. artigo. O nome do pacote de código-fonte de cada seção deste artigo.
A maioria dos casos no código-fonte usará métodos de nomenclatura errados e corretos para representar a implementação errada e a implementação correta. Você pode comparar a implementação com o conteúdo do livro para entender.
Alguns casos (como o artigo de índice SQL) gerarão dados de teste com base na hora atual, portanto, não é garantido que os resultados do teste no artigo possam ser reproduzidos localmente e você mesmo precisará ajustar os casos de teste.
Clique no link para entrar na pasta de código de cada seção
Há também um arquivo readme.md em cada pasta, que lista as pastas de código-fonte de cada seção em cada seção.
[Pensar] representa o código envolvido no pensamento e na discussão
[Extended] representa o código envolvido na leitura estendida
[Suplemento] Representa mais outros códigos que não aparecem no livro.
1.0: java8
2.1 Usar uma biblioteca de ferramentas simultâneas não significa que não haja problemas de segurança de thread: concurrenttool
2.2 Bloqueio de código: Não deixe que o “bloqueio” se torne uma preocupação: bloqueie
2.3 Pool de threads: o componente mais comumente usado e mais sujeito a erros no código de negócios: threadpool
2.4 Pool de conexões: não deixe que o pool de conexões machuque você: connectionpool
2.5 Chamadas HTTP: você considerou tempos limite, novas tentativas e simultaneidade: httpinvoke
2.6 20% das transações declarativas do Spring no código comercial podem não ser tratadas corretamente: transação
2.7 Índice de banco de dados: Índice não é uma panacéia: sqlindex
2.8 A questão da igualdade: como determinar se você é você no programa: igual
2.9 Cálculos numéricos: Preste atenção às questões de precisão, arredondamento e overflow: cálculos numéricos
2.10 Classe de coleção: Operação de lista cheia de armadilhas: coleção
2.11 Processamento de valor nulo: nulo pouco claro e ponteiro nulo irritante: valor nulo
2.12 Tratamento de exceções: Não fique cego quando algo der errado: exceção
2.13 Logging: Logging não é tão simples quanto você pensa: logar
2.14 Arquivo IO: Não é fácil conseguir leitura e gravação de arquivos eficientes e corretas: io
2.15 Serialização: Repetidamente, você ainda é a mesma pessoa?
2.16 Faça bom uso das classes de data e hora do Java 8 e evite algumas das “terceiras velhas” armadilhas: datetime
2.17 Não pense que OOM é impossível com “transmissão automática”: oom
2.18 Quais armadilhas haverá quando reflexão, anotações e genéricos encontrarem OOP: recursos avançados
2.19 Spring Framework: IoC e AOP são o núcleo das extensões: springpart1
2.20 Spring Framework: Ele fez muito trabalho para nós e também trouxe complexidade: springpart2
3.1 Duplicação de código: três truques para resolver a duplicação de código: código redundante
3.2 Design de interface: A linguagem de diálogo entre sistemas deve ser unificada: apidesign
3.3 Design de cache: O cache pode ser a cereja do bolo ou adicionar insulto à injúria: cachedesign
3.4 Quando o código de negócios é escrito, isso significa que ele está pronto para produção: productionready
3.5 O processamento assíncrono é fácil de usar, mas é muito fácil usá-lo incorretamente: asyncprocess
3.6 Armazenamento de dados: Como o NoSQL e o RDBMS se complementam e se complementam? :nosqluse
4.1 Fonte de dados: nada do lado do cliente é confiável: clientdata
4.2 Segurança: Quando se trata de dinheiro, você deve considerar proteção anti-furto, limitada e pesada: securitylastdefense
4.3 Dados e código: dados são dados, código é código: dados e código
4.4 Como salvar e transmitir corretamente dados confidenciais:sensitivedata
5.1 Rotinas de solução de problemas para localização de problemas em aplicativos Java: N/A
5.2 Para analisar e localizar problemas Java, você deve fazer bom uso destas ferramentas: ferramentas de solução de problemas
5.3 Algumas armadilhas na migração de programas Java de máquinas virtuais para Kubernetes: N/A
Se você acha que o código-fonte é útil para você, seja bem-vindo ao Star