¿Cuáles son las tecnologías que debe conocer un desarrollador de Java?

No es posible que conozca todas las tecnologías Java que existen porque ninguna compañía le dará la oportunidad de hacerlo. Una compañía seguirá el marco de Spring, mientras que otras compañías como LinkedIn se han mudado y están en PlayFramework.

Sin embargo, déjame darte una lista de 10 tecnologías que siempre te llevarán por delante de tu competencia, independientemente de la empresa.

10 habilidades que te harán un gran desarrollador de Java:

  1. Al menos un MVC Framework como JSF, Playframework, Struts o Spring MVC
  2. Hibernate o JPA para bases de datos
  3. Inyección de dependencia (@Resource)
  4. Servicios web basados ​​en SOAP ( JAX-WS )
  5. Alguna herramienta de construcción ( Ant , Maven , etc.)
  6. JUnit (u otro marco de prueba de unidad)
  7. Control de versiones principalmente Git
  8. JSTL
  9. Administración de la configuración del servidor de aplicaciones / contenedores y la implementación de la aplicación (ya sea WebSphere , Tomcat , JBoss , etc., necesita saber dónde se ejecuta su aplicación y cómo mejorar su ejecución)
  10. AJAX

Sin embargo, ser un desarrollador inteligente de Java requiere más que solo saber que estás atascado.

¡Éxito!

Todos los desarrolladores de Java deben conocer los siguientes conceptos básicos de Java:

  • Conceptos de OOP
  • Clases abstractas e interfaces
  • Constructores
  • Archivo IO y serialización
  • Colecciones – Lista, Mapa, Conjunto
  • Especificadores de acceso
  • Excepciones: marcadas, sin marcar
  • Genéricos
  • Palabras clave de Java: estático, final, volátil, sincronizado, transitorio, este super etc.
  • JVM y gestión de memoria
  • Multithreading y sincronización
  • Patrón de diseño

Si quiere ser desarrollador de aplicaciones distribuidas / en red, debe conocer las siguientes tecnologías

  • Enchufes
  • RMI
  • API de interfaz: JMS, JDBC
  • ORM: EJB (beans de sesión, beans de entidad, MDB), Hibernate

Si quiere ser desarrollador web, debe saber

  • JSP
  • Servlets / filtros / interceptores
  • JNDI
  • Arquitecturas – n Tier, MVC
  • Marcos web como Struts / Spring
  • Arquitectura orientada a servicios / servicios web (opcional para desarrolladores SOA)
  • Tecnologías web como HTML, CSS, Javascript y JQuery
  • Lenguajes de marcado como XML y JSON.

Si quiere ser un desarrollador de UI, debe saber

  • Applets
  • Marcos como Swing, SWT, AWT

Se espera que cada desarrollador de Java tenga conocimiento de la base de datos, por lo que debe saber:

  • Controladores de bases de datos
  • Normalización / desnormalización
  • Consultas SQL: Uniones externas internas, Agrupar por, Tener
  • Procedimientos almacenados
  • Disparadores
  • Cursores

Aquí está la herramienta de búsqueda de preguntas de la entrevista de Java que podría ser de ayuda – Buscar preguntas de la entrevista de Java

Todos los desarrolladores de Java deben conocer los siguientes temas:

Java central:

  1. Programación orientada a objetos
  • Clases y objetos
  • Campos y Métodos
  • Encapsulamiento
  • Modificadores de acceso
  • Herencia
  • Polimorfismo

2. Métodos

  • Métodos de llamada
  • Métodos de definición
  • Parámetros del método
  • Alcance

3. Tipo de datos y variables

  • Tipo de datos primitivo
  • Tipo de datos no primitivos
  • Formación

4. Paquete Java.lang

5. Manejo de excepciones

6. Mutlithreading

7. Paquete Java.util

8. Marcos de colección

9. paquete Java.io

10. Enums, Reflexiones

11. Anotaciones

Java avanzado :

  1. JDBC
  2. Servlets
  3. JSP
  4. Patrón de diseño JEE
  5. Arquitectura MVC

Marcos:

  1. Hibernar
  2. Primavera
  3. XML (lenguaje de marcado extensible)
  4. Servicios web

Herramientas y Servidores:

  1. Maven
  2. Log4J
  3. JSON
  4. Junit
  5. Eclipse
  6. Gato
  7. JBoss

Base de datos:

  1. Drivers Normalización / desnormalización
  2. Consultas SQL – Uniones externas internas, Agrupar por
  3. Procedimientos almacenados
  4. Cursores
  5. Disparadores

Cuando dominas todos estos temas en Java, te conviertes en un desarrollador de Java.

