Cómo aprender Java desde cero hasta el nivel avanzado.

Hola,
Estoy en la industria desde hace más de una década y trabajando en tecnología relacionada con Java.
Lo que siento es que hay un montón de buenos libros, pero creo que primero debes entender los fundamentos y eso es de la manera perfecta.
La razón detrás de esto es que en realidad hay muchos conceptos de OO y Java tiene su propia forma de tratarlos. Por ejemplo, Java tiene diferentes especificadores de acceso que C ++ u otro lenguaje de programación. Incluso una vez que poseas algo de conocimiento, sabrás que conceptos como final, inmutable, estático, etc. son un poco confusos hasta que realmente los usas.
Ahora desde la perspectiva de aprendizaje,
1. como otros mencionaron, lea la referencia completa de Head First java es mejor
2. Si se refiere a Head first Java, casi todos los capítulos son importantes y buena parte de este libro es que no le aburre mientras lee, también tendrá muchas pruebas que debe resolver para aclarar sus aspectos fundamentales.
3. Si no eres amante de los libros, otra opción que tienes es que hay muchos sitios para aprender Java. Mi favorito es el Tutorial de Java.
4. Ahora también puede consultar Youtube learn java – YouTube
5. Aquí has ​​completado tu Basic java. Ahora, para Java avanzado, Java es realmente vasto, por lo que debe decidir a dónde quiere ir como Core Java y convertirse en desarrollador de aplicaciones. Luego, aprenda File / IO, el marco de recopilación, el Framework de excepciones, etc. Si está más interesado en Web Learn JSP / Servlets / API de REST.
Uno necesita aprender hilos como un tema separado todos juntos
6. Es importante saber que Java ha evolucionado en 3 etapas.
1. JDK 2 a JDK 4.
2. JDK 5 a JDK 7
3. JDK 8.
Es muy necesario aprender en estas etapas porque existe una sutil diferencia en la forma en que se ha desarrollado el lenguaje.
Un buen ejemplo sería hasta que JDK 8, la interfaz no podría tener ningún método de implementación, sin embargo, en JDK, esto se ha relajado con algunas condiciones.

Si desea acelerar un poco su aprendizaje, puede aprender un poco del concepto conceptual básico de JDK2 a JDK4 y luego saltar a JDK 5. Aquí los genéricos son un gran salto.

Una vez que se sienta cómodo aprendiendo en JDK5 y después de haber pasado una buena cantidad de tiempo y de dominar el idioma, comience con JDK 8.

Líneas de tiempo: estoy considerando un gasto de aproximadamente 2 a 3 horas diarias.
1. Aprender conceptos básicos de OOPS y comprensión de 2 a 3 semanas.
2. Conceptos básicos de Java con JDK2 o JDK de 4 a 3 meses
3. Temas importantes de Java de JDK 5- 2 a 3 meses
4. Últimos conceptos JDK, JDK 8- 3 a 4 meses. (en realidad este será un proceso continuo)
Nota: Si solo desea aprender java y estar cómodo para hacer pequeños proyectos / tareas, no es una necesidad inmediata ni obligatoria de aprender JDK 8 al principio. Una vez que trabaje en Java durante un año o tenga tiempo libre mientras trabaja, puede retirar el JDK 8.

Mientras aprendes una vez que tienes un buen conocimiento de la programación en java, visita
HackerRank y tratar de resolver los conceptos de programación tanto como sea posible.

Creo que el tiempo total necesario para aprender java y convertirse en maestro en la misma sería de 4 a 6 meses.

Nota al margen: para trabajar en java también es importante aprender.
1. Trabajar en IDE preferiblemente Eclipse IDE
2. Maven, ANT
3. Si está en desarrollo web, debe conocer algunos aspectos básicos de los servidores web / de aplicaciones como Apache Tomcat, Jboss.

Gracias por hacer esta pregunta, me hizo repasar mi proceso de pensamiento sobre cómo se puede aprender el mejor y mejor lenguaje de programación de todos los tiempos.

Esto es lo que creo que deberías hacer.

  1. Toma un buen libro. Digamos java referencia completa.
  2. Leer el libro a fondo pasar por todos y cada uno de los conceptos.

