¿Cómo podemos tener una ruta de aprendizaje clara durante el proceso de autoaprendizaje de Java?
Agregado nuevamente: al aprender Java, encontrará varias excepciones. Acumule esta información de excepción, cómo ocurre la excepción y cómo manejarla, porque solo hay unas pocas excepciones comunes en Java. Si acumulas más, tu capacidad para afrontar los problemas mejorará y tu nivel mejorará rápidamente.
SpringMVC ha crecido rápidamente en los últimos años y puede reemplazar a Struts2 en el futuro, pero no importa cómo cambie, estos siguen siendo patrones MVC. Si comprende este patrón, debería comenzar a utilizar cualquier marco MVC en poco tiempo.
Los cambios en las necesidades empresariales también se reflejan en el big data. Debido a la popularidad de Hadoop, existe otro escenario de aplicación para Java. Entonces, aquellos a quienes no les gusta la web pueden considerar aprender big data.
Otro escenario popular es, naturalmente, Android. Para aprender Android, aún necesita tener la base de JavaSE + comprensión del protocolo + HTTP, y luego puede comenzar con el conocimiento de Linux.
Hablemos primero del problema de encontrar un proyecto. Los novatos pueden encontrar problemas que los abrumen. De hecho, todos empezaron imitándolo al principio. Por ejemplo, si aprende jsp + Servlet, puede imitar foros como v2ex. Después de aprender SpringMVC, intente reconstruir el código del foro y proporcione una interfaz tranquila para el acceso del cliente (Android, IOS, web, etc. No es difícil crear un foro e imitar un sitio web de compras grupales). Todavía no es necesario que realice todas las funciones, pero las funciones deben ser estables y refinadas. En otras palabras, desarrollar una plataforma pública WeChat es un buen proyecto.
Los novatos deberían leer el código fuente. Algunas personas recomiendan Struts2 y Spring, pero creo que 9 de cada 10 principiantes no pueden entenderlos. Primero hablemos de las más simples, como la biblioteca Commons de Apache, como lang, dbutils, io, etc. Este es un código muy bueno, el número de clases es pequeño y la calidad es buena. Después de entender esto, tu nivel básico nunca mejorará ni un poquito.
Recuerde nuevamente a los principiantes que aprender a programar no es tan simple como cree. Tienes que practicar más y pensar más. Lo más importante es que te interese. Muchos sitios web y medios ahora promueven el lema de aprender front-end en un mes y unirse a BAT en tres meses. Esto es solo un lema. No seas demasiado serio. No hay atajos para este camino, ¡solo escribe tu código!
Recomiende algunos libros:
Conceptos básicos de Java
Tecnología central de JAVA (volumen 1) (Douban)
Primer Java (Douban)
Reconstrucción (Douban)
Versión efectiva de Java en chino (segunda edición) (Douban)
Patrón de diseño de cabeza primero (versión china) (Douban))
En serio, no recomiendo "Pensamientos sobre programación Java". Tan pronto como salga esta frase, muchas personas probablemente me matarán a pistola, porque muchas personas consideran este libro como la Biblia de Java. Pero realmente quiero preguntarles a estas personas: ¿realmente han leído este libro? ¿Es realmente adecuado para principiantes? ¿Cuántos principiantes han leído este libro y han logrado el proceso desde el comienzo hasta el abandono? Entonces, en mi opinión, después de tener algo de experiencia con el desarrollo de Java, lea esta biblia.
Parte de la base de datos
MySQL (Douban) imprescindible
Parte JSP y Servlet
Head First Servlets y ampJSP (versión china) (Douban)
Guía autorizada HTTP (Douban)
HTTP ilustrado (Douban)
Parte del marco
Práctica de primavera (No. Versión 3) (Douban)
Spring Technology Insider (Douban)
La persistencia de Java de MyBatis 3 (Douban)
Hibernate (Douban) es antiguo, pero clásico.
Struts 2 en la práctica (Douban)
Android
La guía autorizada para la programación de Android (segunda edición) (Douban)
Otros
Redis en acción (Douban)
Diseño e implementación de Redis (Douban)
Guía de introducción a Redis (Douban)
De Zhihu.