Si está buscando un muy buen concepto y comprensión de Java, recomendaría una clase fuera de línea bajo la supervisión y orientación de expertos.

Puede optar por CourseCube porque todos estos temas están cubiertos en profundidad desde el comienzo. Este es el mejor instituto para Java en Bangalore, también puede obtener soporte de ubicación.

Las habilidades requeridas para un Desarrollador Java dependen de la empresa / proyecto que haya sido designado.

Caso n. ° 1: Java Fresher en aplicaciones de escritorio o desarrollo de aplicaciones basadas en consola

Póngase cómodo escribiendo OO Concepts en las siguientes áreas:

  • Clase abstracta
  • Interfaz
  • Herencia (clases extendidas)
  • Implementando interfaces
  • Polimorfismo (anulación de método en subclases)
  • Diseño de clase (constructores vs. métodos, esto vs. super, sobrecarga de métodos, sobrecarga de constructores)

Conceptos básicos de Java

  • Tipos primitivos de Java (char, byte, int, long, double, float y boolean)
  • Clases primitivas de envoltura (carácter, byte, entero, largo, doble, flotante y booleano)
  • Auto-boxing y un-boxing (objeto contenedor primitivo a primitivo y objeto contenedor primitivo a primitivo)
  • Métodos de clase de cadena (length (), split (), replaceAll (), substring (), charAt () … etc)
  • Clase StringBuilder
  • Clase StringBuffer
  • Subprocesos de Java (Subproceso vs. Ejecutable)
  • Declaraciones condicionales de Java
  • Java Loops (para y mejorado para loop, while, do / while, switch)
  • Manejo de excepciones
  • Matrices de Java y colecciones de Java (útiles para intercambio / búsqueda)
  • Colecciones de Java (Vector, ArrayList, HashMap …, etc.)
  • Conceptos básicos de JDBC (ejemplo de conexión de controlador JDBC simple)
  • Habilidades básicas de Java Fecha / Hora
  • Habilidades Java IO y Java NIO

Habilidades de desarrollo de aplicaciones de escritorio

  • Póngase cómodo escribiendo código Java usando componentes Swing / AWT.
  • Pocas compañías pueden usar Java FX para el desarrollo de aplicaciones de escritorio, así que mejore su habilidad en esta área si su compañía lo requiere.
  • Habilidades de desarrollo de Java Web Start.
  • Creación de archivos Java JAR con clase principal.

Últimas habilidades de la versión Java

  • Póngase cómodo escribiendo código Java utilizando los últimos cambios de API. Si ya eres bueno en Java, se sugiere aprender los últimos paquetes / cambios de API. Puede llegar a saber que una versión anterior de 10 líneas de código puede simplificarse con solo 1 o 2 líneas utilizando las últimas clases / métodos.

Caso # 2: Java EE Fresher en aplicaciones web o desarrollo de aplicaciones empresariales

Estudie bien todas las habilidades del Caso # 1, excepto el desarrollo de aplicaciones de escritorio.

Habilidades de desarrollo de Java EE

  • Habilidades de aplicación / servidor web (Tomcat / Glashfish)
  • Póngase cómodo escribiendo Servlets Java
  • Póngase cómodo escribiendo páginas JSP
  • Conocimientos básicos de HTML (necesarios para el desarrollo de páginas JSP)
  • Conocimientos teóricos básicos sobre EJB (Bean de sesión sin estado, Bean de sesión con estado, Bean de sesión Singleton y Bean dirigido por mensaje)
  • ¿Qué es el JPA? (Solo lea algunas líneas sobre JPA para la preparación de la entrevista. Puede mejorar las habilidades de JPA y EJB más tarde después de adquirir experiencia en el desarrollo de componentes web Java EE)

Las áreas importantes que uno debe conocer para las entrevistas de trabajo son:

  • Conceptos básicos de Java (puede esperar estas preguntas incluso después de 4 años)
  • Conceptos de OO (intente desarrollar una experiencia práctica de todos estos conceptos e impresione escribiendo el código frente a un entrevistador)
  • Niveles de Java EE , pueden preguntar algo como ¿Qué es Java EE? (Conocimientos de niveles de aplicaciones empresariales Java EE para la certificación OCMJEA – MyExamCloud)
  • JSP y Servlets (métodos de ciclo de vida, diferencia entre GenericServlet y HttpServlet, manejo de sesión, cookies, reescritura de URL, anotaciones, filtros de servlet, web.xml vs. anotaciones, trapos JSP, etc.)
  • EJB (diferentes tipos: Bean de sesión sin estado, Bean de sesión con estado, Bean de sesión Singleton y Bean controlado por mensaje … ¿Cómo puede un cliente llamar a un EJB? Uso de cada tipo de bean), etc.)
  • Introducción al componente EJB en la arquitectura Java EE por MyExamCloud – MyExamCloud
  • JPA (conceptos básicos)
  • Introducción a JPA en la arquitectura Java EE por MyExamCloud – Tutoriales gratuitos de EPractize Labs
  • SQL (consultas SQL básicas)
  • Diferencia entre archivos EAR, WAR y JAR
  • Servidores de aplicaciones / web
  • Herramientas de desarrollo de aplicaciones que usaste
  • Proceso que seguiste (Agile ..)

