Quiero aprender Java por mi cuenta
Paso a paso:
Parte de la información que encontré en Internet sigue esta ruta y me parece bien
Primera parte:
Conceptos básicos del lenguaje JAVA. Incluyendo excepciones, flujos de IO, subprocesos múltiples, clases de colección y bases de datos. (Recuerde que los conocimientos básicos deben estar consolidados en todo momento)
Requisitos: Tener cierto conocimiento de encapsulación de Java, ciclo de vida, etc.
Excepciones------Master; try- Uso de catch-finally
flujo IO------Domine el procesamiento de flujo de bytes, flujo de caracteres y serialización de objetos. Competente en el uso de varias clases de flujos de entrada y salida (InputStream, OutputStream, FileInputStream, FileOutputStream, DataInputStream, DataOutputStream, BufferedInputStream, BufferedOutputStream, Reader, Writer, InputStreamReader, OutputStreamWriter, BufferReader, BufferedWriter, ObjectInputStream, ObjectOutputStream).
Subprocesos múltiples ------- Domine los dos métodos de implementación de subprocesos múltiples, que son heredar la clase Thread e implementar la interfaz Runnable. Comprender la sincronización y la exclusión mutua entre subprocesos.
Clases de colección ------- Domine el uso de las interfaces Set, Collection, Map, List, Iterator y Enumeration, y domine el uso de las clases HashSet, ArrayList, Vector, HashMap y HashTable .
Base de datos ------- Domine el uso de la API JDBC, incluida la clase DriverManager, la interfaz Connection, la clase e interfaz Statement, la interfaz PreparedStatement y la interfaz ResultSet.
También debe comprender el mecanismo de reflexión de Java y debe comprender y utilizar las nuevas funciones de Java 1.5, genéricos, etc.
Además-------comprende los métodos de codificación Unicode, GB2132, GBK, UTF-8 e ISO8859.
Referencia: "Pensamientos sobre programación Java", video didáctico de Zhang Xiaoxiang.
Parte 2:
Programación de redes JAVA. Incluyendo Socket, RMI, HTML, XML, JSP, JavaBean y Servlet.
Requisitos: Socket--------Comprender el uso de clases de socket y clases de socket de servidor en el paquete java.io.
RMI--------Domine los principios de funcionamiento básicos de RMI, domine la definición de clases de interfaz de servicio remoto, clases de interfaz remota, clases de llamadas de clientes e implementación, y compile aplicaciones RMI.
HTML--------Comprende la sintaxis y varias etiquetas del lenguaje HTML.
JSP-------Domina la sintaxis JSP2.0, objetos implícitos, EL, JSTL1.1 y etiquetas personalizadas JSP.
JavaBean-------Comprenda las características y el modelo de eventos de JavaBean.
XML--------Comprende la sintaxis, DTD y esquema del lenguaje XML.
Servlet---------Domine el protocolo HTTP, el proceso de trabajo de Servlet, el seguimiento de sesiones de Servlet, el filtro de Servlet, el detector de eventos Serlvet y configure web.xml.
UML-------Maestra diagramas de casos de uso, diagramas de clases, diagramas de actividades, diagramas de secuencia y diagramas de estado.
Aglet-------Aprenda a instalar y utilizar el servidor Tahiti y domine la API de Aglet.
Herramientas de desarrollo------Domine el uso de Rational Rose, ant, cvs version control, myeclipse, dreamweave y otras herramientas de desarrollo.
Además-------Aprenda a utilizar los servidores Tomcat y JBoss/Weblogic durante el proceso de aprendizaje
Libro de referencia: "Manual técnico JSP2.0" editado por Lin Shangjie
p>
"Comprensión de la historia interna del desarrollo web Java: conceptos básicos"
No dedique demasiado tiempo a JSP, dedique más tiempo a los servlets.
No.Tres partes:
Arquitectura MVC popular y tecnología de persistencia de objetos Java. Incluyendo webwork, Spring, Hibernate
Requisitos: MVC-------Comprender el patrón de diseño y el proceso de procesamiento de MVC.
webwork-------comprende el mecanismo y el flujo de trabajo de webwork que implementa MVC. Domine la configuración de aplicaciones de trabajo web, componentes del controlador de trabajo web, internacionalización de aplicaciones de trabajo web, manejo de excepciones y bibliotecas de etiquetas de trabajo web. (De hecho, muchos sistemas heredados usan Struts, pero cada vez menos personas lo usan ahora, por lo que te animo a que aprendas a trabajar en la web, pero debes comprender Struts)
Spring------- Master Inversion de control (IoC), programación orientada a aspectos (AOP), servicio de transacciones (JTA), servicio de correo (JavaMail), servicio de persistencia (DAO, JDBC, ORM) y servicio remoto (RMI).
Hibernar--------Comprender ORM, identificadores de objetos de mapeo maestro, relaciones de mapeo (uno a muchos, muchos a muchos, uno a uno), tipos de mapeo, recuperación estrategias, métodos de recuperación, transacciones de bases de datos y concurrencia, gestión de caché de Hibernate.
Proceso de aprendizaje: primero aprenda webwork2, luego aprenda Hibernate y finalmente aprenda Spring.
Tenga tiempo para aprender sobre las siguientes cosas:
Pruebas/desarrollo ágil: preste atención a las pruebas, domine el marco de pruebas unitarias de Junit y las dos herramientas de burla populares. EasyMock/ JMock, familiarizado con uno de ellos.
(Consejo: las pruebas son muy importantes. Las pruebas efectivas pueden reducir mucho el tiempo de desarrollo. Por supuesto, si al principio se siente impaciente y parece que no es necesario escribir código de prueba, debe convencerse a sí mismo de intentar escribir código de prueba. , más o menos)
Sistema UNIX------comprende la programación de shell más importante y las principales operaciones de línea de comando relacionadas
AJAX-----comprende javascript básico. , csss y ajax de uso común, y marco JSON
(Hay demasiados marcos ajax, pero no dedique demasiado tiempo a aprenderlos, porque no sabe si la empresa usa ajax. , y no tiene forma de saber qué marco se utiliza, por lo que solo necesita comprender los conceptos básicos)
Libro de referencia: "webwork in action versión china"
"Mastering Struts". ", "Dominar la hibernación" escrito por Sun Weiqin,
"Manual técnico de primavera" de Lin Xinliang
"JUnit en acción versión china" de Vincent Massol
El libro es solo para comenzar, otras herramientas deben estar disponibles en sitios web en inglés. Intente leer tantos documentos en inglés como sea posible para mejorar su propio nivel. Al mismo tiempo, también puede descargar algunos documentos de proyecto de código abierto cuando tenga tiempo. .
La última frase: No importa qué tecnología, no creas que eres increíble después de aprenderla. Aprender tecnología es solo para mejorar tu capacidad para realizar proyectos y mejorar tu propio nivel. El efecto del proyecto que realices finalmente puede revelar tu propio nivel
¡Espero adoptarlo! ! !