Esto llevará 1-2 semanas.
3. Ahora comience a codificar implementar el
Conceptos que has leído.
Observe los resultados tomando
pequeños ejemplos.
4. Herencia, polimorfismo.
vinculación dinámica son los más
conceptos importantes en java como
Todas las bibliotecas estándar de Java son
construido sobre estos conceptos.
5. Intenta resolver algunos java complicados.
preguntas que encontrarás en
Internet.
6. Java fue diseñado como internet
idioma. Aprende sobre los applets
Su uso en web.
aplicaciones
7. El verdadero poder de Java está dentro de
su implementación i. e JVM.
Aprende sobre la arquitectura jvm en
detalle. Aquí hay un enlace importante http://www.artima.com/insidejvm/ed2/jvm.html
8. Dominar lo importante y
clases de java de uso frecuente.
como lectores, flujos de entrada
Gráficos, Sistema, Objeto, Clase
Clases de envoltura.

P. S – JDK7 javadoc Explorer una aplicación
que contiene documentación java fuera de línea.
publicado por oracle. Muy útil.

La mejor manera de aprender Java es codificarlo desde el primer día.

Lo aprendí de esa manera.

Ser un experto siempre es sobre el aprendizaje incremental y la construcción de cosas.
Cuando otros te admiran como un experto, te darás cuenta de que obtuviste conocimiento acerca de ciertas cosas importantes conocidas por un grupo limitado de personas.
Pero cuando mira las cosas que realmente importan y en las que está trabajando arduamente para resolver, desconcertado por muchas preguntas, se encuentra mirando la punta de otro iceberg.

La programación fue un nicho para mí dentro de 4 años, fue 2011.

Estaba tan emocionado como suena, todavía lo estoy, considerando las posibilidades que Java abre para modelar y resolver problemas.

Entonces, estaba trabajando en un MNC y me quedé con amigos. Compartimos gastos fijos y mensuales por comida y diversión.

Durante ese período fui desarrollador de Cobol. También solía escribir scripts de shell para la automatización de tareas, simplemente porque me gustaba, considerando su simplicidad y sus poderosos controles.

Al final de cada mes, en nuestro apartamento, tuvimos que hacer un cálculo de todos nuestros gastos y tener una distribución justa entre los compañeros de piso. Esto nos llevó más de 5 horas, escribir y resolver una pequeña aritmética, exigir mucho enfoque, acompañado de dolor de cabeza.

Discutimos que sería una buena idea si anotamos los datos de gastos en una hoja XL y de alguna manera obtengamos toda la información, la calculemos en función del tipo de gasto y anotemos quién le debe a quién, qué.
Después de unos días de trabajar con shell script para compilar esto, que de hecho lo hice, anoté miles de líneas de shell, ¡pero la idea de incluir una hoja XL parecía muy descabellada! Agregar líneas de código adicionales lo hizo más feo y los errores no se pueden rastrear.

Pronto me di cuenta de que necesito encontrar algo que pueda, lo más importante, depurar fácilmente y que me brinde una forma de leer las filas XL.
Escuché mucho sobre Java, leí un poco en los foros de Internet, Googlé mucho, el desbordamiento de pila se convirtió en la nueva wiki para mí y finalmente decidí darle una oportunidad.
El código que escribí era de alrededor de 600 líneas, después de reescritura, escribí mi propio algoritmo de clasificación, todas y cada una de las declaraciones escritas en main ().
Fue escrito con un enfoque procesal completo.

Pero lo más importante es que el problema estaba resuelto. Tuve un archivo de configuración con los nombres de mis compañeros y otros parámetros, como el tipo de gasto, un archivo XL convertido en un archivo CSV separado por tabulaciones que contiene los datos mensuales y un solo proyecto Java que contiene un archivo de clase única que se ejecuta en Netbeans IDE mostrando el resultado en consola.
En ese momento, no tenía idea de Apache Poi o Maven o de cualquier otra biblioteca o técnica popular y aceptada.

Ahora, en 2015, conozco varias técnicas de programación estándar, escritas más de 10,000 líneas de código en Perl, Python, Java script, Php. Disfruté aprendiendo sobre Scala, Brainfuck, Visual Basic, C y muchos más.
Java es mi lenguaje de desarrollo principal en estos días, ya que estamos construyendo productos basados ​​en él, en un inicio al que me uní.
Aprendí sobre EJB, Spring Framework, Hibernate, técnicas de construcción, API basadas en REST, transmisión de datos, subprocesos múltiples efectivos, sistemas en la nube y estoy deseando aprender más. Las funciones de Java 8 lambda son increíbles de usar.
Java 9 será más divertido con un mejor y simple soporte de codificación para API, tal vez se introduzca un nuevo recolector de basura y HTTP 2.0.

Como nota, tengo mi licenciatura en Electrónica y Comunicación, que casi fracasó en los laboratorios de programación académica.