La mejor manera de mejorar la habilidad de programación Java es mediante la preparación de la certificación del programador Java de Oracle. No es necesario que asista al examen, pero la preparación mejorará sus habilidades de programación.

  • Elija su certificación Java de Oracle
  • Certificaciones Java Colecciones de exámenes MyExamCloud

Voy a interpretar esto como:

“¿Qué tecnologías utilizan los desarrolladores Java experimentados?”

Eso es lo mejor y lo peor del ‘ecosistema’ de Java, es realmente flexible. No hay una respuesta única, ya que podrían ser para Smalltalk, Common Lisp o C #, hay una gran cantidad de herramientas y tecnologías.

Aquí está mi pila actual:

IntelliJ: Sigue siendo el IDE de facto en mi humilde opinión. Vale la pena cada centavo de los $ 0 para la licencia comunitaria y si necesito usar la última edición, eso es una buena señal para mí de que estoy tomando malas decisiones tecnológicas (Spring, JEE, JPA, Hibernate)

Java 8+: Java 8 cambió el idioma. Claro que todavía es compatible con Java <7, pero solo superficialmente. Las interfaces son ahora espacios de nombres funcionales, tenemos funciones anónimas y con eso eliminamos casi por completo la necesidad de patrones clásicos como la inyección de dependencia.

Maven: No me malinterpreten, entiendo el odio, pero tiene una habilidad especial que Gradle y Ant / Ivy nunca obtuvieron: soporte IDE sin sentido. Java tiene que ver con el IDE. No importa si está utilizando Eclipse, Netbeans o IntelliJ, su proyecto maven simplemente funcionará en cualquiera de ellos, simplemente abriendo el pom.xml como un nuevo proyecto: pruebas, classpath, dependencias, proceso de compilación, creación de documentación; todos ellos simplemente funcionarán de la caja.

Hay algunas tecnologías que he dejado de usar y que evitaré:

Spring: Ya no estoy seguro de qué problema está tratando de resolver. Solía ​​ser que juntar módulos mediante programación era difícil, pero eso ya no es cierto con Java 8. Todas las implementaciones de `java.inject` funcionan bien si es absolutamente necesario usar la inyección de dependencia. Existe la otra parte de Spring: “Reduzca el esfuerzo de usar las bibliotecas principales de Java”, que solía creer, pero después de más de una década de depuración de la biblioteca Java y la biblioteca Spring me dejó haciendo la pregunta: “¿Por qué estoy usando Spring? ? ”Y nunca“ Wow, Spring realmente me salvó mucho tiempo aquí ”.

JPA: Fue algo relevante cuando las Bases de datos relacionales gobernaron el centro de datos, pero incluso entonces, la abstracción se filtró. Las herramientas de generación de SQL, no ORM resuelven el problema mejor.

Servlets: esta tecnología aún puede tener su lugar, pero ese lugar se está reduciendo con cada revisión. Con un cambio hacia los microservicios, cada vez hay menos razones para tener la enorme cantidad de gastos generales que incluso un contenedor de servlet trae. Hasta que demuestre que tengo que usar servlets, usaré la clase HTTPServer integrada.

Los servicios modernos comienzan rápidamente, se compran con frecuencia (Implementación continua, sin servidor) y administran los recursos de la CPU girando copias que manejan las solicitudes de forma asincrónica y descargan las tareas intensivas de la CPU a través de colas, no hilos. Eso ha erosionado muchas de las ventajas de Java, por lo que, como desarrollador de Java experimentado, con frecuencia me encuentro buscando otro ecosistema por completo.

Un antiguo proverbio dice “el tiempo y la marea no esperan a ninguno “. Si está trabajando en la industria del software hoy, esta verdad todavía se aplica.

Hoy en día, para trabajar eficazmente en proyectos Java, generalmente se espera una comprensión de las API básicas Java y Java EE como JDBC y servlets. Las API básicas Java / Java EE sirven como la base de la aplicación, pero para participar en el desarrollo de la aplicación, necesita más.

