Red de conocimiento informático - Conocimiento informático - ¿Cómo leen el código fuente los estudiantes que aprenden JAVA? Cuando comencé a trabajar, nunca pensé en leer el código fuente, y mucho menos en cambiar el código fuente del marco, siempre pensé que los marcos de otras personas deberían ser perfectos y omnipotentes, y no deberían modificarse; . necesario; además, incluso si cambio el código fuente, ¿cómo puedo hacer que mis cambios surtan efecto? La referencia del proyecto todavía no es el paquete jar que no se ha modificado. Mirando hacia atrás, creo que la idea en ese momento era bastante buena. Después de trabajar durante más de un año, estaba listo para cambiar de trabajo y comencé una ronda de entrevistas. Varios entrevistadores preguntaron sobre el código fuente: la implementación subyacente de ArrayList. y HashMap, y las fuentes relacionadas de código Spring y Mybatis. Los entrevistadores que preguntan sobre el código fuente normalmente regresan y esperan noticias, y luego no pasa nada. En ese momento, comencé a darme cuenta de que el código fuente era algo que no podía tocar en mi trabajo anterior, pero parecía enfrentarlo con bastante frecuencia en las entrevistas. A partir de entonces, comencé a leer conscientemente (principalmente a recopilar) algunos de los jdk. código fuente. Cuando miré por primera vez el código fuente, era muy aproximado. Sabía que la implementación subyacente de ArrayList es una matriz y que la implementación subyacente de HashMap es una lista hash (matriz + lista vinculada); No sabía acerca de una expansión más profunda, colisión de hash, etc. A partir de un problema encontrado al leer el código fuente de Spring (transacciones springjdbcTemplate, todo tipo de cosas extrañas, ¡espero que lo entiendas de repente!), He estado solucionando el problema durante un período de tiempo. Finalmente lo resolví después de solucionar el problema por un tiempo, pero el proceso me hizo sentir incómodo. Varias búsquedas en línea y varios intentos me parecieron como encontrar una aguja en un pajar, fuera de mi alcance. Decidí echar un buen vistazo al código fuente de Spring, así que compré un libro "Análisis en profundidad del código fuente de Spring". Combinado con este libro, abrí eclipse y comencé a leer el código fuente de Spring. En este punto, leer el código fuente se ha convertido en un hábito y el código fuente ha entrado en mi corazón. Más tarde, la popularidad de Springboot me hizo querer probarlo, así que se me ocurrió la serie introductoria de código fuente de Springboot. Aunque todavía está en progreso, creo que puedo completarla en mi cooperación con Shiro. "Sígueme y aprende" "shiro" echó un breve vistazo al código fuente de shiro. Con la serie de publicaciones de blog sobre el código fuente de shiro y un artículo sobre certificación y autorización (debería estar disponible pronto), la serie de código fuente de shiro. ha llegado a su fin. Recientemente, estoy trabajando en mi propio sistema de administración de backend. Al usar Quartz, encontré algunos problemas durante el proceso de integración, por lo que tengo dos artículos sobre Quartz. Poco a poco, después de mirar la información rígida en Internet, a menudo busco respuestas en el código fuente. No espero poder leer demasiado código fuente, pero espero poder comprender todas las tecnologías con las que entro en contacto. ¡El camino es largo y continuaré explorando! ¿Por qué todo el mundo quiere leer el código fuente? Mucha gente debe tener el mismo sentimiento que yo: ¿es útil el código fuente en el trabajo? ¿Es útil? He tenido esta duda durante mucho tiempo, pensando que las personas que obtienen el código fuente de forma gratuita simplemente están jugando para mejorar su propio estilo. Entonces, ¿por qué debería mirar el código fuente? Al principio fue para entrevistas, luego fue para resolver problemas en el trabajo y luego fue solo una preferencia personal. Para decirlo amablemente, es el espíritu de artesanía; para decirlo suavemente, es curiosidad (cómo se implementa la capa inferior, es porque uso la capa inferior para cosas en una caja negra, por miedo a); usar el incorrecto; para decirlo de manera simple y directa, es para mejorar la autoestima, por un salario más alto (lo siento por los verdaderos fanáticos de la tecnología aquí). Podemos aprender mucho del código fuente, aprender la escritura eficiente del código de otras personas, aprender el uso hábil de los patrones de diseño por parte de otras personas, aprender el diseño de toda la estructura de otras personas, etc. Si aún puedes encontrar defectos, felicidades, ¡te convertirás en una persona exitosa! Es importante saber cómo usarlo, pero es igualmente importante saber por qué usarlo. Aprender de la imitación e innovar a partir de la imitación. Leer el código fuente no es como una ciudad asediada (la gente de afuera quiere entrar, la gente de adentro quiere salir), es que la gente de afuera no quiere entrar y la gente de adentro no quiere salir cuando nosotros pisamos; En esta ciudad, encontrarás (es mejor estar fuera de la ciudad, ¡la piel es sólida!) El paisaje en la ciudad es infinito y podemos nadar en el océano del código fuente. En primer lugar, debemos comprender nuestro objetivo y saber qué características tiene y qué características tiene. Si no entiendes a la otra parte y quieres entrar en el mundo interior de otras personas, no es descarado. Lo que queremos es un caballero con un corazón pícaro. Una vez que tengas una comprensión general de ella, podrás lanzar una ofensiva y conquistarla. de un solo golpe.

