Buenos programadores: ¿Qué tecnologías necesarias hay que dominar para avanzar en Java?
1. Dominar el uso del lenguaje Java para programación orientada a objetos, tener buenos hábitos de programación y estar familiarizado con las API de Java de uso común, incluido el marco de recopilación, subprocesos múltiples (programación concurrente) y E/S. (NIO), y Socket, JDBC, XML, reflexión, etc.
2. Estar familiarizado con el desarrollo JavaWeb basado en JSP y Servlet, tener un conocimiento profundo de los principios de funcionamiento y los ciclos de vida de Servlet y JSP, dominar el uso de JSTL y EL para escribir páginas dinámicas sin scripts. y tener la capacidad de utilizar oyentes y filtros. Experiencia en el desarrollo de proyectos JavaWeb utilizando componentes web como navegadores y patrones de arquitectura MVC.
3. Tener un conocimiento profundo del contenedor IoC de Spring y los principios AOP, usar hábilmente el marco Spring para administrar varios componentes web y sus dependencias, y usar Spring hábilmente para administrar transacciones, registros, seguridad, etc. , tienen experiencia en el uso de SpringMVC como tecnología de capa de presentación y en el uso del soporte de persistencia proporcionado por Spring para el desarrollo de proyectos web, y están familiarizados con la integración de Spring de otros marcos.
4. Competente en el uso de marcos ORM como Hibernate y MyBatis, familiarizado con las API principales de Hibernate y MyBatis, y familiarizado con el mapeo de asociaciones, el mapeo de herencia, el mapeo de componentes, el mecanismo de almacenamiento en caché, la gestión de transacciones y el rendimiento de Hibernate. sintonización, etc. Comprensión profunda.
5. Competente en el uso de HTML, CSS y JavaScript para el desarrollo web front-end, familiarizado con jQuery y Bootstrap, con un conocimiento profundo de la aplicación de la tecnología Ajax en proyectos web y uso de front-end. Framework MVC (AngularJS) y JavaScript Experiencia en desarrollo de proyectos con motor de plantillas (HandleBars).
6. Estar familiarizado con los productos de bases de datos relacionales de uso común (MySQL, Oracle) y dominar el uso de SQL y PL/SQL para la programación de bases de datos.
7. Estar familiarizado con los principios del diseño orientado a objetos, tener un conocimiento profundo de los patrones de diseño GoF y los patrones de arquitectura de aplicaciones empresariales y experiencia relevante en el desarrollo real, ser competente en el uso de UML para análisis orientado a objetos y diseñar y tener experiencia en TDD (Test Driven Development) y DDD (Domain Driven Design).
8. Familiarizado con el uso de servidores web y servidores de aplicaciones como Apache, NginX, Tomcat, WildFly, Weblogic, etc., y familiarizado con la configuración de integración de múltiples servidores, agrupación en clústeres y equilibrio de carga.
9. Competente en el uso de la herramienta de creación de prototipos de productos Axure, competente en el uso de las herramientas de modelado de diseño PowerDesigner y EnterpriseArchitect, competente en el uso de los entornos de desarrollo Java Eclipse e IntelliJ, competente en el uso del entorno de desarrollo front-end WebStorm, competente en el uso. Software Herramientas de control de versiones SVN y Git, competente en el uso de herramientas de gestión y creación de proyectos Maven y Gradle.
Las anteriores son las habilidades profesionales que un ingeniero de desarrollo de Java debe dominar. Espero que puedan ayudar a todos.