Entonces, ¿qué otras tecnologías / API son críticas para ser miembro del proyecto? En base a las experiencias en el campo, aquí están las 10 principales tecnologías / API que todo desarrollador de Java debería conocer.

Las 10 principales tecnologías que debe conocer un desarrollador Java:

  1. Al menos un Framework MVC como JSF, Struts o Spring MVC
  2. Hibernate o JPA
  3. Inyección de dependencia (como se demostró en Spring o Java EE a través de @Resource)
  4. Servicios web basados ​​en SOAP ( JAX-WS )
  5. Alguna herramienta de construcción ( Ant , Maven , etc.)
  6. JUnit (u otro marco de prueba de unidad)
  7. Control de versiones
  8. JSTL
  9. Administración de la configuración del servidor de aplicaciones / contenedores y la implementación de la aplicación (ya sea WebSphere , Tomcat , JBoss , etc., necesita saber dónde se ejecuta su aplicación y cómo mejorar su ejecución)
  10. AJAX

Otras tecnologías / API que no llegaron a los diez primeros, pero que sin duda podrían ser discutidas con éxito para su inclusión en el repertorio de un desarrollador son: patrones de diseño , herramientas / técnicas de depuración , integración continua .

Ahora vienen algunas herramientas nuevas con las que un Desarrollador Java debe estar familiarizado.

Las 7 mejores herramientas nuevas que un desarrollador de Java debe conocer:

Por lo tanto, manténgase actualizado con Java …

Amo Java !!! ¡Vive Java!

Hay oportunidades futuras para los desarrolladores que están saliendo de la confluencia y las tecnologías de vanguardia como VR, AI. Los problemas de seguridad que surgen de estas convergencias abordan este problema.

Veamos qué hay en el kit de herramientas del desarrollador:

1) Seguridad de Internet de las cosas:

El año anterior, las decenas de millones de dispositivos vinculados fueron secuestrados por observadores casuales que no aseguraron los dispositivos de IoT que causaron problemas de seguridad de pesadilla. Se sugiere que los desarrolladores y los equipos de seguridad trabajen juntos en el proceso de diseño para hacer que las amenazas se vean a medida que aparecen. Por ejemplo, al ofrecer los dispositivos IoT con la capacidad de descargar actualizaciones de seguridad.

Para los ingenieros, el requisito está muy relacionado con las habilidades de seguridad de IoT para aquellos que conocen el riesgo del hardware y el software utilizado por los dispositivos conectados a la red.

Lea también: Varias cualidades que serán inculcadas por los desarrolladores de Java

2) Inteligencia Artificial:

Los robots, los vehículos autónomos y la electrónica inteligente son las próximas olas que realmente nos preparamos para exigir a los ingenieros expertos en inteligencia artificial que están estallando. En gran parte, actualmente estamos en un punto de inflexión en la informática ubicua. El almacenamiento ilimitado con servicios en la nube de bajo costo y la informática ubicua están en un punto de inflexión con grandes avances. Tecnólogos, ingenieros de software y científicos de investigación con visión por computadora, procesamiento del lenguaje natural, representación del conocimiento y experiencia en razonamiento.

3) Aprendizaje automático:

Se pueden recopilar grandes cantidades de datos del aprendizaje automático, que es una forma de inteligencia artificial similar al reconocimiento facial y la resolución de problemas similares a la sugerencia de una película para transmitir y no hay necesidad de ninguna programación explícita para hacerlo. Bots y la máquina son asistidos por tecnologías cognitivas que ayudan al valor extra como organizaciones para encontrar las señales en el ruido.

Leer más: Javaone es esperado y temido por los desarrolladores de Java

1) Estructura de datos y algoritmos (complejidad de tiempo, intentos, árbol, hash, lista vinculada, conjunto, mapa, cola, rojo / negro, montón, clasificación, búsqueda, codicioso, Knuth-Morris-Pratt, gráficos).

2) Lucene, Hadoop

3) Servicios web (REST, Big JAX-WS, JAX-RS)

4) Computación en la nube.

5) Sin SQL, big data.

6) Primavera, Hibernate, JPA

7) Empujar.

8) Servlets. Y todos los demás componentes J2EE.

9) Monitoreo de rendimiento, ajuste, perfilado.

10) DB, SQL.

11) Patrones comunes.

12) JavaScript, jQuery, ExtJS, cierre de google.

13) Maven, hormiga.

14) Técnicas de estimación.

15) ágil.

16) Web: JSP, Servlets, Push, Web socket, Comet, tecnologías de transmisión de datos