¿Cómo leen el código fuente los estudiantes que aprenden JAVA? Cuando comencé a trabajar, nunca pensé en leer el código fuente, y mucho menos en cambiar el código fuente del marco, siempre pensé que los marcos de otras personas deberían ser perfectos y omnipotentes, y no deberían modificarse; . necesario; además, incluso si cambio el código fuente, ¿cómo puedo hacer que mis cambios surtan efecto? La referencia del proyecto todavía no es el paquete jar que no se ha modificado. Mirando hacia atrás, creo que la idea en ese momento era bastante buena. Después de trabajar durante más de un año, estaba listo para cambiar de trabajo y comencé una ronda de entrevistas. Varios entrevistadores preguntaron sobre el código fuente: la implementación subyacente de ArrayList. y HashMap, y las fuentes relacionadas de código Spring y Mybatis. Los entrevistadores que preguntan sobre el código fuente normalmente regresan y esperan noticias, y luego no pasa nada. En ese momento, comencé a darme cuenta de que el código fuente era algo que no podía tocar en mi trabajo anterior, pero parecía enfrentarlo con bastante frecuencia en las entrevistas. A partir de entonces, comencé a leer conscientemente (principalmente a recopilar) algunos de los jdk. código fuente. Cuando miré por primera vez el código fuente, era muy aproximado. Sabía que la implementación subyacente de ArrayList es una matriz y que la implementación subyacente de HashMap es una lista hash (matriz + lista vinculada); No sabía acerca de una expansión más profunda, colisión de hash, etc. A partir de un problema encontrado al leer el código fuente de Spring (transacciones springjdbcTemplate, todo tipo de cosas extrañas, ¡espero que lo entiendas de repente!), He estado solucionando el problema durante un período de tiempo. Finalmente lo resolví después de solucionar el problema por un tiempo, pero el proceso me hizo sentir incómodo. Varias búsquedas en línea y varios intentos me parecieron como encontrar una aguja en un pajar, fuera de mi alcance. Decidí echar un buen vistazo al código fuente de Spring, así que compré un libro "Análisis en profundidad del código fuente de Spring". Combinado con este libro, abrí eclipse y comencé a leer el código fuente de Spring. En este punto, leer el código fuente se ha convertido en un hábito y el código fuente ha entrado en mi corazón. Más tarde, la popularidad de Springboot me hizo querer probarlo, así que se me ocurrió la serie introductoria de código fuente de Springboot. Aunque todavía está en progreso, creo que puedo completarla en mi cooperación con Shiro. "Sígueme y aprende" "shiro" echó un breve vistazo al código fuente de shiro. Con la serie de publicaciones de blog sobre el código fuente de shiro y un artículo sobre certificación y autorización (debería estar disponible pronto), la serie de código fuente de shiro. ha llegado a su fin. Recientemente, estoy trabajando en mi propio sistema de administración de backend. Al usar Quartz, encontré algunos problemas durante el proceso de integración, por lo que tengo dos artículos sobre Quartz. Poco a poco, después de mirar la información rígida en Internet, a menudo busco respuestas en el código fuente. No espero poder leer demasiado código fuente, pero espero poder comprender todas las tecnologías con las que entro en contacto. ¡El camino es largo y continuaré explorando! ¿Por qué todo el mundo quiere leer el código fuente? Mucha gente debe tener el mismo sentimiento que yo: ¿es útil el código fuente en el trabajo? ¿Es útil? He tenido esta duda durante mucho tiempo, pensando que las personas que obtienen el código fuente de forma gratuita simplemente están jugando para mejorar su propio estilo. Entonces, ¿por qué debería mirar el código fuente? Al principio fue para entrevistas, luego fue para resolver problemas en el trabajo y luego fue solo una preferencia personal. Para decirlo amablemente, es el espíritu de artesanía; para decirlo suavemente, es curiosidad (cómo se implementa la capa inferior, es porque uso la capa inferior para cosas en una caja negra, por miedo a); usar el incorrecto; para decirlo de manera simple y directa, es para mejorar la autoestima, por un salario más alto (lo siento por los verdaderos fanáticos de la tecnología aquí). Podemos aprender mucho del código fuente, aprender la escritura eficiente del código de otras personas, aprender el uso hábil de los patrones de diseño por parte de otras personas, aprender el diseño de toda la estructura de otras personas, etc. Si aún puedes encontrar defectos, felicidades, ¡te convertirás en una persona exitosa! Es importante saber cómo usarlo, pero es igualmente importante saber por qué usarlo. Aprender de la imitación e innovar a partir de la imitación. Leer el código fuente no es como una ciudad asediada (la gente de afuera quiere entrar, la gente de adentro quiere salir), es que la gente de afuera no quiere entrar y la gente de adentro no quiere salir cuando nosotros pisamos; En esta ciudad, encontrarás (es mejor estar fuera de la ciudad, ¡la piel es sólida!) El paisaje en la ciudad es infinito y podemos nadar en el océano del código fuente. En primer lugar, debemos comprender nuestro objetivo y saber qué características tiene y qué características tiene. Si no entiendes a la otra parte y quieres entrar en el mundo interior de otras personas, no es descarado. Lo que queremos es un caballero con un corazón pícaro. Una vez que tengas una comprensión general de ella, podrás lanzar una ofensiva y conquistarla. de un solo golpe.

