¿Cuál es el límite de aprender un lenguaje de programación? ¿En qué medida puedo aprender un lenguaje de programación?

No hay límite para aprender nada y cuando se habla de programación, no se trata de aprender a escribir líneas de instrucciones legibles por máquina. De hecho, es una habilidad para resolver problemas. Así que de acuerdo a mi no hay límite de aprender nada.
Y aquí está la lista de programas o Java (Core + advance + Technologies)
Espero eso ayude…

Introducción
Lenguajes de programación Tipos y paradigmas.
Jerarquía de programación informática.
¿Cómo afecta la arquitectura informática a un lenguaje?
¿Por qué Java?
Sabores de Java.
Java Designing Goal.
Papel del programador de Java en la industria.
Características del lenguaje Java.
JVM –El corazón de Java
Codigo de Byte Magic de Java

Fundamentos del lenguaje
El entorno de Java:
Instalando Java.
Desarrollo de programas Java
Estructura del archivo fuente Java
Compilacion
Ejecuciones.

Elementos básicos del lenguaje:
Fichas léxicas, identificadores
Palabras clave, literales, comentarios
Tipos de datos primitivos, operadores
Asignaciones.

Programación orientada a objetos
Fundamentos de la clase.
Objeto y referencia de objeto.
Objeto Vida útil y recolección de basura.
Creación y funcionamiento de objetos.
Constructor y bloque de código de inicialización.
Control de acceso, modificadores, métodos.
Clases anidadas, internas y anónimas
Clase abstracta e interfaces
Métodos de definición, mecanismo de paso de argumentos
Método de sobrecarga, recursión.
Tratar con miembros estáticos. Finalizar () Método.
Método nativo. Uso de “esta” referencia.
Uso de modificadores con clases y métodos.
Diseño de accesores y métodos mutadores.
Objetos de clonación, clonación superficial y profunda.
Tipos genéricos de clase

Clases ampliadas y herencia
Uso y beneficios de la herencia en la POO
Tipos de herencia en Java
Heredando miembros de datos y métodos
Papel de los constructores en la herencia.
Anulando los métodos de Super Class.
Uso de “super”.
El polimorfismo en la herencia.
Tipo de compatibilidad y conversión
Implementando interfaces.

Paquete
Organización de clases e interfaces en paquetes.
Paquete como protección de acceso
Definición de paquete.
Configuración de CLASSPATH para paquetes.
Haciendo archivos JAR para paquetes de biblioteca
Importación y importación estática
Convención de nomenclatura para paquetes

Manejo de excepciones:
La idea detrás de la excepción
Excepciones y errores
Tipos de excepción
Control de flujo en excepciones
Reacción de JVM a las excepciones
El uso de try, catch, finalmente, tirar, tirar en el manejo de excepciones.
Excepciones incorporadas y definidas por el usuario
Excepciones verificadas y no verificadas

Array & String:
Definiendo una matriz
Inicializando y accediendo a la matriz
Array multidimensional
Operación en Cadena
Cuerda mutable e inmutable
Usando la colección Bases Loop para String
Tokenizar una cadena
Creación de cadenas utilizando StringBuffer

Hilo:
Entendiendo hilos
Necesidades de la programación multi-hilo.
Ciclo de vida del hilo
Prioridades de hilo
Sincronizando hilos
Inter comunicación de hilos
Factor crítico en Thread -DeadLock

Applet
Applet y Aplicación
Arquitectura del applet.
Parámetros a Applet
Incrustar applets en la página web.
Políticas de seguridad de applet

Una colección de clases útiles
Métodos de utilidad para matrices
Objetos observables y observadores
Fecha y hora
Utilizando escáner
Expresión regular
Operación de entrada / salida en Java (java.io – entusiasta de Java y de código abierto? Paquete)
Streams y las nuevas capacidades de E / S
Entendiendo corrientes
Las clases de entrada y salida
Las corrientes estándar
Trabajar con objeto de archivo
Fundamentos de E / S de archivos
Leer y escribir archivos
Gestión de búferes y búferes
Operaciones de lectura / escritura con el canal de archivos
Serialización de objetos