17) Perfiles: ¿Cómo monitorear el rendimiento, el uso de memoria, etc. de una aplicación? Eclipse profiler, TPTP, JProfiler. Varios recuerdos en JVM (heap, static, Eden, Perm Gen). Tecnologías de integración: JMX, JPDA, JVM TI / DI, JDWP, JDI, JMS, RPC, RMI, JCA.

18) JNI, Socket.

19) Principios de OOAD

20) Servidor web / de aplicaciones: Tomcat, JBoss.

21) JMS

La mayoría de las respuestas aquí enumeran algunos marcos / API de Java que debe conocer, no las “tecnologías” que un desarrollador de Java debe conocer, ¿no es así?

Cualquier desarrollador necesita tener un concepto bastante bueno sobre las siguientes tecnologías:
– Persistencia de datos: bases de datos relacionales y nosql, sistemas de archivos.
– Comunicación remota: comunicación Sync / Async, HTTP / FTP, Restful, Websocket, (XML /) RPC, IIOP / CORBA …
– Seguridad: cifrado, autenticación / autorización, SSO, TLS, transiciones (distribuidas /), equilibrio de carga del servidor / conmutación por error.

La tecnología Java ha evolucionado y se ha vuelto realmente enorme en la última década. Hay demasiadas cosas y es casi imposible que una persona las domine todas. Su conocimiento sobre la tecnología Java dependerá completamente de lo que esté trabajando.

En cualquier tecnología, por ejemplo, Java u otro lenguaje, es más importante y valioso conocer los fundamentos del lenguaje a fondo (conceptos POO, interfaces, clase, objetos, subprocesos, etc.) en lugar de marcos o sintaxis específicos. Siempre es fácil aprender rápidamente nuevas tecnologías cuando dominas los fundamentos.

1. Tener una base sólida y comprender los Principios de OO
Para un desarrollador de Java, es imprescindible tener una gran comprensión de la programación orientada a objetos. Sin tener una base sólida en OOPS, uno no puede darse cuenta de la belleza de un lenguaje de programación orientado a objetos como Java. Si no tiene una buena idea de qué es OOPS, aunque esté utilizando el lenguaje OOP, es posible que todavía esté codificando de manera procesal. Solo estudiar las definiciones del principio OO no ayudará mucho. Deberíamos saber cómo aplicar esos principios OO al diseñar una solución de manera OO. Por lo tanto, uno debe tener un conocimiento sólido sobre modelado de objetos, herencia, polimorfismo, patrones de diseño.

2. Domina las API principales
No importa cuán fuerte sea en términos de conocimiento teórico si no conoce las construcciones del lenguaje y las API principales. En el caso de Java, uno debe tener una experiencia práctica muy sólida con API centrales como java.lang. *, E / S, Excepciones, Colecciones, Generics, Threads, JDBC, etc. Cuando se trata del desarrollo de aplicaciones web, sin importar qué El marco que está utilizando tiene un fuerte conocimiento de Servlets, JSPs es imprescindible.

3. Sigue codificando
Las cosas se ven más simples cuando se habla teóricamente de ellas. Podemos dar una solución a un problema muy fácilmente en teoría. Pero podemos darnos cuenta de la profundidad del problema cuando comenzamos a implementar nuestro enfoque. Conocerá las limitaciones del idioma o diseñará las mejores prácticas mientras codifica. Así que sigue codificando.

4. Suscríbase a los foros
No estamos solos. Hay muchas personas trabajando en las mismas tecnologías en las que estamos trabajando. Si bien hacer una simple prueba de concepto en un marco puede no brindarle desafíos reales, cuando comience a usarlo en proyectos reales, enfrentará problemas extraños y no encontrará ninguna solución en su documentación oficial. Al comenzar a trabajar en una nueva tecnología, lo mejor y lo primero que debe hacer es suscribirse a los foros de tecnología relevantes. Cualquiera sea el problema que enfrente, es posible que otra persona en el mundo ya lo haya enfrentado antes y haya encontrado la solución. Y sería realmente genial si pudiera responder las preguntas formuladas por otros usuarios del foro.

5. Sigue blogs y responde
Como ya te dije no estás solo. Hay miles de fanáticos de la tecnología entusiastas en todo el mundo que publican sus ideas sobre la tecnología. Puedes ver diferentes perspectivas de la misma tecnología en los blogs. Alguien puede encontrar excelentes características en una tecnología y alguien más siente que es un marco estúpido que da sus propias razones de por qué se sentía así. Para que pueda ver una tecnología buena y mala en los blogs. Sigue los buenos blogs y responde / comenta las publicaciones con tu opinión al respecto.

6. Lea el código fuente de los marcos de código abierto
Un buen desarrollador aprenderá a usar un marco. Pero si desea ser un desarrollador excepcional, debe estudiar el código fuente de varios marcos exitosos y populares donde puede ver el mecanismo de trabajo interno del marco y muchas mejores prácticas. Ayudará mucho en el uso de los marcos de una manera muy efectiva.