Entonces, ¿cómo lo sabes? Hay muchas formas. Aquí proporcionaré algunas solo como referencia. La mejor manera es la guía de referencia oficial. Los padres biológicos suelen conocer mejor a sus hijos y tienen las descripciones más detalladas de ellos. , SpringBootReferenceGuide describe springboot de forma más detallada, cómo usar springboot, funciones de springboot, etc. A través de esta guía, springboot le resultará claro de un vistazo, sin embargo, después de todo, springboot es hijo de un extranjero, y si habla inglés; No es bueno, puede que te duela un poco leerlo, pero tenemos Google Translator, aún puedes entenderlo si aprietas los dientes. ¡La suegra en el mundo del código fuente es muy amable! En segundo lugar, hay muchos libros excelentes en el extranjero, y también hay buenos libros, recomiendo este método, que es autónomo, para que los conocimientos que dominemos no estén demasiado dispersos. Este es como el mejor amigo del código fuente. El código fuente tiene una amplia gama de conocimientos y un enfoque muy generoso. Hará todo lo posible para ayudarnos a comprender el código fuente. El siguiente es el blog. Aunque puede pensar que los puntos de conocimiento están relativamente dispersos, el dominio de un determinado punto de conocimiento es muy detallado, lo cual es muy útil para un dominio completo. Hay muchos expertos técnicos en el jardín y los blogs lo son. Naturalmente muy bueno. Muy valioso para el aprendizaje. Por supuesto que existen comunidades, foros, github, code cloud, etc. Este es el círculo de amigos del código fuente, del cual también podemos obtener mucha información sobre el código fuente. Patrones de diseño Comprender marcos y tecnologías excelentes es inseparable de los patrones de diseño. Se aplican muchos patrones de diseño al código fuente jdk, como el patrón de adaptador y el patrón de decoración en el flujo IO, el patrón de observador en la GUI, el patrón de colección de iteradores, etc. .; spring También se aplican una gran cantidad de patrones de diseño en el código fuente. ¿Cuáles son las ventajas de los patrones de diseño y para qué escenarios son adecuados? Este artículo no los analiza. Es necesario que los comprenda usted mismo. Solo necesitamos tener una comprensión general de algunos patrones de diseño de uso común, y luego es mejor leer el código fuente, no necesitamos leer los 23 patrones de diseño, ni comprender completamente los patrones de diseño de uso común; Para leerlos todos, nuestro tiempo es limitado. Además, algunos modos no son fáciles de entender, rara vez se usan y no son rentables. Los libros recomendados son "HeadFirstDesignPatterns" (versión china: "HeadFirst Design Patterns"), "Java and Patterns" además, una forma que recomiendo para aprender patrones de diseño es leer los blogs de otras personas: java_my_life, el blog de tecnología de Liu Wei, el diseño de chenssy; Patrón; código fuente en patrón de diseño Al igual que una mujer comprando, si desea conectarse con éxito al código fuente, debe dominar el patrón de diseño mediante el uso de IDE para rastrear los puntos de interrupción. Al final, simplemente se detuvo en la superficie y, después de todo, no entró en su corazón. A continuación, compartiré con ustedes cómo llegué a su corazón. Creo que todos los que han leído mi blog de código fuente saben que realmente me gusta romper. El seguimiento del código fuente con puntos de interrupción es una forma que recomiendo encarecidamente. Los puntos de interrupción se pueden usar no solo para depurar nuestro código, sino también para depurar el código fuente del marco que utilizamos. No tenemos suficiente tiempo, experiencia y paciencia para leer todo el código fuente. Solo necesitamos leer las partes que nos interesan (algunas personas pueden decir que no me importa esto). Entonces, ¿por qué sí? necesito interrumpir ¿Qué pasa con la depuración para rastrear el código fuente en lugar de rastrear la parte que nos interesa directamente desde el código fuente? Si no estamos familiarizados con el código fuente, debemos saber que si seguimos el código fuente directamente, es fácil. perderse (polimorfismo, etc.) Hay muchas subclases para implementar) y no sabemos cuál seguir a continuación. Por otro lado, es fácil perder la pista cuando seguimos hasta el punto más profundo. Es probable que se olvide de seguir el último lugar del último paso. La importancia de leer el código fuente no es difícil de entender.