Java é para fazer projetos! A principal área de aplicação do Java é o desenvolvimento de projetos em nível empresarial! Para se envolver no desenvolvimento de projetos em nível empresarial, você deve dominar os seguintes pontos:
1. Domine as etapas básicas do desenvolvimento de projetos
2. Possuir fortes habilidades de análise e design orientadas a objetos
3. Dominar os principais métodos de desenvolvimento orientados por casos de uso e centrados na arquitetura
Ninguém quer ficar satisfeito em dominar algumas habilidades de implementação de código ao longo da vida. Outros lhe dizem o que implementar e você apenas usa o código para implementar os requisitos de outras pessoas! Você tem que aprender a pensar na perspectiva de todo o projeto! Você deve aprender a pensar se for um gerente de projeto! Você deve aprender a pensar se for arquiteto! Você deve dominar métodos analíticos para uma área problemática específica!
Em relação ao conhecimento básico: você pode olhar para esses substantivos ou pontos de conhecimento e ver se consegue dizer-lhes um, dois, três ou quatro.
JavaSE
―-Sintaxe básica, tipos de dados, operadores, etc.: int, long, Integer, Long, if, else, for, while
―-Orientado a objetos: classe, objeto, instância, estado, comportamento, campo, método, novo, visibilidade (controle de acesso), atributo, propriedade, pacote, importação, variável estática, variável de classe, variável de instância, heap, área de método, pilha, GC (coleta de lixo), substituição, sobrecarga, transformação de objeto (casting), polimorfismo, este, super
―-Tratamento de exceções: entenda a diferença entre erros em tempo de compilação e erros em tempo de execução, exceção, RuntimeException, exceção verificada, exceção não verificada, tentativa, captura, finalmente, lançamento de nova XXXException, lançamento de XXXException e os princípios básicos do tratamento de exceções
―-Arrays e coleções: a definição e uso de arrays, Collection, List, Set, Map, ArrayList, HashSet, HashMap, Iterator, equals, hashCode, Comparable, Comparator
―-Classes comumente usadas: String, estagiário, pool constante, StringBuffer, java.util.Date, SimpleDateFormat, Regex (expressão regular)
―-Mecanismo de reflexão: Classe, Método, Campo, invocar, newInstance, BeanUtils (apache-commons), PropertyUtils (apache-commons)
―- Fluxos de entrada e saída: InputStream, OutputStream, Reader, Writer, padrão de design do adaptador e classe de fluxo original, padrão de design Decorator e classe de fluxo empacotado, serialização e desserialização de objetos
―-Multi-threading: Thread, Executável, dormir, esperar, notificar, sincronizar, bloquear
Servlets e JSPs
―-HttpServlet, doGet, doPost, HttpServletRequest, HttpServletResponse, request.getParameter(), request.setAttribute(), request.getAttribute(), request.getSession(), ServletContext, Filter, web.xml, tomcat, encaminhamento e redirecionamento, A ausência de estado do protocolo http, cookies, objeto de escopo JSP, <c:out …/>, <c:forEach…>
HTML e JavaScript
―-Você precisa ser capaz de entender tags comuns de páginas da web, entender como introduzir JavaScript em páginas da web e a sintaxe básica e o uso de JavaScript.
O texto acima é o conhecimento básico que você precisa para aprender Java. Especialmente alguns termos e substantivos profissionais. Se você considera esses substantivos tão amigáveis quanto ver seu próprio pai, isso significa que você está muito familiarizado com o conhecimento básico de Java.
O próximo é SSH:
Para iniciantes, essas três estruturas principais recebem muito mistério e parece que são o conhecimento mais importante! Mas para profissionais e técnicos com muitos anos de experiência em desenvolvimento Java, e aqueles que são bons em Java, eles não estão muito interessados nessas três estruturas principais! Eles não são importantes?
Muitas empresas estão agora a utilizar estas três estruturas principais, por isso muitas empresas também consideram o domínio destas três estruturas principais como um pré-requisito para o recrutamento. É inegável que existem muitas grandes empresas que não utilizam estes três quadros principais. Após anos de desenvolvimento, estas empresas acumularam uma certa quantidade de tecnologia e formaram o seu próprio sistema de quadro técnico único. Estas três estruturas principais podem ser consideradas muito importantes ou podem ser consideradas sem importância.
A razão pela qual é importante é que essas três estruturas principais fornecem soluções bonitas para problemas comuns no desenvolvimento JavaEE. Eles contêm os esforços e ideias da maioria dos desenvolvedores de NB neste setor. Portanto, você pode aprender essas três estruturas principais. um vislumbre do que essas pessoas talentosas no auge da tecnologia pensam sobre um problema e que tipo de ideias de design elas usam para resolver o problema. Então, para você que não tem muita experiência em desenvolvimento de projetos, qual é a sua experiência? Experiência significa que você sabe quais problemas pode encontrar, quais soluções estão disponíveis para cada problema, qual solução é melhor em determinada situação, qual método não é tão bom, etc.! Se você nunca realizou nenhum projeto, não perceberá quais problemas poderá encontrar, e esses problemas costumam ser muito críticos! Se não for bem resolvido, afetará a estabilidade, escalabilidade, etc. do seu programa! As três estruturas principais fornecem aos iniciantes uma compreensão dos problemas que você poderá encontrar no futuro, bem como soluções para esses problemas!
Quando você entende por que essas três estruturas principais são importantes, também pode entender por que essas três estruturas principais também podem ser consideradas sem importância. Se você desenvolveu muitos projetos e encontrou vários problemas, contando com suas habilidades técnicas, você superou esses problemas um por um. Aos olhos dessas pessoas, os três frameworks principais (existem N frameworks? Haha) são todos nuvens!
A que tipo de pessoa você pertence? Se você não tem muita experiência em desenvolvimento de projetos, então os três frameworks principais são muito importantes para você! Além disso, com isso você também saberá como aprender essas três estruturas principais. Para o estudo das três estruturas principais, o foco é mostrar-lhe os problemas e desencadear o seu próprio pensamento ativo. Encorajamo-lo a apresentar as suas próprias ideias. Talvez as suas ideias sejam idiotas, mas, afinal, são as suas próprias ideias. não sei o que as grandes pessoas pensam, então como você sabe que suas próprias ideias são idiotas? No processo dessa colisão de ideias, você irá se aprimorar gradativamente! Portanto, depois de aprender as três estruturas principais, você não deve apenas ver muitos arquivos de configuração. Você não deve apenas ver algumas ações, alguns serviços e alguns arquivos de mapeamento. você não deveria apenas saber que existem vários interceptadores no struts2, você não deveria apenas ver um monte de pacotes jar...
Se você simplesmente sabe que depois de copiar vários pacotes jar e definir uma série de arquivos de configuração, os três principais frameworks SSH podem ser executados e funcionar para você, então, infelizmente, você ainda não dominou os três principais frameworks Essence! Por favor, responda às seguintes perguntas:
Suportes2:
Por que precisamos criar um objeto Action para cada solicitação?
Qual problema o refreshModelBeforeResult resolve na configuração do interceptor ModelDriven?
Por que o StrutsPrepareAndExecuteFilter configurado em web.xml filtra todas as solicitações?
Você poderia me falar sobre o ValueStack?
Como o Struts2 implementa o padrão de design MVC?
Primavera:
Por que você deve usar o Spring?
Você poderia falar sobre IOC/DI?
O que é gerenciamento de transações declarativas? Por que usar o gerenciamento de transações declarativas? Como o Spring implementa o gerenciamento de transações declarativas?
Ao integrar Spring e Hibernate e definir recursos de gerenciamento de transações, por que métodos diferentes de operações de adição, exclusão e atualização, ou seja, métodos que executam principalmente tarefas de consulta, devem ser definidos como somente leitura?
Hibernar:
Você poderia compartilhar sua compreensão do mapeamento OR?
Muitas pessoas dizem que o Hibernate não é adequado para grandes projetos e tem problemas de desempenho. Como você entende?
Por que o Hibernate precisa definir um identificador de banco de dados?
Por que o Hibernate recomenda que suas classes de entidade implementem métodos hashCode e equals?
Fale sobre sua compreensão do relacionamento entre o identificador do banco de dados e a chave primária do banco de dados na classe de entidade do Hibernate.
Fale sobre sua compreensão do relacionamento entre o mapeamento de associação do Hibernate e as chaves estrangeiras do banco de dados.
Ao chamar o método session.save(), o hibernate definitivamente emitirá uma instrução de inserção? Fale sobre sua compreensão
Ao chamar o método session.update(), o hibernate definitivamente emitirá uma instrução de atualização? Fale sobre sua compreensão
Por favor, fale sobre os seguintes substantivos, conceitos ou usos: preguiçoso, preguiçoso=”extra”, inverso, buscar, buscar=”juntar”, buscar=”subselecionar”, tamanho do lote
O carregamento lento será alcançado se o preguiçoso = "true" estiver configurado?
Por favor, fale sobre o problema "N+1" no Hibernate
Você poderia falar sobre quais são as melhores práticas para o Hibernate?
As questões acima não são todas as principais questões do SSH, mas podem testar se você pode usar a estrutura SSH de maneira flexível! Se você conseguir compreender profundamente essas questões, juntamente com o treinamento prático adequado em projetos, você gradualmente se tornará um especialista!
Por fim, existe a capacidade de desenvolvimento de projetos:
Esteja você aprendendo Java ou outras tecnologias, seu propósito fundamental é criar valor para os clientes! Caso contrário, as coisas que você fez grandes esforços para aprender logo ficarão desatualizadas à medida que a tecnologia avança e é atualizada! Portanto, o cerne da tecnologia é usar a tecnologia para criar resultados valiosos! Em outras palavras, seja o que for que o cliente precise, você tem que usar a tecnologia para criar o que o cliente precisa! A razão pela qual uma empresa se esforça ao máximo para retê-lo com diversas condições de bem-estar é porque você pode trazer benefícios extremamente elevados para a empresa! Então, o que você tem que as empresas podem usar? Qual habilidade sua a empresa mais valoriza?
Existem muitas habilidades necessárias para executar projetos, a mais básica e básica delas é a capacidade de modelagem (a mais popular agora é a modelagem orientada a objetos!). O que é capacidade de modelagem?
Deixe-me fazer uma pergunta para a entrevista:
Um módulo de gerenciamento de cartão de seguro de uma seguradora: o vendedor coleta as informações do cartão de seguro (quantidade do cartão de seguro, número do cartão, data de coleta) e, em seguida, vende-o diretamente ao cliente. Após a conclusão da venda, as informações do cartão de seguro são inseridas. no sistema da seguradora (informações do vendedor, número do cartão, data de coleta, número de cartões de seguro adquiridos, número do cartão, etc.), o cliente faz login no site da seguradora para ativar o cartão de seguro e precisa preencher. in (número do cartão do seguro, senha de ativação, informações do segurado, informações do beneficiário)
O requisito é: Se este módulo for entregue a você, o que você fará? Que problemas você está tentando resolver? Você poderia fazer um desenho e me descrever qual é a sua ideia?
Esta é apenas uma pergunta de entrevista. Por conter apenas algumas frases simples, coloquei-a aqui para que todos sintam quais problemas a chamada modelagem precisa resolver. Existem tantos problemas no campo dos negócios! Talvez um documento de requisitos de dezenas ou centenas de páginas possa descrever claramente os problemas em uma determinada área de negócios, e sua responsabilidade é implementá-los!
Uma determinada empresa pretende desenvolver um sistema de gestão de assiduidade e exige que este esteja interligado com o sistema de recursos humanos existente. Você é o principal responsável técnico.
Um projeto de ERP precisa implementar um módulo de gerenciamento de turnos e deixá-lo para você concluí-lo.
Não reclame que o gerente de projeto lhe deu pouca informação (apenas algumas frases), não reclame que o cliente não descreveu claramente suas necessidades... Seu valor está em resolver todos os problemas e usar vários significa obter as informações desejadas, resumi-las de acordo com uma determinada ideia e resolvê-las uma a uma em um prazo específico!
Você deve perceber que aprender Java não é tão simples quanto uma batalha de tanques, um speedster de rede, um CMS, um DRP ou um OA. Você não deve ficar obcecado com esses detalhes técnicos (embora também seja necessário, mas não exagere). isso) e não fique satisfeito com a implementação. Com requisitos de projeto no estilo CRUD (embora esta seja a base da fundação), sempre há um objetivo à sua frente que você precisa trabalhar duro para alcançar!
No futuro, você enfrentará requisitos mais complexos. O único propósito do seu projeto de estudo é aprender como transformar requisitos em implementação, como analisar requisitos, como estabelecer modelos conceituais, como endireitar as relações entre vários conceitos e como estabelecer relações entre vários conceitos. como projetar, como escolher a tecnologia apropriada para implementar seu design, como testar sua implementação e como resolver vários problemas que você encontrar (desempenho, mudanças de requisitos, etc.). Depois de estar envolvido no desenvolvimento da empresa há vários anos, você concordará comigo!
Para encontrar um emprego usando Java, o que você precisa é de experiência em projetos. Experiência em projetos significa compreender o processo básico de desenvolvimento do projeto, compreender o método de análise do projeto, compreender as ideias de design do projeto, compreender as habilidades de implementação do projeto, compreender os métodos de teste do projeto e compreender os métodos de teste do projeto. entender vários aspectos do projeto A solução para o seu problema! ! !
Então, é hora de você conhecer seus objetivos!