7. Conozca las tendencias tecnológicas.
En el desarrollo de software de código abierto, las tendencias tecnológicas siguen cambiando. Para cuando tenga una buena idea de un marco que podría volverse obsoleto y algún marco nuevo apareció en la imagen con un conjunto de características súper. El problema que está intentando resolver con su marco actual ya puede estar resuelto por el nuevo marco con una sola línea de configuración. Esté atento a lo que entra y lo que sale.

8. Tenga a mano fragmentos de código / utilidades de uso común
En horas extras puede que necesite escribir / copiar y pegar el mismo código / configuración una y otra vez. Mantener ese tipo de fragmentos de configuración como log4.properties, configuración jdbc, etc. y utilidades como StringUtils, ReflectionUtils, DBUtils serán más útiles. Sé que en sí mismo no te convertirá en un desarrollador excepcional. Pero imagínese que un co-desarrollador le pide ayuda para obtener la lista de valores de una propiedad de una colección de objetos y luego simplemente usó su ReflectionUtil y le dio la solución en pocos minutos. Eso te hará sobresaliente.

9. Conocer diferentes metodologías de desarrollo.
Familiarícese con varios tipos de metodologías como Agile, SCRUM, XP, Waterfall, etc. Hoy en día, elegir la metodología de desarrollo depende del cliente. Algunos clientes prefieren Agile y algunos clientes están contentos con el modelo en cascada. Por lo tanto, tener una idea sobre varias metodologías sería genial.

10. Documente / publique sus pensamientos sobre tecnología
En el trabajo diario, puede aprender cosas nuevas, nuevas y mejores formas de hacer las cosas, mejores prácticas, ideas arquitectónicas. Siga documentando esos pensamientos o publíquelos en un blog y compártalos en toda la comunidad. Imagina que resolviste un problema extraño que ocurrió al hacer un POC simple y escribiste en un blog al respecto. Puede ser que algún desarrollador en otras partes del mundo se enfrente al mismo problema en una aplicación implementada de producción. Piensa cuán importante es esa solución para ese desarrollador.

Gracias por el A2A. Todo desarrollador de Java debe saber lo siguiente

1) Java central

  • Colecciones y genéricos
  • Vaya conceptos
  • Especificadores de acceso
  • Multithreading
  • Clases abstractas e interfaces
  • Constructores
  • Paquetes
  • Archivo IO y serialización
  • Manejo de excepciones
  • Palabras clave como estático, final, volátil, sincronizado, transitorio, este super etc.
  • Arquitectura JVM y gestión de memoria
  • Sincronización
  • Patrones de diseño
  • Expresiones regulares
  • Recolección de basura
  • Programación del zócalo

2. Herramientas ORM como

  • EJB (beans de sesión, beans de entidad, MDB)
  • Hibernar

Si quiere ser desarrollador web, debe saber

  • JSP
  • Lenguajes de marcado como HTML, XML y JSON.
  • Servlets
  • JNDI
  • MVC
  • Marcos web como Struts / Spring
  • Servicios web
  • Tecnologías web como CSS, Javascript y JQuery

Si quiere ser un desarrollador de UI, debe saber

  • Applets
  • Marcos como Swing, SWT, AWT

Se espera que cada desarrollador de Java tenga conocimiento de la base de datos, por lo que debe saber:

  • Controladores de bases de datos
  • Normalización / desnormalización
  • Consultas SQL
  • Procedimientos almacenados
  • Disparadores
  • Cursores

Sin un orden particular para el desarrollo web

  • JUnit, mockito, TDD
  • Primavera, bota de primavera
  • Hibernate, HQL
  • Conexiones y agrupaciones JDBC
  • Templating motores: bigote, Thymeleaf, stringtemplate
  • Jersey, puntos finales ‘REST’
  • Herramientas de CI como Jenkins, ve
  • Git
  • IntelliJ IDE
  • Herramientas de secuencias de comandos de compilación Gradle / Maven / Ant
  • HTML, CSS, JavaScript

Después de eso, Java tiende a acostumbrarse a cosas de mayor escala. Entonces AWS, colas de mensajes, RxJava y Futuros Completables.

Todo tipo, de verdad.

Muy buena pregunta de hecho. Porque desea agregar algo de valor a su conocimiento y también se da cuenta de eso, conocer solo Java NO es suficiente (hipotéticamente hablando).

Aunque esto depende completamente de la empresa / proyectos en los que trabaje.