Programación GUI
Diseñando interfaces gráficas de usuario en Java
Componentes y Contenedores
Conceptos básicos de los componentes
Utilizando contenedores
Gestores de diseño
AWT Componets
Agregar un menú a la ventana
Ampliación de las características de la GUI usando componentes Swing
Utilidades Java (Paquete java.util)
El marco de la colección:
Colecciones de objetos
Tipos de colección
Conjuntos
Secuencia
Mapa
Entendiendo el hash
Uso de ArrayList & Vector

Manejo de eventos
Programación dirigida por eventos en Java
Proceso de manejo de eventos
Mecanismo de manejo de eventos
El modelo de delegación de manejo de eventos
Clases de eventos
Fuentes de eventos
Oyentes del evento
Clases de adaptadores como clases de ayuda en el manejo de eventos
Clases internas anónimas un acceso directo a la gestión de eventos
Evitar puntos muertos en el código GUI
Tipos de eventos y clases
Programación de redes
Conceptos básicos de redes
Arquitectura cliente-servidor
Descripción general del zócalo
Clases de red e interfaces
Protocolos de red
Desarrollo de aplicaciones de red en Java

Programación de base de datos utilizando JDBC
Introducción a JDBC
JDBC Drivers & Architecture
Operación CURD utilizando JDBC
Conexión a bases de datos no convencionales.

API de correo
Introducción al correo electrónico interno técnico
Comprensión del marco POP y SMTP
Completa la comprensión de la API de correo electrónico
Desarrollo de aplicaciones de correo masivo
Introducción a J2EE
Descripción general de J2EE
¿Por qué J2EE?
Arquitectura J2EE
API de J2EE
Contenedores J2EE

Tecnologías de servidor de Java
Servlet
Conceptos básicos de aplicaciones web.
Arquitectura y retos de la aplicación web.
Introducción al servlet
Ciclo de vida del servlet
Desarrollo e implementación de Servlets
Exploración del descriptor de implementación (web.xml).
Solicitud de manejo y respuesta
Inicializando un Servlet
Acceso a la base de datos
Encadenamiento de servlet
Seguimiento y gestión de sesiones
Tratar con galletas
Solicitud de transferencia
Accediendo al contexto web
Pasando el parámetro INIT y CONTEXTO
Compartir información usando el objeto de alcance
Controlando el acceso concurrente
Autenticacion de usuario
Solicitud y respuesta de filtrado
Filtro de programación
Mapeo de filtros
Oyentes de Servlet

Páginas del servidor Java:
Arquitectura JSP Básica
Ciclo de vida de JSP (Traducción, compilación)
Etiquetas y expresiones JSP
Papel de JSP en MVC-2
JSP con base de datos
Objetos Implícitos JSP
Bibliotecas de etiquetas
Lenguaje de Expresión JSP (EL)
Uso de etiqueta personalizada
Capacidades JSP:
Manejo de excepciones
Gestion de sesion
Directivas
JSP con Java Bean

RMI (Invocación de método remoto)
Visión general de RMI
Arquitectura RMI
Ejemplo que demuestra RMI

JAVA Enterprise Beans
Visión general de Enterprise Bean
Tipos de frijoles de empresa
Ventajas de los frijoles de empresa.
Los ciclos de vida de los frijoles empresariales
Trabajando con Frijoles de Sesión
Statefull vs. Stateless Session Beans
Trabajando con Entity Beans
Mensaje impulsado frijoles
JNDI (nombre de Java y interfaz de directorio)
Visión general de JNDI
API de JNDI
Operaciones de contexto
Usando JNDI en aplicaciones J2EE

Sin límite. La medida en que puede aprender cualquier lenguaje de programación depende de usted, es decir, si desea realizar la Programación de sockets en Java, entonces no hay necesidad de GUI (creo) porque también puede hacerlo en un Programa Java de Consola. Si desea ser un diseñador de interfaz de usuario, entonces no hay necesidad de programación de socket. No puedo decir sobre temas.