¿Qué tecnologías Java se podrían estudiar para obtener un buen trabajo? Escucho muchos términos: J2EE, Struts, Hibernate, Spring, J2ME, Swing, etc. ¿Y cuál sería el mejor enfoque para aprender uno o más de estos?

Como alguien señaló a continuación, realmente no hay necesidad de cambiar de C ++ a JAVA, a menos que sea solo para obtener el trabajo.

Ahora para elaborar.

El mercado profesional de Java gira en torno a las tecnologías web.
Para conseguir un trabajo en empresas basadas en servicios, debe saber (no digo maestro) a continuación.
1. Core java + HardCore java: principalmente conceptos OOP, algunas idiosincrasias de lenguaje, enumeraciones, genéricos, colecciones. Cuando el entrevistador llega a Mutlithreading, obtienen una sensación de satisfacción de que el candidato conoce bastante Java.
2. Tecnologías web: ( 1 tecnología en cada capa de J2EE )
2.1 Capa de persistencia (Hibernate O JPA), dada la tendencia del mercado de hibernate, cualquier ORM relacionado es fácil de aprender, una vez que conoce los conceptos básicos.
2.2 Business Layer (EJB O POJO), los EJB son buenos para saber, pero necesitan soporte de contenedores y tienen dependencia del proveedor, en la actualidad, las empresas se están cambiando a Plain Old Java Objects (POJO) para un acoplamiento flexible y neutralidad del proveedor.
2.3 Capa de presentación (Servlets + JSP O JSF / o Struts) JSF aunque muchas empresas son reacias a adoptar esta tecnología, JSP plus servlets es un gran combo para tener en su CV. Struts MVC es la única compañía que busca estos días, no necesariamente, pero debe aprenderlo.
2.4 Secuencias de comandos del lado del cliente (Javascript + HTML + CSS): aunque no todas las empresas querrán que sepas esto, pero es bueno tenerlo.
2.5 Middleware (Servidores de aplicaciones como WAS / JBOSS): Bastaría un conocimiento básico de estos.

3. Parte de la base de datos (cualquier RDBMS) Oracle y MySql son el hot cake. Debe aprender Pl-SQL también.

4. Es bueno saber marcos / tecnologías
4.1 Marco de trabajo de Spring : Casi en cada entrevista le preguntarán si conoce Spring.
4.2 Servicios web: para dar un toque estético a su conocimiento de las tecnologías web
4.3 Cualquier motor de flujo de trabajo: es una característica adicional en su CV.

Solo para conseguir un trabajo, concéntrese en los puntos 1, 2, 3. Si tiene un conocimiento previo de Java y experiencia en programación, necesitará 3 meses de preparación antes de poder proyectarse como un profesional de JAVA.

Y hablando de carrera, ya que estás en C ++, prueba las compañías de juegos o cualquier compañía basada en productos. No cambie su tecnología solo porque quiere un trabajo.

Dicho esto, no soy un experto y me encantaría escuchar la opinión de otros expertos.

El material de referencia está disponible en abundancia en la web. EMPEZAR AHORA.

1. Estudiaría el lenguaje Java y las bibliotecas, que vienen en jdk.
Seguir, Java efectivo (libro).
2. Sería bueno para usted entender la concurrencia, así que lea la concurrencia de Java en la práctica.
3. Para la capa de red, iría con Netty.
4. Supongo que eres bueno, con algoritmos y estructuras de datos. Si desea actualizar sobre estos y obtener una buena comprensión de la implementación de estos en Java, lea Cracking the Coding Interview (libro de 2011).

Ahora los marcos.
Realmente depende de lo que estén usando los equipos a su alrededor. Yo personalmente recomiendo mirar los frameworks que salen del ecosistema Scala (lenguaje de programación) – Play Framework o Scalatra, Akka. Estos son los más modernos.

Spring Framework es probablemente el más maduro, popular y agradable de usar.

No usaría J2EE, a menos que sea un requisito absoluto para el trabajo.
Lo mismo para Hibernate y Struts.

No tengo idea si alguien usa SWING, definitivamente no iría allí. No iría a la ruta J2ME.
Si desea usar Java para dispositivos móviles, puede usar Android (sistema operativo).

Yo diría que vaya a 1..4 y vea qué usan otras compañías. Los marcos son fáciles de recoger, ser bueno con Java es el verdadero desafío.