En primer lugar, siga lo que dijeron Arundhati Kanungo y Razneekant Pardhan. Además de eso, enumeraré algunas tecnologías bajo las cuales cualquier desarrollador de Java debería saber:

1. GUI: Ext JS / Angular JS / Backbone JS (Cualquiera de esto)

Hoy en día, los codificadores del lado del servidor realmente no son la PRIMERA opción de reclutadores. Si tiene un paquete de habilidades con algo de experiencia en UI y conocimiento de back-end de Java, se convertirá en la corona de la masa para cualquier empresa o cliente (en caso de trabajo independiente).

2. Móvil: Android

Esto debe ser fácil de aprender para cualquier persona que conozca los conceptos de OOPS y el lenguaje Java. Hay muchas oportunidades y tutoriales que lo hacen aún más fácil.

3. Base de datos: MongoDB / RDBMS / Big Data

Esto se usa mucho hoy en día con cualquier gran aplicación Java empresarial. De hecho, los softwares creados hace unos años en RDBMS ahora se están cambiando a las tecnologías Big Data / No SQL porque es realmente muy necesario.

RDBMS: MySQL / Oracle 11g se puede aprender rápidamente.

¡Espero que esto ayude!

[Generalmente prefiero cubrir el máximo que puedo para que la respuesta no solo sea útil para la persona que hizo la pregunta, sino que también sea útil para otras personas que tengan las mismas consultas.]

He hecho muchas otras cosas, pero durante los últimos 1,5 años he estado escribiendo principalmente Java.

Otras personas mencionan muchas tecnologías antiguas como: RMI, JSP, Servlets y AWT. Está bien saberlo porque muchos sistemas existentes usan esas tecnologías. Y si quiere llamarse a sí mismo un desarrollador de Java, la gente probablemente esperaría que tenga algún grado de familiaridad con las tecnologías mencionadas anteriormente. Sin embargo, para las personas nuevas en el ecosistema de Java, debe intentar aprender la mayor cantidad de estas tecnologías heredadas que realmente necesite. Si gastas toda tu energía aprendiendo todo el equipaje viejo de Java, entonces te estás volviendo obsoleto lentamente. Prefiere Java más moderno y solo aprende sobre el material heredado cuando lo necesites.

Con Java moderno quiero decir (entre otros):

  • paquete java.time sobre java.util.Date y java.util.GregorianCalendar.
  • Transmitir API sobre Lista, Establecer ect.
  • JavaFX sobre AWT y Swing.
  • Gradle sobre Maven sobre ANT.
  • RxJava y Futures sobre hilos y cerraduras.
  • Juega Framwork durante la primavera.

Además de estos, también debe familiarizarse con los siguientes temas (ejemplos de marcos / tecnologías entre paréntesis):

  • Inyección de dependencia (Guice)
  • Pruebas (JUnit, Mockito y Hamcrest)
  • Mapeo relacional de objetos / ORM (Hibernate, Ebean)
  • Esquema de migración (Flyway, migrate4j)
  • Un lenguaje de programación más moderno en JVM (Scala, Kotlin, Groovy)

No importa mucho cuál de los marcos / tecnologías de la competencia conozca, ya que aprender uno le facilitará aprender otro.

Si bien existen tecnologías imprescindibles para los desarrolladores de Java, la tecnología de elección puede diferir de un desarrollador a otro. Según una encuesta realizada recientemente por Java Tutorial Network, la tecnología / marco más deseada entre los desarrolladores de Java este año es Java 9, seguida de Inteligencia Artificial y Aprendizaje automático. Blockchain ocupa el tercer lugar, después de lo cual viene Microservices. Spring Framework también parece ser muy favorecido entre los desarrolladores.

Como puede ver, no todos estos son marcos y tecnologías Java. Puede ver algunos marcos de front-end junto con tecnologías de tendencia que han surgido en el sector de TI. Estos son algunos marcos y tecnologías que los desarrolladores de Java parecen tener en alta estima ya que les brinda la capacidad de proporcionar mejores soluciones a mayor escala.

Al mismo tiempo, los desarrolladores de Java deben tener un amplio conocimiento de los conceptos básicos a toda costa. Esto incluiría la programación usando Java y trabajando en el sistema operativo Unix. Además, también debería familiarizarse con elementos esenciales como el programa RDBMS, la arquitectura JEE, JEE, el marco, etc. Puede intentar inscribirse en el curso gratuito sobre Programación con Java, ofrecido por Manipal ProLearn, para comenzar con estos Lo básico sin costo.

Las API básicas Java / Java EE sirven como la base de la aplicación, pero para participar en el desarrollo de aplicaciones, necesita más. Aquí están las 10 principales tecnologías / API que todo desarrollador de Java debe saber:

