Red de conocimiento informático - Material del sitio web - ¿Hasta qué punto puedo aprender Java después de graduarme de la universidad?

¿Hasta qué punto puedo aprender Java después de graduarme de la universidad?

Java es un lenguaje informático relativamente esotérico. Impulsado por Internet, sus aplicaciones se están generalizando cada vez más. El número de estudiantes que aprenden el lenguaje Java también aumenta día a día. Sin embargo, muchos estudiantes tienen un gran problema cuando comienzan. Entonces, ¿cómo pueden los principiantes de Java lograr avances en la primera línea de defensa en su corazón, dominar las habilidades profesionales de Java y convertirse en una élite en el mundo de TI?

1. Relacionado con JVM (incluidas las características de cada versión)

Para aquellos que son nuevos en Java, el conocimiento relacionado con JVM no necesariamente requiere una comprensión muy profunda. una simple comprensión de los conceptos. Sin embargo, para un desarrollador senior con más de 3 años de experiencia en Java, no conocer JVM es casi inaceptable.

JVM es la base de Java Es difícil creer que una persona que no sabe nada sobre JVM pueda dominar el lenguaje Java. Cuando entrevisto a desarrolladores con más de 3 años de experiencia en Java, JVM es casi una pregunta obligada. Por supuesto, JVM no es la única pregunta de la entrevista que determina la capacidad técnica, pero puede demostrar el nivel de habilidades de desarrollo de Java.

En la categoría JVM, el autor cree que el conocimiento que es necesario dominar es:

Modelo y estructura de memoria JVM

Principios de GC, ajuste del rendimiento

Ajuste: volcado de subprocesos, análisis de la estructura de la memoria

Estructura de código de bytes binario de clases, sistema de carga de clases, proceso de carga de clases, proceso de creación de instancias

Carga de clases de clases Sistema de servidor , proceso de carga de clases, proceso de creación de instancias

Proceso de ejecución del método

Nuevas características proporcionadas por las principales actualizaciones de Java (deben entenderse brevemente)

2. Ejecute Java (Básicamente necesario)

Esta pregunta parece simple, pero ¿quién no sabe cómo ejecutar un programa Java? Sin embargo, muchas veces, simplemente ejecutamos programas Java a través de IDE. ¿Cómo ejecuta la capa inferior del IDE los programas Java? Mucha gente no lo entiende.

Este conocimiento es el conocimiento más básico que los desarrolladores de Java deben dominar. Cuando aprendes Java por primera vez, primero debes aprender cómo ejecutar programas Java en la línea de comandos. Sin embargo, una vez que muchas personas han terminado de aprender. Java, usos IDE Después de eso, olvídate de esto. ¿Por qué enfatizar la necesidad de saber esto? Después de conocer la forma más pura de iniciar Java, puede analizar cuántos directorios se iniciaron en el momento del inicio, cómo se nombra la ejecución, cuáles son los parámetros, si hay omisiones, etc. Esto le ayudará a desarrollar y resolver problemas. Esto le ayudará a resolver esos extraños problemas relacionados con el entorno en el desarrollo real.

El conocimiento que necesita dominar aquí es:

javac compila archivos java en archivos de clase

El uso del comando java, cómo usar el paquete java clase en el comando La ruta (classpath, java.library.path, java.library.path) involucrada en el inicio del programa Java en la línea. Library.path, java.library.path, el directorio de inicio del tiempo de ejecución de Java, etc.)

3. Tipo de datos

Este artículo no tiene mucho que decir, solo presenta. Tipos básicos de Java y tipos de objetos en .

Puede obtener más información sobre cómo JDK convierte automáticamente, incluido el boxeo y el unboxing, y tenga cuidado de evitar juicios de igualdad de tipos después del boxeo.

Puntos de conocimiento principales:

Tipos básicos: int, long, flotante, doble, booleano, ....

Tipos de objetos correspondientes: conversión, empaquetado y desempaquetado de números enteros y otros tipos a tipos básicos

Tipo de objeto: signo igual, código hash

Características del tipo de cadena

4. Objetos e instancias, creación de objetos

En este sentido, los desarrolladores deben comprender los conceptos de clases e instancias y las diferencias entre ellos, que es la base de las características orientadas a objetos de Java. Los principales puntos de conocimiento son:

Los conceptos de clases e instancias

El proceso de creación de instancias:

1. Sin herencia: asignar espacio de memoria, inicializar variables. , llama a los constructores Función

2. Heredado: de la clase base -gt; la subclase maneja operaciones estáticas, asigna espacio de memoria y define los valores iniciales de las variables

Notas:

Las propiedades estáticas, etc. se inicializan desde la clase base-gt; subclase

Características predeterminadas relacionadas con el constructor sin referencia

