Java es un lenguaje de programación de alto nivel desarrollado originalmente por Sun Microsystems y lanzado en 1995. Java se ejecuta en una variedad de plataformas, como Windows, Mac OS y las distintas versiones de UNIX.
Java se ejecuta en una variedad de plataformas, como Windows, Mac OS y las diversas versiones de UNIX / Linux como HP-Unix, Sun Solaris, Redhat Linux, Ubuntu, CentOS, etc.
Algunas características incluyen orientación a objetos, independiente de la plataforma, robusta, interpretada, multiproceso
Su compilador genera un formato de archivo de objeto de arquitectura neutral, lo que hace que el código compilado sea ejecutable en muchos procesadores, con la presencia del sistema de ejecución de Java.
Java utiliza el compilador Just-In-Time para permitir un alto rendimiento. El compilador Just-In-Time es un programa que convierte el código de bytes de Java, que es un programa que contiene instrucciones que deben interpretarse en instrucciones que pueden enviarse directamente al procesador.
Está diseñado para adaptarse a un entorno en evolución. Los programas Java pueden transportar una gran cantidad de información en tiempo de ejecución que se puede utilizar para verificar y resolver accesos a objetos en tiempo de ejecución.
Cuando se compila Java, no se compila en una máquina específica de la plataforma, sino en un código de bytes independiente de la plataforma. Este código de bytes se distribuye a través de la web y es interpretado por una máquina virtual (JVM) en cualquier plataforma que se esté ejecutando.
Netbeans, Eclipse, etc.
Algunas palabras clave de Java son importación, super, finalmente, etc.
El objeto es una entidad en tiempo de ejecución y su estado se almacena en campos y el comportamiento se muestra mediante métodos. Los métodos operan en el estado interno de un objeto y sirven como el mecanismo principal para la comunicación de objeto a objeto.
Una clase es un anteproyecto a partir del cual se crean objetos individuales. Una clase puede contener campos y métodos para describir el comportamiento de un objeto.
Una clase consta de variable local, variables de instancia y variables de clase.
Las variables definidas dentro de métodos, constructores o bloques se denominan variables locales. La variable se declarará e inicializará dentro del método y se destruirá cuando el método se haya completado.
Las variables de instancia son variables dentro de una clase pero fuera de cualquier método. Estas variables se instancian cuando se carga la clase.
Estas son variables declaradas dentro de una clase, fuera de cualquier método, con la palabra clave estática.
Creación de objetos de control de clase Singleton, limitando el número a uno pero permitiendo la flexibilidad de crear más objetos si la situación cambia.
El constructor se invoca cuando se crea un nuevo objeto. Cada clase tiene un constructor. Si no escribimos explícitamente un constructor para una clase, el compilador java crea un constructor predeterminado para esa clase.
Un objeto se declara primero, luego se crea una instancia y luego se inicializa.
El valor predeterminado del tipo de datos de bytes es 0.
El valor predeterminado del tipo de datos flotante y doble es diferente en comparación con C / C ++. Para flotar es 0.0f y para el doble es 0.0d
Este tipo de datos se utiliza para ahorrar espacio en matrices grandes, principalmente en lugar de números enteros, ya que un byte es cuatro veces más pequeño que un int.
Las variables de clase, también conocidas como variables estáticas, se declaran con la palabra clave static en una clase, pero fuera de un método, constructor o bloque.
Java proporciona modificadores de acceso para establecer niveles de acceso para clases, variables, métodos y constructores. Un miembro tiene paquete o accesibilidad predeterminada cuando no se especifica ningún modificador de accesibilidad.
Solo las subclases de otro paquete o cualquier clase dentro del paquete de la clase de miembros protegidos pueden acceder a las variables, métodos y constructores que se declaran protegidos en una superclase.
Java proporciona estos modificadores para proporcionar funcionalidades distintas de los modificadores de acceso, que se sincronizan para indicar que solo un subproceso puede acceder a un método a la vez.
Operadores de sufijo, es decir, () []. tiene la mayor prioridad.
Las variables utilizadas en una declaración de cambio solo pueden ser una cadena, enumeración, byte, corto, int o char.
Este método se utiliza para obtener el tipo de datos primitivo de una determinada Cadena.
La clase String es inmutable, por lo que una vez que se crea, un objeto String no se puede cambiar. Dado que String es inmutable, se puede compartir de forma segura entre muchos subprocesos, lo que se considera muy importante para la programación multiproceso.
La clase String se considera inmutable, por lo que una vez creada, un objeto String no se puede cambiar. Si es necesario realizar muchas modificaciones en las cadenas de caracteres, se debe utilizar StringBuffer.
Utilice StringBuilder siempre que sea posible porque es más rápido que StringBuffer. Pero, si la seguridad de los subprocesos es necesaria, utilice objetos StringBuffer.
El paquete java.util.regex se utiliza para este propósito.
java.util.regex consta de tres clases: clase Pattern, clase Matcher y clase PatternSyntaxException.
Es posible definir un método que será llamado justo antes de la destrucción final de un objeto por el recolector de basura. Este método se llama finalize () y se puede utilizar para garantizar que un objeto termine limpiamente.
Una excepción es un problema que surge durante la ejecución de un programa. Las excepciones son capturadas por controladores ubicados a lo largo de la pila de invocación de métodos del hilo.
Es una excepción que suele ser un error del usuario o un problema que el programador no puede prever. Por ejemplo, si se va a abrir un archivo, pero no se puede encontrar, se produce una excepción. Estas excepciones no pueden simplemente ignorarse en el momento de la compilación.
Es una excepción que se produce y que probablemente el programador podría haber evitado. A diferencia de las excepciones marcadas, las excepciones en tiempo de ejecución se ignoran en el momento de la conformidad.
La clase Exception tiene dos subclases principales: clase IOException y clase RuntimeException.
Si un método no maneja una excepción marcada, el método debe declararlo usando la palabra clave throws. La palabra clave throws aparece al final de la firma de un método.
Se puede lanzar una excepción, ya sea una instancia nueva o una excepción que acaba de capturar, utilizando la palabra clave throw.
La palabra clave finalmente se usa para crear un bloque de código que sigue a un bloque try. Un bloque de código final siempre se ejecuta, se haya producido o no una excepción.
Mientras crea su propia excepción:
Todas las excepciones deben ser hijo de Throwable.
Si desea escribir una excepción marcada que se aplica automáticamente mediante la regla Handle o Declare, debe ampliar la clase Exception.
Si desea escribir una excepción en tiempo de ejecución, debe ampliar la clase RuntimeException.
Es el proceso donde un objeto adquiere las propiedades de otro. Con el uso de la herencia, la información se hace manejable en un orden jerárquico.
Si el método anula uno de los métodos de su superclase, el método anulado se puede invocar mediante el uso de la palabra clave super. También se puede utilizar para hacer referencia a un campo oculto.
El polimorfismo es la capacidad de un objeto de adoptar muchas formas. El uso más común de polimorfismo en OOP ocurre cuando se usa una referencia de clase principal para hacer referencia a un objeto de clase secundaria.
Se refiere a la capacidad de hacer un resumen de clase en OOP. Ayuda a reducir la complejidad y también mejora la capacidad de mantenimiento del sistema.
Estas clases no se pueden instanciar y se implementan parcialmente o no se implementan en absoluto. Esta clase contiene uno o más métodos abstractos que son simplemente declaraciones de métodos sin cuerpo.
Si desea que una clase contenga un método en particular, pero desea que las clases secundarias determinen la implementación real de ese método, puede declarar el método en la clase principal como abstracto.
Es la técnica de hacer privados los campos de una clase y proporcionar acceso a los campos a través de métodos públicos. Si un campo se declara privado, nadie fuera de la clase puede acceder a él, lo que oculta los campos dentro de la clase. Por lo tanto, la encapsulación también se conoce como ocultación de datos.
El principal beneficio de la encapsulación es la capacidad de modificar nuestro código implementado sin romper el código de otros que usan nuestro código. Con esta encapsulación le da facilidad de mantenimiento, flexibilidad y extensibilidad a nuestro código.
Una interfaz es una colección de métodos abstractos. Una clase implementa una interfaz, heredando así los métodos abstractos de la interfaz.
Incluye -
No se puede crear una instancia de la interfaz
Una interfaz no contiene ningún constructor.
Todos los métodos de una interfaz son abstractos.
Un paquete se puede definir como una agrupación de tipos relacionados (clases, interfaces, enumeraciones y anotaciones) que proporcionan protección de acceso y gestión del espacio de nombres.
Los paquetes se utilizan en Java para evitar conflictos de nombres, controlar el acceso, facilitar la búsqueda / localización y el uso de clases, interfaces, enumeraciones y anotaciones, etc.
Un programa multiproceso contiene dos o más partes que pueden ejecutarse simultáneamente. Cada parte de dicho programa se denomina hilo y cada hilo define una ruta de ejecución independiente.
El hilo se puede crear: implementando la interfaz Runnable, ampliando la clase Thread.
Un subprograma es un programa Java que se ejecuta en un navegador web. Un subprograma puede ser una aplicación Java completamente funcional porque tiene toda la API de Java a su disposición.
Un subprograma extiende la clase java.applet.Applet.
Utiliza la recolección de basura para liberar la memoria. Limpiando aquellos objetos a los que ya no hace referencia ninguno de los programas.
Un objeto inmutable no se puede cambiar una vez creado.
Se usa con variables o métodos y se usa para llamar a constructores de la misma clase.
Es una colección de elementos que no puede contener elementos duplicados. La interfaz Set contiene solo métodos heredados de Collection y agrega la restricción de que los elementos duplicados están prohibidos.
Es un Set implementado cuando queremos elementos en un orden ordenado.
Se utiliza para ordenar colecciones y matrices de objetos utilizando collections.sort () y java.utils. Los objetos de la clase que implementan la interfaz Comparable se pueden ordenar.
Incluye:
Throw se usa para desencadenar una excepción donde as throws se usa en la declaración de excepción.
Sin lanzamientos, la excepción marcada no se puede manejar donde una excepción marcada se puede propagar con lanzamientos.
A continuación se muestra la explicación individualmente:
public: es el especificador de acceso.
static: permite llamar a main () sin instanciar una instancia particular de una clase.
void: afirma al compilador que main () no devuelve ningún valor.
main (): este método se llama al comienzo de un programa Java.
String args []: el parámetro args es una matriz de instancia de la clase String
Java Runtime Environment es una implementación de la máquina virtual Java que ejecuta programas Java. Proporciona los requisitos mínimos para ejecutar una aplicación Java;
Los archivos JAR son archivos Java Archive y agregan muchos archivos en uno. Contiene clases de Java en una biblioteca. Los archivos JAR se basan en el formato de archivo ZIP y tienen la extensión de archivo .jar.
Este es un archivo de archivo web y se utiliza para almacenar XML, clases de Java y páginas de JavaServer. que se utiliza para distribuir una colección de JavaServer Pages, Java Servlets, clases Java, archivos XML, páginas web estáticas, etc.
Mejora el rendimiento en tiempo de ejecución de programas informáticos basados en código de bytes.
Los lenguajes de programación basados en objetos siguen todas las características de los POO, excepto la herencia. JavaScript es un ejemplo de lenguajes de programación basados en objetos.
El compilador java crea un constructor predeterminado solo si no hay ningún constructor en la clase.
No, esto no es posible.
Se utiliza para inicializar el miembro de datos estáticos. Se ejecuta antes del método principal en el momento de la carga de clases.
Mantener la referencia de la otra clase dentro de alguna otra clase se conoce como composición.
Si una clase tiene varias funciones con el mismo nombre pero diferentes parámetros, se conoce como sobrecarga de método.
Si una subclase proporciona una implementación específica de un método que ya proporciona su clase principal, se conoce como Anulación de método.
La sobrecarga de métodos aumenta la legibilidad del programa. La anulación de método proporciona la implementación específica del método que ya proporciona su superclase. El parámetro debe ser diferente en caso de sobrecarga, el parámetro debe ser el mismo en caso de anulación.
Las clases finales se crean para que los métodos implementados por esa clase no se puedan anular. No se puede heredar.
Se lanza una NullPointerException al llamar al método de instancia de un objeto nulo, acceder o modificar el campo de un objeto nulo, etc.
Un hilo puede entrar en estado de espera invocando su método sleep (), bloqueando en IO, intentando sin éxito adquirir el bloqueo de un objeto o invocando el método wait () de un objeto. También puede entrar en estado de espera invocando su método suspend () (obsoleto).
El programador de tareas del sistema operativo asigna tiempo de ejecución a múltiples tareas. Al alternar rápidamente entre las tareas de ejecución, crea la impresión de que las tareas se ejecutan de forma secuencial.
Después de que se inicia un hilo, a través de su método start () de la clase Thread, la JVM invoca el método run () del hilo cuando el hilo se ejecuta inicialmente.
Sí lo hace. FileNoFoundException se hereda de IOException. Las subclases de excepciones deben capturarse primero.
Cuando una tarea invoca su método yield (), vuelve al estado listo. Cuando una tarea invoca su método sleep (), vuelve al estado de espera.
La clase Vector proporciona la capacidad de implementar una variedad de objetos que puede crecer. Vector demuestra ser muy útil si no conoce el tamaño de la matriz de antemano, o simplemente necesita una que pueda cambiar de tamaño durante la vida útil de un programa.
Unicode requiere 16 bits y ASCII requiere 7 bits. Aunque el juego de caracteres ASCII usa solo 7 bits, generalmente se representa como 8 bits. UTF-8 representa caracteres con patrones de 8, 16 y 18 bits. UTF-16 utiliza patrones de bits de 16 bits o más.
Son clases que permiten acceder a tipos primitivos como objetos. Ejemplo: entero, carácter, doble, booleano, etc.
La clase Frame extiende Window para definir una ventana principal de la aplicación que puede tener una barra de menú.
paquete javax.Swing. Todos los componentes de Swing, excepto JApplet, JDialog, JFrame y JWindow son componentes ligeros.
El método paint () admite pintar a través de un objeto Graphics. El método repaint () se utiliza para hacer que paint () sea invocado por el hilo de pintura AWT.
Se utiliza para crear objetos que proporcionan acceso a los archivos y directorios de un sistema de archivos local.
La jerarquía de clases Reader / Writer está orientada a caracteres y la jerarquía de clases InputStream / OutputStream está orientada a bytes.
La clase Class se utiliza para obtener información sobre el diseño de un objeto y la instancia de la clase java.lang.Class representa clases, interfaces en una aplicación Java en ejecución.
Una variable estática se asocia con la clase como un todo en lugar de con instancias específicas de una clase. Las variables no estáticas toman valores únicos con cada instancia de objeto.
La serialización es el proceso de escribir el estado de un objeto en un flujo de bytes. La deserialización es el proceso de restauración de estos objetos.
Es parte del análisis de un programa y describe una situación que un programa podría encontrar y qué comportamiento debería exhibir el programa en esa circunstancia.
La subclase hereda todos los métodos públicos y protegidos y la implementación. También hereda todos los métodos de modificación predeterminados y su implementación.
Si hay una instancia de botón llamada b1, puede agregar un atajo de menú llamando a b1.setMnemonic ('F'), por lo que el usuario puede usar Alt + F para hacer clic en el botón.
Sí, simplemente agregue un método main () al subprograma.
Los componentes AWT son pesados, mientras que los componentes Swing son livianos. Los componentes pesados dependen del juego de herramientas de ventanas local. Por ejemplo, java.awt.Button es un componente de gran peso, cuando se ejecuta en la plataforma Java para la plataforma Unix, se asigna a un botón Motif real.
Los constructores deben tener el mismo nombre que la clase y no pueden devolver un valor. Solo se llaman una vez, mientras que los métodos regulares se pueden llamar muchas veces.
Sí, dado que la herencia hereda todo de la superclase y la interfaz, puede hacer que la subclase se agrupe demasiado y, a veces, sea propensa a errores cuando se produce una anulación dinámica o una sobrecarga dinámica en alguna situación.
Al copiar elementos entre diferentes matrices, si los argumentos de origen o destino no son matrices o sus tipos no son compatibles, se lanzará una ArrayStoreException.
Sí, use esta sintaxis ().
El código del sueño (2000); deja el hilo a un lado durante exactamente dos segundos. El código de espera (2000) provoca una espera de hasta dos segundos. Un hilo podría dejar de esperar antes si recibe la llamada notificar () o notificar a todos (). El método wait () se define en la clase Object y el método sleep () se define en la clase Thread.
La ArithmeticException se lanza cuando el entero se divide por cero o se toma el resto de un número por cero. Nunca se lanza en operaciones de punto flotante.
Una variable transitoria es una variable que no se puede serializar durante la serialización y que se inicializa con su valor predeterminado durante la deserialización.
La sincronización es la capacidad de controlar el acceso de múltiples subprocesos a recursos compartidos. La palabra clave sincronizada en Java proporciona bloqueo que garantiza el acceso exclusivo mutuo de los recursos compartidos y evita la carrera de datos.
La API de colecciones es un conjunto de clases e interfaces que admiten operaciones en colecciones de objetos.
La recolección de basura no garantiza que un programa no se quede sin memoria. Es posible que los programas consuman recursos de memoria más rápido de lo que son recolectados como basura. También es posible que los programas creen objetos que no estén sujetos a recolección de basura.
Panel es la superclase inmediata. Un panel proporciona espacio en el que una aplicación puede adjuntar cualquier otro componente, incluidos otros paneles.
El operador = es asociativo a la derecha.
Una sentencia break da como resultado la terminación de la sentencia a la que se aplica (cambiar, para, hacer o mientras). Una instrucción continue se usa para finalizar la iteración del ciclo actual y devolver el control a la instrucción del ciclo.
Solo se puede acceder a una variable privada dentro de la clase en la que está declarada.
El propósito de la clase System es proporcionar acceso a los recursos del sistema.
Los ocho tipos primitivos son byte, char, short, int, long, float, double y boolean.
Cuando se vuelve a pintar una ventana con el hilo de pintura AWT, establece las regiones de recorte en el área de la ventana que requiere volver a pintar.
La clase de componente es la superclase inmediata.
El sistema de ejecución de Java genera excepciones de error y RuntimeException.
El recolector de basura invoca el método finalize () de un objeto cuando detecta que el objeto se ha vuelto inalcanzable.
No se puede reiniciar un hilo muerto.
Integer / y% pueden provocar el lanzamiento de una ArithmeticException.
El valor predeterminado del tipo booleano es falso.
si
Un cargador de clases es un objeto que se encarga de cargar clases. La clase ClassLoader es una clase abstracta.
Una clase abstracta puede tener métodos de instancia que implementan un comportamiento predeterminado. Una interfaz solo puede declarar constantes y métodos de instancia, pero no puede implementar el comportamiento predeterminado y todos los métodos son implícitamente abstractos. Una interfaz tiene todos los miembros públicos y no tiene implementación.
El programa arroja el error "NoSuchMethodError" en tiempo de ejecución.
Nulo, a menos que se defina explícitamente.
No, una clase de nivel superior no puede ser privada ni protegida. Puede tener "público" o ningún modificador.
Podemos pasarlos como parámetros de método donde un método espera un objeto. También proporciona métodos de utilidad.
Un error es una condición irrecuperable que se produce en tiempo de ejecución. Como el error OutOfMemory. Las excepciones son condiciones que se producen debido a una entrada incorrecta, etc., por ejemplo, se lanzará FileNotFoundException si el archivo especificado no existe.
No es necesario que cada bloque try deba ir seguido de un bloque catch. Debe ir seguido de un bloque de captura o de un bloque final.
Un hilo está en estado listo como estado inicial después de que se haya creado e iniciado.
La clase Locale se utiliza para adaptar la salida del programa a las convenciones de una región geográfica, política o cultural en particular.
Los métodos sincronizados son métodos que se utilizan para controlar el acceso a un objeto. Una instrucción sincronizada solo se puede ejecutar después de que un subproceso haya adquirido el bloqueo para el objeto o la clase referenciada en la instrucción sincronizada.
El polimorfismo en tiempo de ejecución o el envío de método dinámico es un proceso en el que una llamada a un método anulado se resuelve en tiempo de ejecución en lugar de en tiempo de compilación. En este proceso, se llama a un método anulado a través de la variable de referencia de una superclase.
La vinculación se refiere a la vinculación de una llamada de procedimiento al código que se ejecutará en respuesta a la llamada. Enlace dinámico significa que el código asociado con una llamada de procedimiento determinada no se conoce hasta el momento de la llamada en tiempo de ejecución.
No, el constructor no se puede heredar.
ArrayList puede crecer dinámicamente y proporciona mecanismos de inserción y búsqueda más potentes que los arreglos.
La eliminación en la lista vinculada es rápida porque implica solo actualizar el siguiente puntero en el nodo antes del nodo eliminado y actualizar el puntero anterior en el nodo después del nodo eliminado.
Si necesita agregar y eliminar con frecuencia elementos del medio de la lista y solo acceder a los elementos de la lista de forma secuencial, entonces debe usar LinkedList. Si necesita admitir el acceso aleatorio, sin insertar o eliminar elementos de ningún lugar que no sea el final, entonces debe usarse ArrayList.
Es una colección devuelta por el método values () de la Interfaz del mapa. Contiene todos los objetos presentes como valores en el mapa.
El operador de punto (.) Se utiliza para acceder a las variables de instancia y métodos de objetos de clase. También se utiliza para acceder a clases y subpaquetes desde un paquete.
El constructor privado se usa si no desea que otras clases creen una instancia del objeto y para evitar la subclasificación.
La conversión de tipos significa tratar una variable de un tipo como si fuera otro tipo.
Un hilo es una ejecución en un programa. El ciclo de vida de un hilo incluye:
- Estado recién nacido
- Estado ejecutable
- Estado de ejecución
- Estado bloqueado
- Estado muerto
El operador >> lleva el bit de signo al cambiar a la derecha. Los >>> rellenos con ceros bits que se han desplazado.
El método setBounds () se utiliza para este propósito.
El rango del tipo corto es - (2 ^ 15) a 2 ^ 15 - 1.
Clase MenuItem
No, Java no permite argumentos predeterminados.
Los números octales se indican con un cero a la izquierda en java, ejemplo: 06
Los números hexadecimales se indican con 0x o 0X iniciales en java, ejemplo: 0XF
Sí, un ejemplo puede ser romper uno;
La declaración de importación se permite al principio del archivo de programa después de la declaración del paquete.
Se utiliza para pausar o detener temporalmente la ejecución del hilo.
Se utiliza para averiguar si un hilo aún se está ejecutando o no.
Es un método estático público que se utiliza para obtener una referencia al hilo actual.
El hilo principal se crea automáticamente y comienza a ejecutarse inmediatamente cuando se inicia un programa. Es un subproceso del que se originan todos los demás subprocesos secundarios.
El ciclo de vida incluye los siguientes pasos:
Initialization
Starting
Stopping
Destroying
Painting
Inicializa el subprograma y es el primer método que se llama.
getImage (objeto URL, nombre de archivo) se utiliza para este propósito.
Se utiliza para especificar el nombre de la clase de subprograma.
Es una superficie de dibujo simple que se utiliza para pintar imágenes o para realizar otras operaciones gráficas.
Se refiere a la escritura de programas que se ejecutan en varios dispositivos (computadoras), en los que todos los dispositivos están conectados entre sí mediante una red.
Los sockets proporcionan el mecanismo de comunicación entre dos computadoras que utilizan TCP. Un programa cliente crea un conector en su extremo de la comunicación e intenta conectar ese conector a un servidor.
Los enchufes son flexibles y suficientes. La programación eficiente basada en zócalos se puede implementar fácilmente para comunicaciones generales. Causa poco tráfico en la red.
Las comunicaciones basadas en sockets solo permiten enviar paquetes de datos sin procesar entre aplicaciones. Tanto el lado del cliente como el lado del servidor deben proporcionar mecanismos para que los datos sean útiles de alguna manera.
Las aplicaciones del servidor utilizan la clase java.net.ServerSocket para obtener un puerto y escuchar las solicitudes del cliente
La clase java.net.Socket representa el socket que tanto el cliente como el servidor utilizan para comunicarse entre sí.
Los genéricos proporcionan seguridad de tipos en tiempo de compilación que permite a los programadores detectar tipos no válidos en tiempo de compilación. Los métodos genéricos y las clases genéricas de Java permiten a los programadores especificar, con una única declaración de método, un conjunto de métodos relacionados o, con una única declaración de clase, un conjunto de tipos relacionados.
CLASSPATH y PATH son las dos variables.
No, no es necesario importar este paquete. La JVM lo carga internamente de forma predeterminada.
Si se declara una clase dentro de una clase y se especifica el modificador estático, el compilador trata la clase como cualquier otra clase de nivel superior. La clase de nivel superior anidada es una clase interna.
Externalizable es una interfaz que contiene dos métodos readExternal y writeExternal. Estos métodos le dan un control sobre el mecanismo de serialización.
No, en este caso el bloque finalmente no se ejecutará porque cuando dices System.exit (0); el control sale inmediatamente del programa y, por lo tanto, finalmente nunca se ejecuta.
El subproceso daemon es un subproceso de baja prioridad, que se ejecuta intermitentemente en segundo plano haciendo la operación de recolección de basura para el sistema de ejecución de Java.
El método setDaemon se utiliza para crear un hilo de demonio.
Todas las tareas deben implementar el método run ()
GregorianCalendar proporciona soporte para calendarios occidentales tradicionales
La clase SimpleTimeZone proporciona soporte para un calendario gregoriano.
El tamaño es el número de elementos realmente almacenados en el vector, mientras que la capacidad es el número máximo de elementos que puede almacenar en un momento dado.
Sí, un vector puede contener objetos heterogéneos. Porque un Vector almacena todo en términos de Objeto.
Una enumeración es una interfaz que contiene métodos para acceder a la estructura de datos subyacente de la que se obtiene la enumeración. Permite el acceso secuencial a todos los elementos almacenados en la colección.
Path y Classpath son variables de entorno a nivel de sistema operativo. La ruta define dónde el sistema puede encontrar los archivos ejecutables (.exe) y la ruta de clase se utiliza para especificar la ubicación de los archivos .class.
No, no es posible acceder fuera de su paquete.
Un método estático no debe hacer referencia a variables de instancia sin crear una instancia y no puede usar el operador "this" para referir la instancia.
Sí, una interfaz puede heredar otra interfaz, por lo que una interfaz puede extender más de una interfaz.
Polimorfismo
El bloqueo de un objeto es un mecanismo que utilizan varios subprocesos para obtener acceso sincronizado al objeto. Un hilo puede ejecutar un método sincronizado de un objeto solo después de haber adquirido el bloqueo del objeto.
Es la conversión de un tipo general a uno más específico, es decir, derribar la jerarquía.
El orden de precedencia determina el orden en el que se evalúan los operadores en las expresiones. La asociatidad determina si una expresión se evalúa de izquierda a derecha o de derecha a izquierda.
Solo se puede acceder a un método protegido por clases o interfaces del mismo paquete o por subclases de la clase en la que está declarado.
Cuando una clase se define dentro del alcance de otra clase, se convierte en clase interna. Si el modificador de acceso de la clase interna es estático, se convierte en una clase anidada.
Los métodos reemplazados deben tener el mismo nombre, lista de argumentos y tipo de retorno. Es posible que el método de reemplazo no limite el acceso del método que reemplaza.
Un constructor de objeto hijo siempre necesita primero construir su padre. En Java, se realiza mediante una llamada implícita al constructor no-args como primera declaración.
Sí, se puede convertir un valor doble en un byte.
Cuando se lanza una excepción dentro del cuerpo de una declaración try, las cláusulas catch de la declaración try se examinan en el orden en que aparecen. Se ejecuta la primera cláusula catch que es capaz de manejar la excepción. Las demás cláusulas catch se ignoran.
Si la matriz es una matriz de tipos primitivos, todos los elementos de la matriz se inicializarán al valor predeterminado correspondiente a ese tipo primitivo.