Escribí las cosas en detalle para compartir mi experiencia, recorriendo el camino desde ser un principiante hasta resolver problemas usando Java avanzado, y también para señalar el hecho de que resolver problemas usando la herramienta que desee es la mejor manera de aprender esa herramienta.
Puede leer todos los capítulos de patrones de diseño efectivos en Java, pero a menos que usted codifique, apuesto a que no puede intentar resolver un problema real.

Entonces, encuentra lo más importante que te molesta y luego resuélvelo usando Java.

A continuación hay algunos enlaces útiles para aprender Java:

El mejor libro para Java que he leído es Headfirst Java y después de cubrir los conceptos básicos, vaya para Java: la referencia completa. Los libros de Headfirst son realmente muy útiles y hacen que sea fácil de aprender. Tiene excelentes gráficos y chistes para ayudarte a aprender Java mejor que nada. Head First Java ofrece una experiencia de aprendizaje multisensorial altamente interactiva que permite a los nuevos programadores recoger los fundamentos del lenguaje Java rápidamente.

El libro de referencia lo llevará a través de todos los aspectos del idioma en detalles después de que haya dominado los conceptos básicos del idioma. Recuerde siempre mantener la última versión del libro de referencia. (Ebook o copia impresa depende de usted)

Además, hay muchos sitios web para aprender Java. Tutorialspoint, Javatpoint . Además, aquí hay algunos videos tutoriales para Java:

Aprende Java en línea | Las mejores fuentes que puede obtener

bien, voy a dar una sugerencia seria: tomar un MOOC en edx para java a continuación es el enlace

Introducción a la programación con Java – Parte 1: Empezar a programar en Java

este curso comienza a partir del 28 de abril de 2015, por lo tanto, aquí tienes que registrarte de forma gratuita. descargue la aplicación edx para Android o iOS y acceda a los materiales del curso directamente desde su teléfono o pestaña.

¡Buena suerte!

Comience con lo básico de Java. La referencia completa de Herbert Schild es un buen libro para comenzar. Practica lado a lado. Luego, una vez que haya aclarado lo básico, vaya a Kathy Sierra, que es uno de los mejores libros para borrar sus conceptos de Java. también te prepara para el examen Oracle Certified Java Programmer Exam.

Siga practicando en sitios como CodeChef, HaclerRank, Spoj, TopCoder, etc.

¡¡¡Todo lo mejor!!!

Primero, aprenda los conceptos de POO. Luego, lea algunos tutoriales en línea como tutorialspoint.com y realice algunos programas en el bloc de notas sin usar ningún IDE. Le dará una mejor idea acerca de java. Todo lo que necesita es pasión por aprender.

Dos mejores maneras:

  1. Youtube: Simplemente escriba core java o java y muchos enlaces se abrirán … algunas de las grandes clases en youtube son: (Instituto Durga, por Navin Reddy y luego New Boston) … simplemente intente que le encantará …
  2. Lado a lado, lea el libro también cuanto más estudie, más se aclararán sus conceptos …
  3. La programación de PS …… necesita práctica … y no solo lectura, así que una vez que empiece a aprender a practicar la codificación de un tema en particular para que pueda dominar (al menos todas las dudas) se elimine.

Consulte la referencia completa de Java por Herbert y Schildt. Mi profesor de la universidad de thapar lo recomendó. También puede buscar orientación profesional que también le puede dar un certificado de aprendizaje exitoso de Java. Y al final, ser un programador eficiente, no se limite a aprender idiomas sin rumbo fijo.

C es un lenguaje de procedimiento, pero java está orientado a objetos, si sigue bien los conceptos de oop, será fácil aprender java si tiene una idea en c

Bueno, hice una aplicación de Android para aprender java que contiene más de 800 preguntas con explicaciones y espero que esto ayude.

Puede hacer su duda / pregunta en la pila y obtener respuesta de expertos.

Java OCJP + – Aplicaciones de Android en Google Play (Java OCJP + – Aplicaciones de Android en Google Play ( https://play.google.com/store/ap… )) Más de 300 preguntas de la entrevista.

Más de 300+ programas java.

Hay muchos sitios web desde donde puedes comenzar a aprender java como JavaTpoint, java tutorialspoint, java oracle docs y muchos más. Las explicaciones dadas en estos sitios son bastante fáciles de entender.

Siga el enlace: Tutoriales de programación de Java (principiante)
Encontrarás todo para aprender JAVA desde cero.

Todo lo mejor.