5. Control de acceso

Esto también es java. Las funciones básicas de encapsulación que es necesario dominar son:

pública protegida predeterminada privada Modificación de clases, métodos y campos

6. Control de procesos

Control de procesos de Java Aunque algunas gramáticas no son necesariamente de uso común, es necesario comprenderlas y utilizarlas cuando corresponda.

Necesita dominar:

Sintaxis de control de procesos como if, switch, loop, for, while, etc.

Conceptos de programación orientada a objetos<. /p>

Este es un concepto central de Java que cualquier desarrollador de Java debe dominar. Según tengo entendido, un buen desarrollador no solo necesita comprender estas características (puntos de conocimiento), sino que también necesita saber cómo se reflejan estos objetos en el concepto de programación orientada a objetos de Java. Esto es más propicio para que los desarrolladores dominen el lenguaje de desarrollo Java. y otros lenguajes de programación orientados a objetos. Aquí hay una breve lista de los principales puntos de conocimiento, que incluyen:

Las tres características principales de la orientación a objetos: encapsulación, herencia y polimorfismo, sus respectivas definiciones conceptuales y qué características se reflejan en su uso respectivo; escenarios

Los conceptos de multidistribución estática y distribución única dinámica

El concepto y uso de la sobrecarga

Herencia: múltiples implementaciones de interfaces, herencia única de base clases

Abstracto, clase abstracta, interfaz

Polimorfismo: el concepto y uso de la sobrecarga de métodos

Devoluciones de llamada de interfaz

8. /p>

En el desarrollo diario de Java, los atributos estáticos también se utilizan con frecuencia. Es necesario comprender el uso de palabras clave estáticas y otras palabras clave, como si se pueden usar palabras clave abstractas, finales y otras.

El contenido principal que necesita saber es:

La definición y el uso de propiedades estáticas, y cómo inicializar estas propiedades cuando se carga la clase.

El definición y uso de métodos estáticos Uso

Definición y uso de clases estáticas

Definición de bloques estáticos y tiempo de inicialización

Puntos de conocimiento básico

Algunos Los puntos de conocimiento están dispersos y no clasificados sistemáticamente. Para algunos puntos de conocimiento de Java, no existe una clasificación sistemática. Se utiliza mucho en el desarrollo diario.

En realidad, hay una gran cantidad de contenido en esta sección, y lo resumiré aquí temporalmente:

Incluyendo:

Equivalencia, código hash, cadena/búfer de cadena, final, finalmente, finalizar

10. Marco de colección

Esta es una parte que debe dominarse al realizar el desarrollo de Java, se puede decir que no hay necesidad de un marco de colección. . Pero los puntos de conocimiento aquí no son difíciles, pero es mejor comprender la implementación interna de la colección, porque esto lo ayudará a elegir el marco apropiado para resolver el problema en diferentes escenarios. Por ejemplo, una colección con elementos de 1W a menudo contiene Judgement. funcionamiento, conociendo las características o implementación interna de la colección, es fácil tomar la decisión correcta.

Esto incluye lo siguiente (sin incluir la concurrencia):

Marco de recopilación del sistema: colección básica, mapa

Contenido de implementación de la colección específica: lista, conjunto, mapa, específico implementación de estructura interna, métodos especiales, escenarios de aplicación

Colecciones de herramientas y otros usos relacionados con las colecciones

11. Marco de excepciones

Es posible que no reciba muchas excepciones. Atención en el desarrollo de Java. En circunstancias normales, si se encuentra una excepción, se lanzará directamente o se detectará y procesará directamente, sin tener un impacto significativo en el funcionamiento general del programa. Sin embargo, en el diseño y desarrollo a nivel empresarial, el diseño y manejo de excepciones a menudo están relacionados con la solidez general del sistema. Para los desarrolladores, un buen sistema de excepciones debe estar unificado en el procesamiento para evitar una gran cantidad de lógica de manejo de excepciones esparcida por todas partes del sistema, las excepciones deben ser controlables y fáciles de operar y mantener. Cuando ocurren algunas excepciones, debe haber formas de lidiar con ellas. con él y saber cómo operarlo y mantenerlo, por lo que, aunque el marco de excepciones es muy simple, el manejo de excepciones es muy importante para todo el desarrollo de aplicaciones a nivel empresarial. Para tener éxito con las excepciones es necesario comprender el sistema de excepciones en Java.

Esta parte no requiere muchos conocimientos, los principales son:

Sistema de excepciones:

Throwable

Excepción

RuntimeException

Error

La diferencia entre RuntimeException y excepciones generales, métodos de manejo específicos, la diferencia entre excepciones generales, métodos de manejo específicos

12 Java IO.