Hola, tengo un total de 6 años de experiencia en el desarrollo de Java. Le sugeriría que revise conceptos básicos como OOPS, manejo de excepciones, subprocesos múltiples, sincronización, colecciones. La mayoría de las preguntas de la entrevista de Java comenzarían de la siguiente manera:

1.Es la plataforma Java dependiente o independiente. Si no, ¿por qué?

2. ¿Cuál es la diferencia entre la sobrecarga de métodos y la anulación de métodos?

3. ¿Qué es la palabra clave estática?

4. ¿Qué se entiende por palabra clave final?

Comience a leer los puntos de tutoriales y los sitios web revisados ​​de Java. Han explicado todo de manera simple y detallada.

si digo directamente, ahora los días en la tecnología JAVA deberían enfocarse

J2EE, Struts / Spring, Hibernate y Core Java.

Con estas tecnologías, puede conseguir fácilmente un buen trabajo y tener un futuro mejor en el desarrollo de aplicaciones.

En Struts y Spring, la mayoría de las empresas trabajan en struts2 y otras trabajan en primavera. Entonces, según el requisito, puede elegir uno de ellos inicialmente y después de tener experiencia en uno de ellos puede practicar para otro.

Actualmente, en las empresas, el desarrollo basado en la web es popular y el mejor marco que existe es Spring MVC y es muy utilizado junto con hibernar para trabajar con bases de datos.

Spring MVC es un marco líder en la industria y es maravilloso trabajar con él. Es un marco desarrollado de forma muy activa y consistentemente presenta características útiles para desarrolladores web.

Otras tecnologías Java basadas en la web están cambiando lentamente con Spring MVC en la mayoría de los lugares.

Esto puede ser discutible para algunos desarrolladores que prefieren otras tecnologías / marcos, sin embargo, después de trabajar con la mayoría de ellos, creo que actualmente Spring MVC es realmente la mejor opción para el desarrollo web.

Spring MVC es un marco y, al comenzar, puede traer muchos detalles para comenzar. Sugeriría comenzar con la plantilla hello world y ver cómo puede enviar una solicitud desde el navegador con un parámetro y cómo se asigna en los controladores, cómo procesar el Parámetros recibidos y finalmente ver cómo se devuelve la respuesta como una página HTML / JSP o JSON / XML.

Una vez que lo domine, puede comprender otras cosas, como lo que todos los archivos de configuración son creados por el marco y cómo trabajamos con ellos.

¡¡Feliz aprendizaje!!

Todas estas son tecnologías Java y aliadas (frameworks basados ​​en Java) si quieres entrar en Java mejor aprender Spring e Hibernate, por supuesto necesitas saber Java para eso. Pero si conseguir un trabajo es una prioridad, C ++ aún puede asegurarle que repasar DS y Algo, pasar un tiempo con Codility y debería estar bien.

More Interesting

Como desarrollador frontend que busca trabajo en una agencia, ¿qué barreras e incertidumbres le impedirían postularse a esa agencia?

Como empleador, ¿cuánta prima está dispuesto a pagar por los desarrolladores front-end calificados?

¿Cuáles son los mejores sitios de colaboración para el desarrollo?

¿Por qué sigo recibiendo errores de certificado en mi navegador?

Cómo iniciar un sitio web después de completar toda la codificación

No quiero aprender Java. ¿Cuáles son mis otras opciones para el desarrollo del lado del servidor (backend)?

¿Cómo actualizar mis habilidades de desarrollo de UI? Solo tengo conocimiento de HTML, CSS, JS, jQuery y un poco de conocimiento en AngularJS

¿Es posible trabajar de forma remota como desarrollador Front End y seguir viviendo de manera decente?

¿Es posible desarrollar algún tipo de aplicación web solo con node.js, sin utilizar ningún lenguaje del lado del servidor que no sea JavaScript?

¿Cuál es la mejor manera de aprender OOP, leer, escribir o simplemente practicar?

¿Cómo se llama la función de devolución de llamada en un motor de JavaScript?

¿Es aceptable en una empresa de desarrollo web escribir comentarios en un estilo informal?

TDD o BDD, ¿cuál es el mejor enfoque para un equipo de desarrollo web centrado en desarrollar funciones de interacción con el cliente?

Cómo poner un texto como hipervínculo sobre las imágenes en HTML

¿Puedes crear un sitio web usando wordpress, luego copiar todo el código utilizado para crearlo y luego usarlo fuera de wordpress?