1. Al menos un Framework MVC como JSF, Struts o Spring MVC

2. Hibernate o JPA

3. Inyección de dependencia (como se demostró en Spring o Java EE a través de @Resource)

4. Servicios web basados ​​en SOAP (JAX-WS)

5. Alguna herramienta de construcción (Ant, Maven, etc.)

6. JUnit (u otro marco de prueba de unidad)

7. Control de versiones

8. JSTL

9. Administración de la configuración del servidor de aplicaciones / contenedores y el despliegue de la aplicación (ya sea WebSphere, Tomcat, JBoss, etc., necesita saber dónde se ejecuta su aplicación y cómo mejorar su ejecución).

10. AJAX

Otras tecnologías / API que no se ubicaron entre los diez primeros, pero que sin duda se podrían argumentar con éxito para su inclusión en el repertorio de un desarrollador son: patrones de diseño, herramientas / técnicas de depuración, integración continua.

Las tecnologías que un desarrollador de Java debe conocer son:

  1. Conceptos de OOP
  2. Constructores
  3. Especificadores de acceso
  4. Archivo IO
  5. Excepciones
  6. Constructores
  7. Interfaces

Diseño y desarrollo web | Marketing digital | Empresa de desarrollo de aplicaciones y juegos móviles Noida, India-Websquare.co

Conozca Java y comience a aprender frameworks como springMVC, spring boot, spring batch, hibernate.

  1. Nos estamos moviendo hacia el mundo centrado en API: es muy fácil crear servicios web con arranque de primavera.
  2. Spring batch pronto reemplazará a Informatica en la creación de trabajos por lotes.
  3. Cualquier aplicación tendrá una base de datos para almacenar datos: hibernar le permite hacer fácilmente conexiones de base de datos e intercambiar los datos.
  4. Mantener una aplicación web empresarial desarrollada en SpringMVC es mucho más fácil, ya que separa la lógica empresarial y de front-end.

Estas son las 10 principales tecnologías / API que todo desarrollador de Java debe conocer:

  1. Al menos un Framework MVC como JSF, Struts o Spring MVC
  2. Hibernate o JPA
  3. Inyección de dependencia
  4. Servicios web basados ​​en SOAP
  5. Alguna herramienta de construcción
  6. JUnit
  7. Control de versiones
  8. JSTL
  9. Servidor de aplicaciones / gestión de configuración de contenedores e implementación de aplicaciones.
  10. AJAX

Estoy enumerando 10 tecnologías / API que todo desarrollador de aplicaciones java debería saber

1. AJAX

2. JUnit (u otro marco de prueba de unidad)

3. Al menos un Marco MVC como JSF, Playframework, Struts o Spring MVC

4. Inyección de dependencia (@Resource)

5. Hibernate o JPA para bases de datos

6. Servicios web basados ​​en SOAP (JAX-WS)

7. Alguna herramienta de construcción (Ant, Maven, etc.)

8. Control de versiones principalmente Git

9. JSTL

10. Administración de la configuración del servidor de aplicaciones / contenedor e implementación de aplicaciones

More Interesting

¿Por qué SpaceX no habla de tecnologías de comunicación avanzadas? Lo necesitamos para cualquier misión tripulada. DSN no es suficiente.

¿Cuáles serían las mejores y más rápidas formas de reducir nuestro uso de combustibles fósiles?

¿Por qué fue un error el teléfono Kindle?

¿Hay algún proveedor de capacitación para el chorro de agua industrial disponible para la teoría y el uso de equipos?

¿Existe algún servicio que me permita crear un formulario que se pueda completar en una página web y luego enviar por correo electrónico una copia en PDF de cada formulario completado?

¿Qué es lo importante de Whatsapp?

¿Hay alguna empresa que pueda 'gravar' el mercado VR / AR? ¿Qué dependencias de la cadena de suministro existen, si hay alguna?

¿Cómo se compara la calidad entre los principales proveedores de datos de crédito comercial / gestión de riesgos? ¿Qué pasa con sus datos de ventas y marketing?

¿Será más efectivo ser generalista o especialista en la próxima era de las máquinas inteligentes?

Si India desarrolla el motor kaveri con la ayuda de safran, ¿tendrá control total sobre su tecnología?

A lo largo de toda la historia, ¿qué pieza de tecnología se produjo mucho más allá de su tiempo?

¿Cuáles son las novedades en tecnología a partir de junio de 2017?

¿Qué tan factible es la visión Drexleriana de la nanotecnología?

¿Cómo ha cambiado la tecnología de la guitarra en los últimos 10 años (2005-2015)?

¿Cómo funcionan las radios?