IO en Java no es solo tan simple como leer y escribir archivos, sino que también incluye todas las operaciones de entrada y salida, como la lectura y escritura de redes de socket. Por ejemplo, la lectura del contenido de la publicación de solicitud HTTP estándar también es un proceso de salida, etc.

Para IO, Java no solo proporciona API básicas relacionadas con la entrada y la salida, sino que también proporciona algunas operaciones simplificadas como Como las API de lector y escritor también son muy importantes en algunos proyectos de desarrollo (que implican una gran cantidad de operaciones de IO) y también están involucradas en el desarrollo diario general (registro, lectura y escritura de archivos temporales, etc.).

Los principales puntos de conocimiento aquí:

Sistema IO básico: incluye InputStream, OutputStream, lector/escritor, lectura de archivos, lectura de varios flujos, etc.

El concepto, el uso específico y los escenarios de uso de NIO

13.

El subproceso múltiple es una dificultad reconocida en Java. El subproceso múltiple puede mejorar efectivamente la utilización de la CPU y mejorar la eficiencia general del sistema, especialmente cuando se bloquea una gran cantidad de operaciones de IO, pero también es un arma de doble filo si no se usa correctamente, el sistema no mejorará; mucho, o no hay mejora, y también traerá problemas como la depuración entre subprocesos múltiples.

Hay mucho contenido sobre subprocesos múltiples. Solo presenta brevemente los conocimientos que deben dominarse en la etapa inicial del uso de subprocesos múltiples de Java. En el futuro, presentaré los escenarios de uso. de algunas funciones avanzadas en detalle cuando tenga la oportunidad.

Implementación y puesta en marcha de subprocesos múltiples

La diferencia entre invocable y ejecutable

Sincronización, bloqueo reentrante y sus respectivas características y comparación

p>

Grupo de subprocesos

Método asíncrono futuro para obtener resultados de ejecución

Paquete concurrente

Bloqueo

14. Red

Java también proporciona API para operar directamente los protocolos TCP y UDP. Cuando es necesario enfatizar el rendimiento de la red, puede usar TCP/UDP directamente para la comunicación. El uso de estas API relacionadas se puede ver en vistas de Tomcat y otros códigos fuente. Sin embargo, en términos generales, es menos probable que utilice TCP directamente, y se utilizarán marcos como MINA y Netty para manejarlo. Debido a que no hay mucho desarrollo en esta área, no lo enumeraré en detalle.

15. Procesamiento de fecha y hora

Casi todas las aplicaciones no omitirán el procesamiento de fecha y hora, pero las API relacionadas con el tiempo anteriores a JDK8 no eran fáciles de usar. En esa época, había algunos períodos de tiempo para elegir, como Joda. Cuando se lanza JDK8, la nueva API de tiempo básicamente incorpora las ventajas de otros marcos y se puede usar directamente.

Los desarrolladores de Java deben dominar el uso de API para manejar la hora y la fecha.

Los puntos de conocimiento específicos no se enumerarán uno por uno. Escribiré un artículo especial para resumir el uso de la API de fecha y hora en JDK8.

16. Análisis XML/análisis JSON

De hecho, estos dos contenidos no forman parte de J2SE, pero en el desarrollo diario, la interacción con otros programas y archivos de configuración es cada vez más importante. Es inseparable del análisis de estos dos formatos.

Pero para un desarrollador, ser capaz de comprender algunos principios y métodos específicos de análisis XML/JSON le ayudará a elegir mejor el método correcto en varios escenarios específicos y hará que su programa sea más eficiente y robusto. .

XML: debe comprender los principios básicos del análisis DOM y SAX y sus respectivos escenarios de aplicación

JSON: debe comprender el uso de algunos marcos JSON comunes, como Jackson, FastJson, Gson, etc.

17. El uso de Maven

Maven no es parte de Java, pero Maven es revolucionario y aporta una gran comodidad al desarrollo de Java. Desde la introducción y gestión de dependencias, la actualización y el lanzamiento del proceso de desarrollo, e incluso las actualizaciones de versiones, el uso de maven puede simplificar enormemente el complejo proceso de desarrollo, ahorrando así mucho tiempo. Se puede decir que Maven se ha convertido en el estándar para los desarrolladores de Java. Por eso considero que Maven es el conocimiento básico necesario para los desarrolladores de Java. También publicaré algunas de mis experiencias y consejos sobre el uso de Maven más adelante, por lo que no entraré en detalles aquí.

Lo anterior es un análisis del conocimiento y la práctica básicos para comenzar con Java. Se puede ver que siempre que los principiantes de Java dominen los métodos de aprendizaje y continúen estudiando e investigando, es relativamente fácil. empezar.

¡Espero que te ayude! ~