Vous êtes sur la page 1sur 28

Es posible lograr wh al Fork /

union
framework
ofrece
mediante
concurrencia
bsicaconstrucciones tales como
start () y join (). Sin embargo, el
Fork / union frameworkabstrae
muchos detalles de nivel inferior
y por lo tanto es ms fcil de
usar. Adems, es mucho ms
eficiente usar el Fork / union
framework en lugar manejar los
hilos en los niveles inferiores.
Adems, el uso ForkJoinPool
gestiona de forma eficiente los
hilos y rinde mucho mejor que la
convencional piscinas hilos. Por
todas
estas
razones,
se
recomienda utilizar el Fork /
union framework.
Cada subproceso de trabajo en
el Fork / union frameworktiene
una cola de trabajo, que se
implementa utilizando un deque.
Cada vez que se crea una nueva
tarea (o subtarea), es empujado
a la cabeza de su propia cola.
Cuando una tarea se completa
una tarea y ejecuta una unin
con otra tarea que no es an
completado,
funciona
inteligente. El hilo aparece una
nueva tarea de la cabeza de la
cola y comienza a ejecutar en
lugar de dormir (con el fin de
esperar a que otra tarea para
completar). De hecho, si la cola
de un hilo est vaca, entonces el
hilo aparece una tarea de la cola
de la cola que pertenece a otro
hilo. Esto no es ms que un
algoritmo de trabajo a robar.
Parece obvio que llamar Fork ()
tanto para las subtareas (si
usted est dividiendo en dos
subtareas) y llamar a Join () dos
veces.
Es
correcto,
pero
ineficiente. Por qu? Bueno,
bsicamente, va a crear ms
tareas paralelas que son tiles.
En este caso, el hilo original
estar esperando por el otro dos
tareas para completar, que es
ineficiente considerando el costo
de creacin de tareas. Es por eso
que usted llama Fork () una vez y
calcular call () para la segunda
tarea.
La colocacin de Fork () y join
()
las
llamadas
son
muy
importantes. Por ejemplo, vamos
a suponer que
colocar las llamadas en orden
siguiente:
first.fork ();
resultFirst = first.join ();
resultSecond = second.compute
();
Este uso es una ejecucin en
serie de dos tareas, ya que la
segunda tarea
comienza a
ejecutarse slo despus de la
primera es completa. Por lo
tanto, es menos eficiente incluso
que su versin secuencial ya que
esta versin tambin incluye el
costo de la creacin de la tarea.
La comida para llevar: mire su
colocacin de Fork / Join a
llamadas.
El rendimiento no siempre est
garantizada durante el uso de la
Fork framework / Join. Uno de los
razones que hemos mencionado
antes, es la colocacin de Fork /
Join a llamadas.

1) (la interfaz invocable se define


como sigue:
interfaz pblica Callable <V> {
Llamada V () throws Exception;
}
En la opcin a), el mtodo call ()
tiene la int tipo de retorno, que
es incompatible con el el tipo de
retorno
esperado
para
la
sustitucin
del
mtodo
de
llamada y por lo tanto no se
compilar.
En la opcin B), se extiende el se
utiliza la palabra clave, que se
traducir en un compilador
(desde
Rescatable
es
una
interfaz,
la
palabra
clave
implements debe utilizar).
opcin C) define correctamente
la
interfaz
invocable
proporcionar el parmetro de
tipo <Integer>. el parmetro
entero mismo tipo tambin se
utiliza en el tipo de retorno de la
mtodo call () que no toma
ningn argumento, por lo que se
compilar sin errores.
2) (la interfaz invocable se define
como sigue:
interfaz pblica Callable <V> {
Llamada V () throws Exception;
}
En la opcin a), el mtodo call ()
tiene la int tipo de retorno, que
es incompatible con el el tipo de
retorno
esperado
para
la
sustitucin
del
mtodo
de
llamada y por lo tanto no se
compilar.
En la opcin B), se extiende el se
utiliza la palabra clave, que se
traducir en un compilador
(desde
Rescatable
es
una
interfaz,
la
palabra
clave
implements debe utilizar).
opcin C) define correctamente
la
interfaz
invocable
proporcionar el parmetro de
tipo <Integer>. el parmetro
entero mismo tipo tambin se
utiliza en el tipo de retorno de la
mtodo call () que no toma
ningn argumento, por lo que se
compilar sin errores.
En la opcin D), el tipo de
retorno de llamada () es nulo y el
mtodo call () tambin toma una
parmetro de tipo Integer. Por lo
tanto, el mtodo declarado en la
llamada Entero interfaz () sigue
sin
aplicarse
en
la
clase
CallableTask
y
lo
que
el
programa no compilar.)
3)C. E l sobrecargado submit ()
mtodos
declarados
en
la
interfaz ExecutorService
Opcin A) E l sobrecargado
replace () mtodos declarados
en la interfaz ConcurrentMap
eliminar un elemento del mapa y
volver al estado de xito (un
valor booleano) o la valor
eliminado.
Opcin B) El newThread () es el
nico mtodo declarado en la
interfaz FbricaTrenzado
y devuelve un objeto Thread
como valor de retorno.
Opcin
C)
La
interfaz
ExecutorService
ha
sobrecargado presente mtodo
() que toma un tarea para su

ejecucin y devuelve un futuro


que representa los resultados
pendientes de la tarea.
El mtodo call () declarada en
interfaz invocable Opcin D)
devuelve el resultado de la tarea
ejecut.)
4) usted est escribiendo una
aplicacin que genera nmeros
aleatorios en el rango de 0 a
100.
Quieres crear estos nmeros
aleatorios para su uso en
mltiples hilos, as como en
ForkJoinTasks. Cul de las
siguientes opciones va a utilizar
para menos contencin (solucin
es decir, eficiente)?
B.
int
randomInt
=
ThreadLocalRandom.current
()
nextInt (0, 101).;
(ThreadLocalRandom
es
un
generador de nmeros aleatorios
que es especfico de un hilo. De
API documentacin de esta
clase:
"El
uso
de
la
ThreadLocalRandom en lugar de
compartir aleatoria objetos en
programas concurrentes se van a
encontrar mucho menos gastos
generales y de contencin ".
El mtodo "int nextInt (int
menos, int unido)" en la clase
ThreadLocalRandom devuelve un
nmero pseudo-aleatoria que se
distribuye de manera uniforme
entre el dado menos valor y el
valor determinado. Tenga en
cuenta
que
el
valor
del
parmetro mnimo es inclusivo
de dicho valor y el valor de cota
es exclusivo. As, el nextInt (0,
101) devuelve llamar
enteros seudo-aleatorio en el
rango 0 a 100.)
5)
En su aplicacin, hay un
componente
productor
que
mantiene la adicin de nuevos
elementos a una
cola
de
tamao
fijo;
el
componente
del
consumidor
obtiene artculos de esa cola. Si
la cola est
completo, el productor tiene que
esperar para que los artculos
sean descabellada; si la cola est
vaca, el consumidor
tiene que esperar a que los
elementos que se aadirn.
Cul de las siguientes utilidades
es
adecuado
para
la
sincronizacin de la cola comn
para
el uso concurrente de un
productor y el consumidor?
D. Semaphore
(La pregunta es un problema del
productor-consumidor
clsico
que puede ser resuelto mediante
el uso de
semforos. Los objetos de la
clase
java.util.concurrent.Semaphore
sincronizador
se puede utilizar para guardar la
cola
comn
para
que
el
productor y el consumidor lata
sincronizar su acceso a la cola.
De las opciones que se ofrecen,
semforo es el nico

sincronizador; otras opciones no


estn
relacionados
con
proporcionar acceso sincronizado
a una cola.
Opcin A) RecursiveAction apoya
ForkJoinTask recursiva, y la
opcin B)
ForkJoinPool ofrece ayuda en la
ejecucin de un ForkJoinTask en
el contexto de la Fork / nete
framework. Opcin C) Futuro
representa el resultado de un
clculo asncrono
cuyo resultado ser "disponibles
en el futuro una vez que el
clculo es completa." Opcin E)
TimeUnit es una enumeracin
que proporciona soporte para
diferentes unidades de tiempo
como
milisegundos, segundos y da.)
*****
Aplicando Variables y Cerraduras
atmicas
Java pr ovides una alternativa
eficiente
en
la
forma
de
variables atmicas donde uno
necesita adquirir y liberar un
bloqueo slo para llevar a cabo
operaciones
primitivas
en
variables.
Una cerradura asegura que
slo un hilo accede a un recurso
compartido en un momento.
Un Estado apoya mecanismo
de notificacin hilo. Cuando una
determinada condicin no es
satisfecho, un hilo puede esperar
a que otro hilo para satisfacer
esa condicin; que otro hilo
podra notificar una vez que se
cumple la condicin.
Utilizando
Ejecutores
y
ThreadPools
La jerarqua Ejecutores abstrae
los detalles de bajo nivel de
programacin multi-hilo y ofrece
construcciones de concurrencia
de alto nivel fcil de usar.

La
interfaz
invocable
representa una tarea que debe
ser completado por un hilo. Una
vez que el tarea se completa, el
mtodo call () de una aplicacin
Callable devuelve un valor.
Un grupo de subprocesos es un
conjunto de hilos que pueden
ejecutar tareas.
Futuro representa objetos que
contienen un valor que se
devuelve de un hilo en el futuro.
FbricaTrenzado es una interfaz
que est destinada a la creacin
de hilos en vez de forma
explcita la creacin de
los temas de llamar a un nuevo
tema ().
Utilizando el Fork Paralelo /
Framework nete
El Fork / union framework es un
medio porttil de la ejecucin de
un programa con el paralelismo
decente.

El
framework
es
una
implementacin de la interfaz
ExecutorService y proporciona
una fcil de utilizar la plataforma
concurrente con el fin de
explotar varios procesadores.
Este framework es muy til
para modelar problemas de
divide y vencers.
El Fork / union framework
utiliza el algoritmo de trabajo a

robar: cuando un subproceso de


trabajo completa
su trabajo y es libre, l lleva (o
"roba") funciona desde otros
hilos que an estn ocupados
haciendo algo de trabajo.
Los resultados de la tcnica de
trabajo para robar en el manejo
de carga decente hilo equilibrio
con
un
costo
mnimo
de
sincronizacin.
ForkJoinPool es la clase ms
importante en el framework Fork
/
Join.
Es
un
grupo
de
subprocesos
para ejecutar Fork / Join tareas
que ejecuta una instancia de
ForkJoinTask. Ejecuta tareas y
gestiona sus ciclos de vida.
ForkJoinTask <V> es una
entidad similar al hilo de peso
ligero que representa una tarea
que define los mtodos
como Fork () y join ().

*****
Captulo 3: Java Class
Diseo
No se puede acceder a los
mtodos privados de la clase
base en la clase derivada.
Se puede acceder al
mtodo protegido de una
clase en el mismo paquete
(al igual que el paquete
privado o por defecto), as
como una clase derivada
(incluso perteneciente a otro
paquete).

Usted
puede
tener
constructores sobrecargados.
Puede
llamar
a
un
constructor de la misma
clase en otro constructor
usando la palabra clave this.
La herencia tambin se
llama una relacin es-un.
En primer orden, el nombre
del mtodo, el nmero de
argumentos,
tipos
de
argumentos, y el retorno tipo
debe coincidir exactamente
(sin embargo, en tipos de
retorno covariantes, puede
proporcionarle la deriva clase
del tipo de retorno en el
mtodo predominante).
No se puede sobrecargar
mtodos que difieren en
tipos de retorno solo. Del
mismo modo, no se puede
sobrecargar
mtodos que difieren en las
especificaciones
de
excepcin solo.

Para
obtener
una
resolucin
de sobrecarga
tenga xito, es necesario
definir los mtodos de tal
manera que el compilador
encuentra una coincidencia
exacta. Si el compilador no
encuentra coincidencias de
su llamada o encuentra ms
de una
partido, la resolucin de la
sobrecarga de falla y el
compilador emite un error.

La sobrecarga es un
ejemplo
de
polimorfismo
esttico (enlace temprano)
mientras se sobreescriben es
un ejemplo de polimorfismo
dinmico (finales de unin).
No es necesario hacer una
conversin
explcita
para
realizar una conversin hacia
arriba. Una conversin hacia
arriba siempre tendr xito.
Es necesario hacer una
conversin
explcita
para
realizar una abatido. Un
abatido puede fallar. Puede
utilizar el
operador instanceof para ver
si un abatido es vlida.
Un importacin esttica
slo
importa
miembros
esttico del paquete o clase
especificada.
Captulo
4:
Diseo
avanzado de clase
El resumen palabra clave
puede ser aplicada a una
clase o un mtodo, pero no a
un campo.
Una clase abstracta no
puede
ser
instanciada.
Puede, sin embargo, crear
variables de referencia de un
tipo de clase abstracta.
Una clase abstracta puede
ampliar otra clase abstracta
o puede implementar una
interfaz. Adems, una clase
abstracta se puede derivar
de
una
clase
concreta
(aunque no es una buena
prctica)!
Una clase abstracta no es
necesario
declarar
un
mtodo abstracto, lo que
significa que no es necesario
para una clase abstracta que
tiene mtodos declarados
como
abstracto.
Sin
embargo, si una clase tiene
un resumen mtodo, debe
ser declarado como una
clase abstracta.
Una subclase concreta de
una clase abstracta debe
proporcionar la aplicacin de
todo el resumen mtodos
que hereda; de lo contrario
tiene que declarar que la
subclase como una clase
abstracta.
Una clase abstracta puede
tener mtodos o campos
declarados
esttica.
Una
clase
final
es
un
no
heredable clase (es decir, no
se puede heredar de una
clase final).
Un ltimo mtodo es un
mtodo no reemplazable (es
decir, subclases no pueden
anular un mtodo final).
Todos los mtodos de una
clase
final
son

implcitamente
final
(es
decir, no reemplazable).
Una variable final debe ser
inicializado. Si no se inicializa
cuando se declara, debe ser
inicializado en todos los
constructores. Adems, una
ltima variable se puede
asignar slo una vez.
La final de palabras clave
se puede utilizar para los
parmetros. El valor de un
parmetro final no puede ser
cambiado una vez asignado.
Aqu, es importante sealar
que el valor se entiende
implcitamente para los tipos
primitivos. Sin embargo, el
valor de un objeto se refiere
a la referencia de objeto, no
su estado. Por lo tanto, se
puede cambiar el estado
interno
del
objeto
final
aprobado, pero no se puede
cambiar la propia referencia.

Todos
los
miembros
estticos no requieren una
instancia de su clase para
llamar / acceder a ellos.
Usted puede directamente
llamar / acceder a ellos
utilizando el nombre de la
clase.
Un miembro esttico puede
llamar / acceso slo a un
miembro esttico de su
propia clase.
Un mtodo esttico no
puede utilizar la palabra
clave this o super en su
cuerpo.
Java soporta cuatro tipos
de clases anidadas: clases
anidadas estticas, las clases
internas, locales interior
clases, y clases internas
annimas.
Clases anidadas estticas
pueden tener los miembros
estticos, mientras que los
otros sabores de clases
anidadas no podrn.
clases anidadas estticas y
clases
internas
pueden
acceder los miembros de una
clase
externa
(incluso
privados
miembros). Sin embargo, las
clases anidadas estticas
pueden tener acceso a
miembros estticos de la
clase externa.
Clases de Locales (ambas
clases internas locales y
clases internas annimas)
pueden acceder a todas las
variables
declarado en el mbito
exterior (si un mtodo,
constructor, o un bloque de
instrucciones).
No se pueden utilizar las
nuevas
con
las
enumeraciones,
incluso

dentro de la definicin de
enumeracin.
Las enumeraciones se
declaran
implcitamente
pblico, esttico, y ltima,
que significa que no puede
extenderlas.
Cuando se define una
enumeracin,
hereda
implcitamente
de
java.lang.Enum.
Internamente,
enumeraciones se convierten
en
clases.
Adems,
las
constantes de enumeracin
son instancias de la clase de
enumeracin para los que las
constantes de enumeracin
se declaran como miembros.

Si
se
declara
una
enumeracin dentro de una
clase,
entonces
es
por
defecto esttica.

Puede
comparar
dos
enumeraciones
por
la
igualdad con el operador ==.
Cuando una enumeracin El
mtodo
de
constante
toString () se invoca, se
imprime el nombre de la
constante de enumeracin.
Captulo 5: Principios de
Diseo
Orientado
a
Objetos

Una
interfaz
puede
extender otra interfaz. Utilice
la
extiende
(y
no
los
implementos) palabra clave
para esto.

Todos
los
mtodos
declarados en una interfaz se
consideran
implcitamente
que es abstracto.
Las interfaces no pueden
contener
variables
de
instancia. Si se declara un
miembro de datos en una
interfaz,
debe ser inicializado, y todas
esas miembros de datos son
tratados de forma implcita
como
public
static
los
miembros finales.
Una interfaz no puede
declarar mtodos estticos.
Slo puede declarar mtodos
de instancia.
No se puede declarar como
miembros
protegido
o
privado en una interfaz. Slo
el acceso pblico es permiti
que los miembros de una
interfaz.

Todos
los
mtodos
declarados en una interfaz se
consideran
implcitamente
que es abstracto. Usted
puede,
Sin
embargo,
utilizar
explcitamente el calificador
abstracto para el mtodo.
Una interfaz puede ser
declarada con un cuerpo
vaco (es decir, una interfaz

sin ningn miembro; estas


interfaces
son
conocidas
como interfaces de marcado
o interfaces de marcador).
Estas interfaces son til para
definir un padre comn, por
lo que el polimorfismo de
tiempo de ejecucin se
puede utilizar. Por ejemplo,
java.util
define
el
EventListener interfaz sin un
cuerpo.
Una interfaz puede ser
declarada dentro de otra
interfaz
o
clase.
Estas
interfaces se conocen como
las interfaces anidadas.

A
diferencia
de
las
interfaces de alto nivel que
pueden tener slo acceso
pblico o por defecto, una
interfaz anidada puede
ser declarado como pblico,
protegido o privado.
Herencia implica es-una
interfaz implica es-como-un,
y la composicin implica
tiene-un relaciones.
Composicin favor sobre la
herencia siempre que sea
posible.
El patrn de diseo
Singleton garantiza que slo
se crea una instancia de la
clase.
Asegurarse de que una
implementacin
singleton
previsto
es
de
hecho
Singleton es un no trivial
tarea, especialmente en un
entorno multi-hilo.
El patrn de diseo factora
"fabrica" el tipo de producto
necesaria bajo demanda.
Usted debe considerar el
uso del patrn de diseo
factora abstracta cuando se
tiene una familia de objetos
para ser creados.
Un patrn de diseo DAO
separa
esencialmente
su
lgica de negocio principal
de la lgica de persistencia.
En un patrn DAO, tambin
puede emplear el patrn de
diseo factora abstracta si
usted tiene mltiples DAO
objetos y tiene mltiples
mecanismos de persistencia.
Captulo 6: Genricos y
Colecciones

Los
medicamentos
genricos se asegurar de
que cualquier intento de
mezclar elementos de tipos
distintos a los especificados
Tipo (s) se llam a s misma
en tiempo de compilacin.
Por lo tanto, los genricos
ofrecen la seguridad de tipos
sobre el uso de la Tipo del
objeto.
Java 7 ha introducido la
sintaxis "diamante", donde

los parmetros de tipo (da


despus de nuevo
operador y el nombre de la
clase) pueden omitirse. El
compilador inferir los tipos
del tipo declaracin.

Los
medicamentos
genricos
no
son
covariantes. Es decir, de
subtipos no funciona con los
genricos. No se puede
asignar
un
derivado
parmetro de tipo genrico
para un parmetro de tipo
base.
El <?> Especifica un tipo
desconocido de los genricos
y se conoce como un
comodn. Por ejemplo, List <?
> Se refiere a una lista de
valores de tipo desconocido.
Los comodines pueden ser
limitadas. Por ejemplo, <?
extiende
Ejecutable>
especifica
que?
puede
coincidir
cualquier tipo, siempre y
cuando es Ejecutable o
cualquiera de sus tipos
derivados. Tenga en cuenta
que tanto se extiende y
super en este contexto son
las clusulas de inclusin,
por lo que puede sustituir X
en <? extiende X> y <?
sper X>.
Usar la palabra clave
extends para ambos tipo de
clase e interfaz al especificar
tipos acotadas
en
los
genricos.
Para
especificar mltiples tipos
base, use el smbolo &. Por
ejemplo, en List <?
extiende X & Y>,? coincidir
tipos, que se extiende tanto
a los tipos X e Y.
En general, cuando se
utiliza parmetros comodn,
no se puede llamar a los
mtodos que modifican la
objeto. Si intenta modificar,
el compilador dar mensajes
de error. Sin embargo, usted
puede llamar a
mtodos que tengan acceso
al objeto.
Los trminos coleccin,
colecciones, y la recoleccin
son
diferentes.
Java.util
Collection-.
Coleccin <E> -es la interfaz
raz de la jerarqua de la
coleccin.
Coleccionesjava.util.
Colecciones-es una clase de
utilidad
que
contiene
mtodos estticos slo. La
coleccin (s) trmino general
se refiere a los conForkes
como mapa, pila, cola, etc.
Es posible definir o declarar
mtodos genricos en una
interfaz o una clase, incluso
si la clase o

la interfaz no es genrico.

Una
clase
genrico
utilizado sin sus argumentos
de tipo se conoce como un
tipo de prima. Por supuesto,
los tipos de primas
no son de tipo seguro. Java
soporta tipos de primas de
modo que es posible utilizar
el tipo genrico en
cdigo que es ms viejo que
Java 5 (tenga en cuenta que
los medicamentos genricos
se introdujeron en Java 5). el
compilador
genera
una
advertencia
cuando utiliza tipos primas
en el cdigo. Usted puede
utilizarSuppressWarnings ({
"sin control"}) para suprimir
la advertencia asociada con
los tipos primas.
List <?> Es un supertipo de
cualquier tipo de lista, lo que
significa que puede pasar
List <Integer> o
List <String>, o incluso List
<Object> donde <?> Se
espera Lista.
Implementacin
de
los
genricos es s Tatic en la
naturaleza, lo que significa
que la interpreta compilador
Java
los genricos especificados
en el cdigo fuente y
reemplaza el cdigo genrico
con tipos concretos.
Esto se conoce como tipo de
borrado. Despus de la
compilacin, el cdigo se
parece
a
lo
que
un
desarrollador
habra escrito con tipos
concretos. En esencia, el uso
de genricos ofrece dos
ventajas:
primero, que introduce una
abstraccin que le permite
escribir
implementacin
genrica; en segundo lugar,
le
permite
escribir
implementacin genrica con
la seguridad de tipos.
Hay muchas limitaciones
de los tipos genricos debido
al tipo de borrado. Algunas
de las ms importantes son
la
siguiente:
No se puede crear una
instancia de un tipo genrico
utilizando
un
nuevo
operador. Por ejemplo, mem
asumiendo es
un campo, la siguiente
declaracin dar lugar a un
error del compilador:
T mem = nuevo T (); // Mal
uso - error del compilador
No se pueden crear
instancias de una matriz de
un
tipo
genrico.
Por

ejemplo, suponiendo mem es


un campo, el
siguiente declaracin dar
lugar
a
un
error
del
compilador:
T [] = new AMEM T [100]; //
Mal
uso
error
del
compilador
Puede declarar campos no
estticos de tipo T, pero no
de los campos estticos de
tipo T. Por ejemplo,
clase X <T> {
T instanceMem; // bueno
esttica T statMem; // Mal
uso - error del compilador
}
No es posible tener clases
de excepciones genricas.
Por ejemplo, el siguiente no
lo har
compilar:
clase GenericException <T>
se extiende Throwable {} //
mal
uso
error
del
compilador
No se puede crear una
instancia de un tipo genrico
con tipos primitivos. Por
ejemplo,
List
<int>
provocar una
error del compilador. Sin
embargo, puede utilizar tipos
primitivos en caja.
El hashCode mtodos () y
equals
()
deben
ser
coherentes para una clase.
para prctica
propsitos, asegrese de que
sigue esta regla: el hashCode
() mtodo debe devolver el
mismo
valor hash para dos objetos
si los iguales () devuelve
verdadero para ellos.
Si est utilizando un objeto
en conForkes como HashSet
o HashMap, asegrese de
anular el
hashCode () y equals ()
mtodos correctamente.
En los conForkes, no se
recomienda almacenar nula
como argumento, ya que
podra ser
difcil
de
entender
el
comportamiento
de
los
mtodos que devuelven un
valor nulo. Por ejemplo, hay
mtodos de la interfaz Deque
que volver nulo, y que sera
difcil para que usted pueda
distinguir
si
el
mtodo
devuelve
correctamente el valor null
elemento, o si el mtodo fall
y
devuelto nulo.
La figura 15-1 muestra las
interfaces
importantes
pertenecientes al paquete
java.util.

[^ pz]
'^' como primer
carcter en el interior de un
soporte niega el patrn;
coincide con
cualquier carcter excepto
caracteres p para z.
Xy
Partidos x seguido de
y.
x|y
Partidos x o y.

Implementar
la
interfaz
Comparable para sus clases
cuando un orden natural es
posible. Si
querer comparar los objetos
que no sean del orden
natural o si no hay un orden
natural
presente para su tipo de
clase, a continuacin, crear
clases
separadas
de
ejecucin Comparador
interfaz. Tambin, si tiene
varias formas alternativas
para decidir el orden, y luego
ir por la
Comparador de interfaz.
Captulo 7: Procesamiento
de Cadenas
Una expresin regular
define
un
patrn
de
bsqueda que puede ser
utilizado
para
ejecutar
operaciones tales como
cadena
de bsqueda
y
manipulacin de cadenas.
Tabla
15-1
resume
los
smbolos
usados
habitualmente a
especificar
expresiones
regulares, la Tabla 15-2
enumera
comnmente
utilizado metasmbolos para
especificar
expresiones
regulares, y la Tabla 15-3
presenta cuantificadores de
uso comn con expresiones
regulares.
Tabla
15-1.
Usadas
comnmente smbolos para
especificar
expresiones
regulares
Smbolo Descripcin
^ expr Partidos expr al
principio de la lnea.
expr $ Coincide con el expr al
final de la lnea.
.
Coincide con cualquier
carcter individual (excepto
carcter de nueva lnea).
[xyz]
Partidos ya sea x, y,
z.
[p-z]
Especifica un rango.
Coincide
con
cualquier
carcter de pa z.
[p z1-9]
Partidos bien con
cualquier carcter de pa z o
cualquier dgito del 1 al 9
(recuerde, no
coincidir con p1).

rpido que cualquier otra


forma
de
realizar
la
bsqueda /reemplazar en
Java.
Puede formar grupos
dentro de una expresin
regular. Estos grupos pueden
ser
utilizados
para
especificar
los
cuantificadores
en
una
subconjunto deseado de toda
la expresin regular. Estos
grupos tambin pueden ser
utilizados para especificar de
nuevo referencia.
El mtodo printf () (y el
mtodo format () de la clase
String) utiliza el formato de
cadenas
banderas a las cadenas de
formato.
Cada especificador de
formato comienza con el
signo%;
seguido
de
banderas, anchura, y la
precisin la informacin; y
terminando con un tipo de
datos especificador. En esta
cadena, las banderas, la
anchura,
y
la
precisin
informacin son opcionales,
mientras que el signo% y el
tipo de datos especificador
son obligatorios.

Tabla
15-2.
Usadas
comnmente metasmbolos
especificar
expresiones
regulares
Smbolo Descripcin
\
d
Partidos
dgitos
(equivalente a [0-9]).
\ D Partidos no dgitos.
\ w Coincide caracteres de
palabra.
\ W Partidos caracteres nopalabra.
\ s Coincide con espacios en
blanco (equivalente a [\ t \ r \
f \ n]).
\ S Coincide con los no
espacios en blanco.
\ b Coincide con lmite de
palabra cuando se encuentre
fuera del soporte. partidos
barra invertida
cuando en el interior del
soporte.
\ B Partidos sin lmite de
palabra.
\ A Partidos de inicio de la
Tabla 15-4 muestra los
cadena.
smbolos de especificador de
\ Z Partidos final de la tipo de datos de uso comn.
cadena.
Tabla
15-4.
Usadas
comnmente por los datos
Tabla
15-3.
Usadas de tipo especificadores
comnmente
Smbolos Smbolo Descripcin
cuantificador
% b booleana
Smbolo Descripcin
% c Carcter
expr?
Partidos 0 o 1 % d Decimal entero (firmado)
ocurrencia
de
expr % e nmero de punto
(equivalente a expr {0,1}).
flotante en formato cientfico
expr *
Partidos 0 o ms % f nmero de punto flotante
ocurrencias
de
expr en formato decimal
(equivalente a expr {0,}).
% g nmero de punto
expr +
Partidos 1 o ms flotante en formato decimal o
apariciones
de
expr cientfica
(equivalente a expr {1,}).
(dependiendo
del
expr {x}
Coincide con x valor
pasado
como
apariciones de expr.
parmetro)
expr {x, y} Partidos entre x e % h Hashcode del argumento
y apariciones de expr.
pasado separador
expr {x, x} Partidos o ms % n Lnea (carcter de nueva
apariciones de expr.
lnea)
% o Entero formateado como
El argumento del mtodo un valor octal
split () es una cadena % s Cadena
delimitadora, que es una % t Fecha / hora
expresin regular.
% x Entero formateado como
Si la expresin regular que un valor hexadecimal
pasa tiene una sintaxis no
vlida, podrs conseguir un Si no se especifica ningn
PatternSyntaxException
especificador de formato de
excepcin.
cadenas, el printf () mtodo
Utilice las clases Pattern y no imprimir
Matcher cada vez que se nada de los argumentos
realiza una bsqueda o dados!
sustituir en
Banderas como '-', '^', o '0'
cuerdas fuertemente; que slo tienen sentido cuando
son ms eficientes y ms

se especifica el ancho con el


formato
cadena de especificador.
Tambin puede imprimir el
carcter% en una cadena de
formato; Sin embargo, es
necesario utilizar un escape
secuencia para ello. En las
cadenas de especificador de
formato,% es un carcter de
escape, lo que significa que
usted necesita utilizar %%
para imprimir una sola%.
Si usted no proporciona el
tipo de datos de entrada
destinado como se esperaba
por la cadena de formato, se
puede
obtener
una
IllegalFormatConversionExce
ption.
Si desea formar una
cadena y usarlo ms tarde en
lugar de slo imprimirlo
utilizando el printf ()
mtodo, se puede utilizar un
mtodo esttico en la clase
String, format ().
Captulo 8: Java I / O
Fundamentos
Puede obtener referencia a
la
consola
mediante
el
mtodo System.Console (); Si
la JVM es
no asociado con cualquier
consola, este mtodo fallar
y devolver nulo.

Muchos
mtodos
se
proporcionan en la consola
de soporte de formato de E /
S. Puede utilizar el printf () y
el
formato
()
mtodos
disponibles
en
la
clase
Console para imprimir texto
con formato; la sobrecarga
readLine () y readPassword ()
mtodos toman las cadenas
de
formato
como
argumentos.
Puede utilizar streams de
caracteres para los flujos de
E / S y de bytes basados en
texto para E / S basada en
datos.
Carcter arroyos para
lectores y escritores de
lectura y escritura para los
llamados, respectivamente
(representado por el lector
de
clases
abstractas
y
Escritor). Byte arroyos para
la lectura y la escritura
se llaman los flujos de
entrada y flujos de salida,
respectivamente
(representado por las clases
abstractas
InputStream
y
OutputStream).
Puede combinar objetos de
flujo. Puede crear un objeto
de BufferedInputStream que
toma un

Objeto FileInputStream. De
esta manera, la salida de una
corriente est encadenado a
la corriente filtrada.
Esta
es
una
manera
importante, til y elegante
para personalizar el flujo en
funcin de sus necesidades.
Para el tratamiento de
datos con tipos de datos
primitivos y Cuerdas, puede
utilizar los flujos de datos.
La serializacin es el
proceso de convertir los
objetos en la memoria en
una serie de bytes. usted
necesitar implementar la
interfaz Serializable en una
clase si quiere hacer que los
objetos de la
clase serializable.
La interfaz Serializable es
una interfaz de marcador.
Eso significa que la interfaz
Serializable
no declara ningn mtodo en
su interior.
Si desea personalizar el
proceso de serializacin, se
puede
implementar
el
readObject ()
y writeObject () mtodos.
Tenga en cuenta que ambos
de
estos
mtodos
son
mtodos
privados,
que
significa que no se est
sustituyendo o sobrecargar
estos
mtodos.
JVM
comprueba
la
implementacin
de estos mtodos y los llama
en lugar de los mtodos
habituales. Suena raro, pero
es la forma
la
personalizacin
del
proceso de serializacin se
implementa en la JVM.
Un objeto serializado se
puede comunicar en la red y
deserializar en otro
mquina. Sin embargo, el
archivo de clase del objeto
debe estar en el camino de la
mquina de destino, de lo
contrario slo el estado del
objeto se restaurar, no todo
el objeto (es decir, no se
puede
invocar un mtodo en el
objeto restaurado).
Usted puede crear su
propio protocolo para la
serializacin. Para eso, es
necesario implementar la
Interfaz Externalizable lugar
de la interfaz Serializable.

Cuando
no
est
especificando
serialVersionUID en una clase
serializada, JVM calcula por
usted.
Sin embargo, cada aplicacin
JVM
tiene
diferentes
mecanismos para calcularla;
por lo tanto, no es

garantiza
que
su
clase
serializada trabajar en dos
JVM diferentes cuando no
tiene
especificado
el
serialVersionUID
explcitamente. Por lo tanto,
se
recomienda
encarecidamente que usted
proporcionar serialVersionUID
en una clase que implementa
la interfaz Serializable.
Captulo 9: Java File I / O
(NIO.2)
Un objeto Path es una
abstraccin de programacin
para representar una ruta de
un archivo / directorio.
No confunda archivo con
los archivos, Camino con
Trazados y FileSystem con
FileSystems; ellos
son diferentes. Archivo es
una vieja clase (Java 4) que
representa los nombres de
ruta de directorio / archivo,
mientras que
Los archivos se introdujo en
Java 7 como una clase de
servicio
con
soporte
completo para las API de E /
S. la
Interfaz representa una ruta
de archivo / directorio y
define un conjunto til de
mtodos. Sin embargo,
la clase Caminos es una
clase de utilidad que ofrece
slo dos mtodos (ambos
para obtener el objeto Path).
FileSystems ofrecen una lista
de mtodos de fbrica para
el sistema de archivos de
clase,
mientras
que
FileSystem
proporciona un til conjunto
de mtodos para obtener
informacin sobre un sistema
de archivos.
El archivo o directorio
representado por un objeto
Path podran no existir.
Ruta proporciona dos
mtodos a utilizar para
comparar
objetos
Ruta:
equals () y compareTo ().
incluso
si dos objetos de trazado se
apuntan al mismo directorio /
archivo, no se garantiza que
obtendr verdadera
mtodo de los iguales ().
Usted necesita asegurarse de
que ambos son absoluta y
normalizada
caminos
para
una
comparacin de igualdad
tengan xito para las rutas.

Puede
comprobar
la
existencia de un archivo
usando el mtodo exists () de
la clase de archivos.

Puede
recuperar
los
atributos de un archivo
utilizando
el
mtodo
()
getAttributes. Puede utilizar
el
mtodo readAttributes () de
la clase de archivos a leer
atributos de un archivo de
forma masiva.
Durante la copia, todos los
directorios (excepto el ltimo
si
est
copiando
un
directorio) en el
ruta especificada debe existir
para
evitar
NoSuchFileException.
Si copia un directorio
utilizando el mtodo de copia
(), no va a copiar los archivos
/ directorios contenidos
en el directorio de origen;
tiene que copiar de forma
explcita a la carpeta de
destino.
No es necesario que realice
la
copia
en
slo
dos
archivos / directorios. Usted
puede tomar la entrada de
un InputStream y escribir en
un archivo; del mismo modo,
se
puede
obtener
informacin de un archivo y
copiar en un
OutputStream. Usted puede
utilizar los mtodos de copia
(InputStream,
trayectoria,
CopyOptions ...) y
copia (path, OutputStream,
CopyOptions ...).
Utilice el mtodo delete ()
para eliminar un archivo;
utilizar los deleteIfExists ()
para eliminar un archivo
slo si existe.
Si no desea implementar
los cuatro mtodos de la
interfaz FileVisitor, puede
simplemente extender su
aplicacin a partir de la clase
SimpleFileVisitor.
La interfaz PathMatcher es
til
cuando
se
quiere
encontrar un archivo de
satisfacer un cierto patrn.
Se puede especificar el
patrn de uso de glob o
expresiones regulares. Tabla
15-5 resume los patrones
apoyada por la sintaxis Glob.
Tabla
15-5.
Patrones
soportados por Sintaxis Glob
patrn Descripcin
* Coincide con cualquier
cadena de cualquier longitud,
incluso longitud cero.
** Al igual que en "*", pero
cruza
las
fronteras
de
directorio.
? Coincide con cualquier
carcter individual.
[xyz] Partidos a cualquiera x,
y o z.
[0-5] Partidos de cualquier
personaje de la gama de 0 a
5.

[az] Partidos a cualquier letra


minscula.
{xyz, abc} Coincidencias
para cualquiera xyz o abc.
Java 7 ofrece un servicio de
vigilancia de directorio que
se le notifique cuando el
archivo
que
se
est
trabajando es cambiado por
otro
programa.
Puede
registrar un objeto Path
utilizando un servicio de
vigilancia a lo largo de con
ciertos tipos de eventos.
Siempre
que
cualquier
archivo en los cambios de
directorio especificado, se
enva un evento con el
programa registrado.
Usted debe tener cuidado
de realizar una operacin
mientras se camina un rbol
de archivos. Por ejemplo, si
usted estn llevando a cabo
una eliminacin recursiva,
entonces
primero
debe
eliminar todos los archivos
que contienen antes eliminar
el
directorio
que
est
llevando
a
cabo
estos
archivos contienen.
El patrn de diseo para
visitantes se utiliza para
permitir caminar a travs de
un rbol de archivos.
En el contexto de un
servicio de vigilancia, un
estado se asocia con una
llave del reloj. Una clave de
reloj podra ser
en estado preparado (listo
para
aceptar
los
acontecimientos),
en
el
estado firmado (cuando se
ponen en cola uno o ms
eventos),
o en estado no vlido
(cuando la llave de reloj no
es vlido). Si la clave est en
el
estado
firmado,
es
necesario para llamar al
mtodo reset (); de lo
contrario el estado de la
tecla no va a cambiar a
Ready Estado y que no
recibirn ninguna notificacin
de eventos ms.
Si est viendo un directorio
utilizando el servicio de
vigilancia que ofrece Java 7,
slo los archivos contenidos
en ese directorio ser visto y
no los archivos contenidos en
los subdirectorios de que
directorio.
Si
tiene
la
intencin de ver todo el
subrbol del sistema de
archivos, necesita de forma
recursiva
registrar cada directorio en el
subrbol.

Captulo 10: Creacin de


aplicaciones de bases de
datos con JDBC

JDBC
(Java
Database
Connectivity)
API
proporcionadas por Java son
para el acceso mediante
programacin
de Sistemas de Gestin de
Bases de Datos (DBMS).
JDBC esconde toda la
heterogeneidad de todo el
DBMS y ofrece un conjunto
de API para interactuar
con todos los tipos de bases
de datos. La complejidad de
las
interacciones
heterogneas se delega en el
JDBC gestor de controladores
y los controladores JDBC; por
lo tanto, todos los detalles y
complicaciones estn ocultos
por
el
API
JDBC
desde
el
desarrollador
de
la
aplicacin.
Hay cuatro tipos de
conductores:
Tipo 1 (conductores puente
JDBC-ODBC): El controlador
JDBC llamadas ODBC (Open
Database
Conectividad)
llamadas
nativas utilizando el Java
Native Interface (JNI).
Tipo 2 (conductores NativoAPI):
Estos
controladores
utilizan las bibliotecas de
cliente de una base de datos
especfica
y convertir llamadas JDBC a
las llamadas bases de datos
nativas.
Tipo 3 (controladores de
red del protocolo): Estos
controladores
llaman
middleware de base de
datos, y la
middleware
convierte
realmente llamadas JDBC
para
llamadas
nativas
especficas de bases de
datos.
Tipo 4 (controladores de
protocolo
nativo):
El
conductor hace directamente
convocatorias de bases de
datos ms
la red sin ningn tipo de
apoyo de una biblioteca de
cliente adicional.

La
interfaz
java.sql.Connection ofrece un
canal a travs del cual la
aplicacin y
la
base
de
datos
se
comunican.
El
mtodo
getConnection () en la clase
DriverManager toma
tres argumentos: la cadena
URL, cadena nombre de
usuario, contrasea y de
cadena.
La sintaxis de la direccin
URL (que se debe especificar

para
conseguir
objeto
Connection) es
<protocolo>:
<subprotocolo>:
//
<servidor>: <puerto> /. Un
ejemplo de cadena URL es
jdbc: mysql: // localhost:
3306 /. El <protocolo> jdbc
es igual para todos los DBMS;
<subprotocolo>
ser diferente para cada
DBMS, <servidor> depende
de la ubicacin en la que se
aloja la base de datos,
y cada DBMS utiliza una
<puerto> nmero especfico.
Si la API JDBC no es capaz
de localizar el controlador
JDBC,
se
lanzar
una
excepcin de SQL. Si hay
tarros para los controladores
disponibles, que necesitan
para ser incluido en la ruta
de clase para que el API JDBC
para localizar el controlador.
Antes de JDBC 4.0, tenas
que cargar explcitamente el
controlador JDBC utilizando el
Class.forName ()
declaracin; con JDBC 4.0 y
superior, no es necesaria
esta declaracin y API JDBC
cargar la
conductor de los datos que
figuran en la cadena URL.
JDBC admite dos clases
para consultar y actualizar:
Declaracin y Resultset.
Una declaracin es una
declaracin SQL que se
puede
utilizar
para
comunicar una instruccin
SQL para
la base de datos y conectado
recibir los resultados de la
base de datos. Hay tres tipos
de
declaraciones:

Declaracin:
Uso
Declaracin de cuando usted
necesita
enviar
una
sentencia SQL a la base de
datos
sin ningn parmetro.

PreparedStatement:
Representa una instruccin
SQL precompilado que se
pueden personalizar
utilizando parmetros IN.

CallableStatement:
Se
utiliza
para
ejecutar
procedimientos
almacenados; puede manejar
EN as como OUT
y los parmetros INOUT.
Elija el mtodo apropiado
ejecutar en funcin del tipo
de
la
instruccin
SQL.
recordar
que cada ejecutar mtodo
devuelve salida diferente. El
executeQuery
mtodo
()
devuelve un

conjunto
de
resultados;
executeUpdate () devuelve
una cuenta de actualizacin;
y el mtodo execute () puede
devolver
varios
conjuntos
de
resultados, o cuenta de
actualizacin
mltiple,
o
combinacin de ambos.
Un objeto Statement cierra
el objeto ResultSet actual si
a) el objeto Statement se
cierra,
b) es re-ejecutado, o c) se
hace
para recuperar
el
siguiente
conjunto
de
resultados. Esto significa que
no es necesario
llamar a close () de forma
explcita
con
el
objeto
ResultSet; sin embargo, es
una buena prctica para
llamar a close ()
una vez que haya terminado
con el objeto.
Es su responsabilidad de
emitir un comando correcto
SQL; Declaracin JDBC no
comprobar su
correccin. Por ejemplo, si
hay un error de sintaxis en la
cadena de comandos SQL,
usted no consigue
un error del compilador. Ms
bien,
obtendrs
una
SQLSyntaxErrorException en
tiempo de ejecucin.

Un
objeto
ResultSet
mantiene un puntero o
cursor a la fila actual.
Inicialmente, el cursor se
establece en
justo antes de la primera fila;
llamando al mtodo next ()
avanza la posicin del cursor
por una fila.
Puede utilizar el nombre de
la columna o el ndice de la
columna con mtodos de
ResultSet. El ndice que se
utiliza es el
ndice del objeto ResultSet,
no el nmero de columna en
la tabla de base de datos.
El ndice de la columna en
el objeto ResultSet se inicia
desde 1 (no desde 0).
Usted puede usar el
nombre de la columna de un
objeto ResultSet sin tener
que preocuparse sobre el
caso:
getXXX () mtodos aceptan
nombres de columna entre
maysculas y minsculas
para recuperar el valor
asociado.
Piense en un caso cuando
se tienen dos columnas en
un objeto ResultSet con el
mismo nombre.
Cmo se puede recuperar
los valores asociados con el
nombre de la columna? Si
utiliza el nombre de columna

para recuperar el valor,


siempre
apuntar
a
la
primera
columna
que
coincide con la dada
nombre. Por lo tanto, usted
tiene que utilizar el ndice de
columna en este caso para
recuperar
los
valores
asociados a la
ambas columnas.
Debe llamar updateRow ()
despus de modificar el
contenido de filas en un
ResultSet; de otra manera
los cambios realizados en el
objeto ResultSet se perdern.
Usted puede cancelar
cualquier actualizacin que
hizo mediante el mtodo
cancelRowUpdates (). Sin
embargo,
debe llamar a este mtodo
antes de llamar al mtodo
updateRow (). En todos los
dems
casos,
no
tiene
impacto en la fila.

Llamando
al
mtodo
getMetaData () en la interfaz
de
conexin,
se
puede
examinar la
capacidades de la base de
datos subyacente.
Una transaccin es un
conjunto de operaciones de
SQL que necesita ser bien
ejecutado todo con xito o
nada en absoluto.
Por defecto, un
autocommit e establece en true,
por lo que todos los cambios
que realice a travs de la
conexin
se
han
comprometido
de
forma
automtica a la base de
datos.
Puede
utilizar
setAutoCommit (false); para
permitir commit manuales.
Con-confirmacin automtica
no est activada, necesita
confirmacin o retrotraccin
explcita transacciones.
Si el mtodo commit () no
se ejecuta en el manual
modalidad de confirmacin,
no habr ningn cambio en
la base de datos.
Se puede dividir una
transaccin
grande
en
mltiples hitos. Estos hitos se
denominan
como Puntos de salvaguarda.
De esta manera usted puede
guardar los cambios en la
base de datos hasta un hito
vez que el se logra hito.
conjunto de filas es un
ResultSet especial que apoya
el modelo de componentes
JavaBean.
Figura
15-2
resume
la
jerarqua
de
conjunto
de
filas
y
capacidades clave asociadas.

Figura 15-2. La jerarqua de


conjunto de filas
JdbcRowSet es un conjunto
de filas conectado mientras
otros
subinterfaces
de
conjunto de filas (es decir,
JoinRowSet, CachedRowSet,
WebRowSet
y
FilteredRowSet)
son
conjuntos
de
filas
desconectados.

RowSetProvider
proporciona
APIs
para
conseguir
la
aplicacin
RowSetFactory, que a su vez
puede usarse para crear
instancias de un conjunto de
filas
aplicacin
correspondiente.
JDBC 4.1 introduce la
capacidad de usar try-conrecursos declaracin para
cerrar los recursos
(Conexin, de resultados, y
declaracin)
automticamente.
Captulo 11: Excepciones
y aserciones
Mientras que proporciona
mltiples
ex
cepcin

manipuladores
(manipuladores de captura
"apilados"),
excepcin
especfica
manipuladores
deben
proporcionarse
antes
manejadores de excepciones
generales.
Proporcionar
excepcin de base
manejadores antes de los
manipuladores de derivados
resultar en un error del
compilador.
Un bloque try puede tener
varios
controladores
de
captura. Si la causa de dos o
ms excepciones es similar
y el cdigo de manejo
tambin es similar, se puede
considerar la combinacin de
los manipuladores y hacerlo
en un bloque multi-captura.
El cdigo dentro de un
bloque finally se ejecutar
independientemente de que
el bloque try tiene

ejecutados o resultado en
una excepcin xito. Esto
hace que un bloque finally el
ms adecuado
lugar para liberar recursos
como
identificadores
de
archivo, manijas de bases de
datos, flujos de red, etc.
En un bloque multi-captura,
no
se
puede
combinar
controladores
de captura
para dos excepciones que
comparten un
base y la relacin de la clase
derivada. Slo se puede
combinar controladores de
captura de excepciones que
no comparten la relacin de
herencia entre padres e hijos
entre ellos.
Olvidarse de liberar los
recursos
mediante
una
llamada explcita al mtodo
close () es un error comn.
Puede utilizar una sentencia
try-con-recursos
para
simplificar el cdigo y autocierre recursos.
Para que un recurso pueda
utilizarse en una sentencia
try-con-los recursos, la clase
de ese recurso debe
implementar
la
interfaz
java.lang.AutoCloseable
y
definir el mtodo close ().
Usted puede auto-cierre
mltiples recursos dentro de
una
sentencia
try-conrecursos. estos recursos
tenga que ser separados por
punto y coma en la cabecera
try-con-recursos comunicado.
Debido a que se pueden
utilizar varios recursos dentro
de una sentencia try-con-los
recursos, la posibilidad
de ms de una excepcin
siendo arrojada tanto del
bloque try y el ltimo bloque
es
alta. Si un bloque try emite
una excepcin, y un bloque
finally tambin lanza una
excepcin
(s),
a
continuacin,
se aadir la excepcin (s)
tirado en el bloque finally
como
excepciones
suprimidas a la
excepcin de que se tira
fuera del bloque try a la
persona que llama.
No se puede asignar a las
variables
de
recursos
declarados en los recursos
probar-con-dentro del cuerpo
de la sentencia try-conrecursos.
Esto
es
para
asegurarse
de
que
los
mismos recursos adquiridos
en
la
cabecera
try-con-los
recursos se liberan en el
bloque finally.

Es un error comn para


cerrar
un
recurso
explcitamente dentro de la
instruccin try-con-recursos.
Recuerde que tratar-con-los
recursos se expande a una
llamada al mtodo close () en
el ltimo
bloque, por lo que si usted
proporciona
una
llamada
explcita al mtodo close ()
en el bloque finally, el
ampliado por ltimo bloque
tendr efectivamente una
doble llamada al mtodo
close ().
La clase Throwable es la
clase raz de la jerarqua de
excepciones. Slo Throwable
y sus derivados
clases pueden utilizarse con
palabras clave manejo de
excepciones en Java, como
try, catch, y los tiros.
La clase Exception (excepto
su subjerarqua de la clase
RuntimeException)
y
su
derivada
clases se conocen como
excepciones
comprobadas.
Estas
excepciones
representan
condiciones
excepcionales
que
se puede
"esperar
razonablemente"
que
se
producen cuando se ejecuta
el programa y por lo tanto
debe haber
manejado. Un mtodo que
contiene algn segmento de
cdigo que puede lanzar una
excepcin comprobada
o bien debe proporcionar un
controlador
catch
para
manejarlo o declarar esta
excepcin en su clusula
tiros.

Las
clases
RuntimeException y error y
las clases derivadas se
conocen como sin marcar
excepciones. Ellos pueden
ser lanzados en cualquier
lugar en el programa (no se
declar que la
segmento de cdigo puede
lanzar estas excepciones).

Las
clases
RuntimeException y clases
derivadas
representan
errores
de
programacin
(lgica
errores) y generalmente no
se espera a ser capturados y
manipulados en el programa.
Sin embargo,
en
algunos
casos
es
significativa para manejar
estas
excepciones
en
bloques catch.

ya sea la JVM ha detectado


una condicin anormal grave
o
se
ha
quedado
sin
recursos. cundo
Se produce un error, el mejor
curso de accin tpico es
terminar el programa.
Un bloque catch debe ya
sea controlar la excepcin o
volver a lanzar la misma.
Para ocultar o tragar una
excepcin por la captura de
una excepcin y no hacer
nada es realmente una mala
prctica.
La lanza clusula de un
mtodo es para enumerar las
excepciones
comprobadas
que el mtodo
cuerpo puede lanzar.

Los
bloques
de
inicializacin estticas no
pueden
lanzar
cualquier
excepcin
seleccionada.
Inicializacin
no
esttica
bloques
pueden
lanzar
excepciones
comprobadas;
Sin embargo, todos los
constructores deben declarar
que excepcin en su lanza
clusula.
Un mtodo de clausula
throws es parte del contrato
que sus mtodos imperiosas
de clases derivadas deben
obedecer.
Un
mtodo
predominante
puede
proporcionar
la
misma
clusula de banda como el
mtodo de la base de lanza
clusula
o
una
ms
especfica clusula tiros que
la del mtodo de base
clusula lanza. La mtodo
primordial
no
puede
proporcionar
una
ms
general clausula throws o
declarar a tirar adicional
excepciones comprobadas en
comparacin con clusula de
lanza del mtodo de base.
Si un mtodo no tiene una
clusula de tiros, no significa
que
no
puede
lanzar
cualquier excepcin-it Slo
significa que no puede lanzar
cualquier
excepcin
controladas.
Es una mala prctica
utilizar una clusula de tiros
a la lista de excepciones no
comprobadas que un mtodo
puede
lanzar. Por qu? Dado que el
compilador no puede obligar
a las personas que llaman
para manejar excepciones
sin control,
que
no
tiene
sentido
enumerarlas en la clusula
tiros. Por el contrario, si un
Las clases de error y las mtodo puede lanzar una
clases derivadas representan excepcin no comprobada,
excepciones que surgen a es
mejor
utilizar
la
causa de JVM errors-

clusulaemite
para
documentar esa posibilidad.

Los
bloques
de
inicializacin no estticos
pueden lanzar excepciones
comprobadas; Sin embargo,
todos
los
constructores
deben
declarar
las
excepciones en su clausula
throws.
Por
qu?
El
compilador
combina
el
cdigo
para no esttico bloques de
inicializacin y constructores
durante
su
fase
de
generacin de cdigo, por lo
que el tiros clusula del
constructor puede utilizarse
para
declarar
las
excepciones
comprobadas
que una no esttico bloque
de
inicializacin
puede
lanzar.
Un mtodo de alteracin
temporal no puede declarar
ms
excepciones
en la
clusula tiros de la lista de
excepciones declaradas en la
clusula del mtodo de base
de tiros. Por qu? Las
personas que llaman de la
base mtodo de ver slo la
lista de las excepciones que
figuran en la clusula de
lanza de ese mtodo y
voluntad declarar o manejar
estas
excepciones
comprobadas en su cdigo (y
no ms que eso).
Un mtodo de alteracin
temporal
puede
declarar
excepciones ms especficas
que la excepcin (s) que
figuran en el lanza clusula
del mtodo de base; en otras
palabras, se puede declarar
excepciones derivadas de la
lanza clusula del mtodo
primordial.
Si un mtodo se declara en
dos o ms interfaces y si ese
mtodo declara que tirar
diferente
excepciones en la clusula
tiros, entonces la aplicacin
deben enumerar todas estas
excepciones en su lanza
clusula.
Puede definir sus propias
clases
de
excepciones
(conocidas
como
excepciones personalizadas)
en sus programas.
Se recomienda que usted
deriva
excepciones
personalizadas, ya sea del
Excepcin o
Clase
RuntimeException.
Creacin
de
excepciones
personalizadas extendiendo
la
clase
Throwable
(demasiado genrico) o la
clase
de
error
(las
excepciones de este tipo
estn reservados para JVM y

las API de Java a No se


recomienda la banda).
Usted puede envolver una
excepcin y tirarlo como otra
excepcin.
Estas
dos
excepciones se convierten
excepciones
encadenadas.
Desde la excepcin lanzada,
usted puede conseguir la
causa de la excepcin.
Las afirmaciones
son
condicin comprueba en el
programa y estn destinados
a
ser
utilizados
para
comprobar de forma explcita
las suposiciones que hacen al
escribir programas.
La sentencia assert es de
dos formas: el que toma un
argumento booleano y el otro
uno que toma un argumento
de cadena adicional.
Si la condicin booleana
indicada en el argumento
asercin falla (es decir, se
evala
como
falsa),
el
programa terminar despus
de lanzar un AssertionError.
No es recomendable para
atrapar y
recuperarse de cuando un
AssertionError es lanzada por
el programa.
De forma predeterminada,
las
afirmaciones
se
desactivan
durante
la
ejecucin. Puede utilizar los
argumentos de lnea de
comandos -ea
(para permitir que afirma) y
-da (para desactivar afirma)
y sus variantes al invocar la
JVM.
Captulo 12: Localizacin
Una configuracin regional
representa un idioma, cultura
o pas; la clase Locale en
Java proporciona una
abstraccin
para
este
concepto.
Cada localidad puede tener
tres entradas: el idioma, pas
y variante. Usted puede usar
estndar
cdigos disponibles para el
lenguaje y el pas para
formar
etiquetas
de
localizacin.
No
hay
etiquetas estndar para
variantes;
usted
puede
proporcionar variantes de
cadenas en base a su
necesidad.
Hay muchas maneras de
crear o conseguir a un objeto
Locale corresponde a una
localidad:
Utilice el constructor de la
clase Locale.

Utilice
el
mtodo
forLanguageTag
(String
languageTag) en la clase
Locale.

Construir un objeto Locale


creando
instancias
Locale.Builder y luego llamar
setLanguageTag () de ese
objeto.
Utilice las constantes
finales estticos predefinidos
para
configuraciones
regionales en la clase Locale.
Un paquete de recursos es
un conjunto de clases o
archivos de propiedades que
ayudan a definir un conjunto
de llaves y mapa
esas llaves para localeespecficos valores.
El ResourceBundle clase
tiene dos clases derivadas:
PropertyResourceBundle y
ListResourceBundle.
Puede
utilizar
ResourceBundle.getBundle ()
para
cargar
automticamente un
paquete para una localidad
dada.

La
clase
PropertyResourceBundle
proporciona soporte para
varios entornos locales en
forma de
archivos
de propiedades.
Para
cada
lugar,
se
especifican las claves y
valores en un archivo de
propiedades para ese idioma.
Slo puede usar cadenas
como claves y valores.

El
convenio
de
denominacin
para
un
nombre de paquete de
recursos
completo
es
packagequalifier.
bundleName + "_" + idioma
+ "_" + pas + "_" +
(variante + "_ #" | "#") +
guin + "-" + extensiones.
La secuencia de bsqueda
para buscar un paquete de
recursos a juego se presenta
aqu. Buscar aperturas desde
el Paso 1. Si en cualquier
etapa
de
la
bsqueda
encuentra una coincidencia,
el paquete de recursos se
carga. De lo contrario,
la bsqueda contina con el
siguiente paso.
Paso 1: La bsqueda se
inicia mediante la bsqueda
de una coincidencia exacta
para el paquete de recursos
con el
nombre completo.

Paso
2:
El
ltimo
componente
(la
parte
separada por _) se cay y la
bsqueda es
repetido con el nombre ms
corto
resultante.
Este
proceso se repite hasta que
el ltimo locale
modificador se fue.
Paso 3: La bsqueda se
reinicia utilizando el nombre

completo del paquete para la


configuracin
regional
predeterminada.
Paso 4: Busque el paquete
de recursos con slo el
nombre del paquete.
Paso 5: La bsqueda falla,
lanzando
un
MissingBundleException.
Para los paquetes de
recursos
implementados
como clases se extendieron
desde ListResourceBundles,
Java utiliza el mecanismo de
reflexin para encontrar y
cargar
la
clase.
Usted
necesita asegurarse de que
la clase es pblico, por lo que
el mecanismo de reflexin se
encuentra la clase.
Para manejar la fecha y la
hora, los nmeros y las
monedas de una manera
sensible al cultura, se puede
utilizar
el
clase
java.text.Format y sus dos
principales clases derivadas,
NumberFormat
y
DateFormat.
La figura 15-3 muestra
Formato y sus importantes
clases derivadas.

Figura 15-3. La clase de


formato y sus importantes
clases derivadas
La clase NumberFormat
proporciona mtodos para
asignar formato o analizar los
nmeros. Medios "Formato"
convertir un valor numrico a
una forma textual adecuado
para mostrar a los usuarios;
"Parsing"
medios
la
conversin de un nmero de
vuelta a formato numrico
para su uso en el programa.
El mtodo parse () devuelve
un nmero si tiene xito; de
lo
contrario
se
lanza
ParseException (a excepcin
comprobada).

NumberFormat
tiene
muchos mtodos de fbrica:
getInstance
(),
getCurrencyInstance (),
getIntegerInstance
(),
y
getPercentInstance ().
La clase de moneda
proporciona un buen soporte
para el manejo de valores de

la moneda de una manera


sensible a la localidad.

La
clase
DateFormat
proporciona soporte para la
fecha y el tiempo de
procesamiento
en
un
escenario
y
minsculas
manera.
DateFormat tiene tres
mtodos-getDateInstance
fbrica
sobrecargados
(),
getTimeInstance (),
y getDateTimeInstance () que las instancias de retorno
DateFormat para la fecha de
procesamiento, el tiempo, y
ambos
fecha
y
hora,
respectivamente.

SimpleDateFormat
(derivado de DateFormat)
utiliza el concepto de una
cadena
de patrn para
apoyar
formatos
personalizados de fecha y
hora. Aqu est la lista de las
cartas importantes y sus
significados para la creacin
de patrones de fechas:
G Era (aC / dC)
y Ao
Y
Semana aos
M
Mes (en aos)
w Semana (en aos)
W
Semana (en meses)
Da D (en aos)
d Da (en meses)
F Da de la semana en el mes
Nombre E Da
de la semana
nmero u
Da de la semana (valor de
rango 1-7)
Del mismo modo, su e son
las cartas importantes de
utilidad para definir un
patrn
de
tiempo
personalizado:
un marcador para el texto
am / pm marcador
H Hora (rango de valores 023)
k horas (rango de valores 124)
K horas en am / pm (valor de
rango 0-11)
h horas en am / pm (rango
de valores 1-12)
m Minuto
s Segundo
S Milisegundo
zona z (hora de formato
general de zona)
Captulo 13: Temas
Puede crear clases que son
capaces de multi-threading
mediante la implementacin
del Ejecutable interfaz o
mediante la ampliacin de la
clase Thread.
Siempre aplicar el mtodo
run
().
El
mtodo
de
ejecucin por defecto () en
Hilo no hace nada.

Llame al mtodo start () y


no
el
mtodo
run
()
directamente en el cdigo.
(Deja a la JVM que llamar al
mtodo (pista).)
Cada hilo tiene el nombre
del hilo, la prioridad y el hilo
de grupos asociados a ella; el
valor por defecto toString ()
implementacin del mtodo
en Hilo los imprime.
Si se llama al mtodo sleep
() de un hilo, el hilo no libera
el bloqueo y se aferra a la
cerradura.
Puede utilizar el mtodo
join () para esperar a que
otro hilo para terminar.
En general, si usted no est
utilizando la funcin de
"interrumpir"
en
las
discusiones,
es
seguro
ignorar
la
InterruptedException;
sin
embargo, es mejor an para
registrar
o
imprimir
el
seguimiento de la pila si eso
excepcin se produce.

Los
hilos
son
no
determinista:
en
muchos
casos,
no
se
puede
reproducir problemas como
bloqueos o razas de datos
ejecutando el programa de
nuevo.
Hay tres estados de hilos
bsicos: nuevo, ejecutables y
terminadas. Cuando un hilo
es slo creado, es en nuevo
estado; cuando est listo
para ejecutar o correr, est
en estado ejecutable. cuando
el hilo muere, est en estado
terminado.
El estado ejecutable tiene
dos estados internos (a nivel
de
sistema
operativo):
estados
listos
y
en
funcionamiento.
Un hilo estar en el estado
de bloqueo cuando se espera
obtener un bloqueo. El hilo
ser en el timed_waiting
estado cuando se da el
tiempo de espera para las
llamadas como espera. El
hilo ser en la esperaestado
cuando, por ejemplo, esperar
() es llamado (sin valor el
tiempo de espera).

Usted
recibir
un
IllegalThreadStateException
si sus operaciones resultan
en estado de subproceso no
vlido transiciones.
itas a los recursos comunes
compartidos
por
varios
subprocesos pueden llevar a
la "raza de datos" (tambin
conocido como "condicin de
carrera" y "peligro raza")
problema.

Debe
utilizar
la
sincronizacin de hilos (es

decir,
cerraduras)
para
acceder
a
los
valores
compartidos y evitar datos
razas.
Java
proporciona
funciones de sincronizacin
hilo para proporcionar acceso
protegido a compartido
recursos, a saber, bloques y
mtodos
sincronizados
sincronizados.
El uso de cerraduras puede
introducir problemas como
bloqueos. Cuando un punto
muerto ocurre, el proceso
colgar y nunca terminar.

Un
punto
muerto
tpicamente sucede cuando
dos (o ms) hilos adquieren
bloqueos en orden inverso.
Cuando un hilo ha adquirido
una cerradura y espera para
otro bloqueo, otro hilo tiene
adquirieron
esa
otra
cerradura y espera a que el
primero de bloqueo para ser
liberados. Por lo tanto, no se
hace ningn progreso y
los callejones sin salida del
programa.
Para evitar los puntos
muertos, es mejor evitar la
adquisicin
de
mltiples
cerraduras. Cuando tenga
que adquirir tal
mltiples
cerraduras,
asegurar que se adquieren
en el mismo orden en todos
los lugares en el programa.
Cuando un hilo tiene que
esperar a que una condicin
o evento en particular que
deben cumplir otro hilo,
puede utilizar una espera /
notificar mecanismo como un
mecanismo de comunicacin
entre hilos.
Cuando un hilo necesita
esperar a que una condicin /
evento en particular, puede
llamar a wait () con o
sin
tiempo
de
espera
especificado.
Para
evitar que las
notificaciones
que
se
pierden, es mejor utilizar
siempre notifyAll () en lugar
de notificar ().
Captulo 14: Concurrencia
A los controles de semforo
acceso
a
recursos
compartidos. Un semforo
mantiene un contador para
especificar
nmero de recursos que los
controles de semforo.
CountDownLatch permite
que uno o ms hilos que
esperar a que una cuenta
atrs para completar.
La clase Intercambiador es
para el intercambio de datos
entre dos hilos. Esta clase es
til
cuando dos hilos deben
sincronizar entre ellos y

tambin intercambiar datos


de forma continua.
CyclicBarrier ayuda a
proporcionar un punto de
sincronizacin
en
las
discusiones pueden tener
que esperar a una
punto
de
ejecucin
predefinido hasta que todos
los otros hilos lleguen a ese
punto.

Phaser
es
una
caracterstica til cuando
algunos hilos independientes
tienen que trabajar en fases
para completar
una tarea.
En lugar de adquirir y de
quitar un bloqueo slo para
llevar a cabo operaciones
sobre tipo primitivo
las
variables,
Java
proporciona una alternativa
eficiente en la forma de
variables atmicas.
Clases AtomicInteger y
AtomicLong extienden desde
la clase Number. Todas las
otras clases en el
java.util.concurrent.atomic
hereda
subpaquete
directamente de la clase de
objeto y no hacis
extender la clase Number.

Condiciones
apoyo
mecanismo de notificacin
hilo.
Cuando
una
determinada condicin no se
cumple,
un hilo puede esperar a que
otro hilo para satisfacer esa
condicin; que otro hilo
podra notificar
una vez que se cumple la
condicin.
La jerarqua Ejecutores
abstrae los detalles de bajo
nivel de programacin multihilo y ofrece construcciones
de concurrencia de alto nivel
fcil de usar.

La
interfaz
invocable
representa una tarea que
debe ser completado por un
hilo. Una vez que el tarea se
completa, el mtodo call ()
de una aplicacin Callable
devuelve un valor.
Futuro representa objetos
que contienen un valor que
se devuelve de un hilo en el
futuro.
FbricaTrenzado es una
interfaz que est destinada a
la creacin de hilos en vez de
forma explcita la creacin de
hilos llamando nueva Thread
().
El Fork / nete framework
permite
explotar
el
paralelismo (disponible en
forma de mltiples ncleos)
para ciertos tipos de tareas.
Una tarea que puede ser
modelado como un problema

de divide y vencers es
adecuado para ser utilizado
con Fork framework / Join.
El Fork / nete framework
es una implementacin de la
interfaz ExecutorService.
El Fork / nete framework
utiliza el trabajo de robo de
algoritmo, en otras palabras,
cuando un trabajador hilo
completa su trabajo y es
libre, l lleva (o "roba")
funciona desde otros hilos
que an estn ocupado
haciendo algo de trabajo.
Los resultados de la tcnica
de trabajo para robar en el
manejo de carga decente hilo
equilibrio
con
un
costo
mnimo de sincronizacin.
En Fork / Join, parece
aceptable para llamar Fork ()
tanto para las subtareas (si
usted est dividiendo en dos
subtareas) y call join () dos
veces. Es correcto, pero
ineficiente. Por qu? En este
caso, el hilo original estar
esperando por las otras dos
tareas para completar, que
es ineficiente considerando
el costo de creacin de
tareas. Es por eso que usted
llama Fork () una vez y
llamar compute () para el
segunda tarea.
ForkJoinPool es la clase ms
importante para el Fork
framework / Join. Es un grupo
de
subprocesos
para
corriendo Fork / Join a las
tareas, en otras palabras, se
ejecuta una instancia de
ForkJoinTask. Ejecuta tareas y
maneja sus ciclos de vida.
ForkJoinTask <V> es una
entidad similar al hilo de
peso ligero que representa
una tarea que define los
mtodos como Fork () y join
().
1. Java Class Diseo (G & S
Captulo 3)

1.1. Utilice modificadores de


acceso: privado, protegido y
pblico.
1.2. Utilice mtodos de
reemplazo.
1.3. Utilice constructores de
sobrecarga y otros mtodos
apropiadamente.
1.4. Utilice el operador
instanceof y fundicin.
1.5. Utilice invocacin de
mtodos virtuales.
1.6. Utilice mtodos de
reemplazo de la clase de
objetos para mejorar la
funcionalidad de su clase.
1.7.
Utilice
paquete
y
declaraciones
de
importacin.
2. Diseo avanzado de
clase (G & S Captulo 4)

2.1. Identificar cundo y


cmo aplicar las clases
abstractas.
2.2. Cmo construir clases
Java abstractas y subclases.
2.3. Utilice las palabras clave
static y final.
2.4. Crear de nivel superior y
clases anidadas.
2.5.
Utilice
tipos
enumerados.
3. Principios de Diseo
Orientado a Objetos (G &
S Captulo 5)
3.1. Escribir cdigo que
declare, implementa, y / o se
extiende interfaces.
3.2. Elija entre la herencia de
interfaces y la herencia de
clases.
3.3. Desarrollar cdigo que
implemente "es-un" y / o
"has-a" relaciones.
3.4. Aplicar los principios de
composicin de objetos.
3.5. Diseo de una clase
utilizando el patrn de diseo
Singleton.
3.6. Escribir cdigo para
implementar el patrn DAO.
3.7. Diseo y crear objetos
utilizando una fbrica, y el
uso fbricas de la API.
4.
Los
genricos
y
Colecciones
(G
&
S
Captulo 6)
4.1.
Crear
una
clase
genrica.
4.2. Utilice la sintaxis de
diamantes para crear una
coleccin.
4.3.
Analizar
la
interoperabilidad
de
las
colecciones que utilizan el
tipo crudo y tipos genricos.
4.4.
Utilice
clases
contenedoras y autoboxing.
4.5. Crear y utilizar una lista,
un conjunto, y un deque.
4.6. Creacin y uso de un
mapa.
4.7.
Utilice
java.util.Comparator
y
java.lang.Comparable.
4.8. Ordenar y arrays de
bsqueda y listas.
5. Procesamiento String
(G & S Captulo 7)
5.1.
Buscar,
analizar
y
construir cadenas.
5.2. Buscar, analizar, y
reemplazar
las
cadenas
mediante
expresiones
regulares,
utilizando
los
patrones de expresin de
juego limitado a. (punto), *
(estrella), + (plus),?, \ d, \ D, \
s, \ S, \ w, \ W, \ b. \ B, [] ().
5.3. Las cadenas de formato
que utilizan los parmetros
de formato% b,% c,% d,% f,
% s en las cadenas de
formato.

6.
Excepciones
y
aserciones
(G
&
S
Captulo 11)
6.1. Uso lanzar y lanza
declaraciones.
6.2. Utilice la sentencia try
con mltiples capturas y
finalmente clusulas.
6.3. Recursos Autoclose con
una
sentencia
try-conrecursos.
6.4.
Crear
excepciones
personalizadas.
6.5. Invariantes de prueba
mediante
el
uso
de
afirmaciones.
7. Fundamentos de Java
I / O (G & S Captulo 8)
7.1. Leer y escribir datos
desde la consola.
7.2. El uso de flujos de leer y
escribir archivos.
8. Java File I / O (NIO.2) (G
& S Captulo 9)
8.1. Utilice la clase Camino a
operar en las rutas de
archivos y directorios.
8.2. Utilice la clase de
archivos para comprobar,
borrar, copiar o mover un
archivo o directorio.
8.3. Leer y cambiar los
atributos de archivos y
directorios.
8.4.
Acceder
de
forma
recursiva
un
rbol
de
directorios.
8.5.
Buscar
un
archivo
mediante
la
clase
PathMatcher.
8.6. Ver un directorio para
cambios
utilizando
WatchService.
9. Creacin de aplicaciones
de bases de datos con JDBC
(G & S Captulo 10)

9.1. Definir el diseo de la


API de JDBC.
9.2. Conectarse a una base
de datos mediante el uso de
un controlador JDBC.
9.3. Actualizar y consultar
una base de datos.
9.4.
Personalizar
el
comportamiento
de
la
transaccin
de
JDBC
y
cometer transacciones.
9.5. Utilice el JDBC 4.1
RowSetProvider,
RowSetFactory e interfaces
conjunto de filas.
10. Hilos (G & S Captulo
13)
10.1. Creacin y uso de la
clase Thread y la interface
Runnable.
10.2. Administrar y controlar
el ciclo de vida hilo.
10.3. Sincronizar acceso hilo
a los datos compartidos.
10.4.
Identificar
posibles
problemas de roscado.

11. Concurrencia
Captulo 14)

(G

&

11.1.
Utilice
colecciones
java.util.concurrent.
11.2. Aplicar las variables
atmicas y cerraduras.
11.3. Utilice Ejecutores y
ThreadPools.
11.4. Utilice el Tenedor
paralelo framework / Unir.
12. Localizacin
Captulo 12)

(G

&

12.1. Lea y establecer la


configuracin
regional
utilizando el objeto Locale.
12.2. Construir un paquete
de recursos para cada local.
12.3. Cargar un paquete de
recursos en una aplicacin.
12.4. Dar formato al texto
para la localizacin utilizando
NumberFormat
y
DateFormat.
Mejoras para el linguaje.
(G & S captulos 6, 11)
1.1. Utilice para cuerdas en
la sentencia switch.
1.2. Utilice literales binarios y
literales
numricos
con
guiones bajos.
1.3. Utilice try-con-recursos.
1.4. Emplee varias capturas
en los estados de excepcin.
1.5. Utilice el operador de
diamante con declaraciones
genricas.
1.6. Utilice volver a lanzar
ms
precisa
en
las
excepciones.
2. Patrones de Diseo (G & S
Captulo 5)
2.1. Diseo de una clase
utilizando el patrn de diseo
Singleton.
2.2. Identificar cundo y
cmo utilizar la composicin
para
resolver
problemas
empresariales.
2.3. Escribir cdigo para
implementar el patrn DAO.
2.4. Diseo de una clase que
utiliza el patrn de diseo de
fbrica
3. Aplicaciones de bases de
datos con JDBC (G & S
Captulo 10)
3.1. Describir la API JDBC.
3.2.
Identificar
las
declaraciones
de
Java
necesarios para conectarse a
una base de datos mediante
JDBC.
3.3. Utilice el JDBC 4.1
RowSetProvider,
RowSetFactory,
y
nuevas
interfaces conjunto de filas.
3.4. Utilice transacciones
JDBC.
3.5. Utilizar la API de JDBC
adecuado
para
enviar
consultas
y
leer
los
resultados de la base de
datos.

3.6.
Utilice
JDBC
PreparedStatement
y
CallableStatement.
4. Concurrencia (G & S los
captulos 13, 14)
4.1.
Identificar
posibles
problemas de roscado.
4.2.
Utilice
colecciones
java.util.concurrent.
4.3.
Utilice
variables
atmicas y cerraduras.
4.4. Utilice Ejecutores y
ThreadPools.
4.5.
Utilice
el
Tenedor
paralelo framework / Unir.
5. Localizacin (G & S
Captulo 12)
5.1. Describir las ventajas de
la
localizacin
de
una
aplicacin.
5.2. Definir lo que representa
una configuracin regional.
5.3. Lea y establecer la
configuracin
regional
utilizando el objeto Locale.
5.4. Construir un paquete de
recursos para cada entorno
local.
5.5. Llame a un paquete de
recursos de una aplicacin.
5.6. Seleccione un paquete
de recursos basado en la
configuracin regional.
5.7. Dar formato al texto
para la localizacin utilizando
NumberFormat
y
DateFormat.
6. Java File I / O (NIO.2) (G &
S Captulo 9)
6.1. Utilice la clase Camino a
operar en las rutas de
archivos y directorios.
6.2. Utilice la clase de
archivos para comprobar,
borrar, copiar o mover un
archivo o directorio.
6.3. Leer y cambiar los
atributos de archivos y
directorios.
6.4.
Acceder
de
forma
recursiva
un
rbol
de
directorios.
6.5.
Buscar
un
archivo
mediante
la
clase
PathMatcher.
6.6. Ver un directorio para
cambios
utilizando
WatchService.
Mock Test 1
1 Cul de las siguientes
declaraciones de la variable i
se compilar sin errores y de
impresin verdadera cuando
el programa se ejecuta?
a) int i = 012;
Poner
0 antes de un nmero hace
que ese nmero un nmero
octal. Un equivalente decimal
de 012 (en octal) es 10. Si
intenta
realizar
una
conversin
implcita
de
flotador, largo, o tipos dobles
(tal como figura en las
opciones
B,
C
y
D,

respectivamente)
a
un
entero, se quiere un error del
compilador get.
2.Which
una
de
las
siguientes opciones describe
correctamente
el
comportamiento
de
este
programa?
a) Error de compilador en
lnea
marcada
con
comentario NUM porque El
nmero
no
puede
ser
instanciado.
b) Error de compilador en
lnea
marcada
con
comentario
BIG
porque
BigDecimal
no
lo
hace
heredar de Nmero.
c) Cuando se ejecuta, este
programa
imprime
la
siguiente: 0 1 2.0 3.
d) Cuando se ejecuta, este
programa
imprime
la
siguiente: 0,0 1,0 2,0 3,0.
a) error del compilador en
lnea
marcada
con
comentario NUM porque El
nmero
no
puede
ser
instanciado
Nmero
es
una
clase
abstracta, por lo tanto, no se
puede crear una instancia
utilizando nuevo operador.
Muchas clases incluyendo
Integer, Float y BigDecimal
se derivan de la clase
Number.
3. Considere el siguiente
segmento de cdigo:
Cul de las siguientes
opciones
describe
correctamente
el
comportamiento
de
este
segmento de cdigo?
a) Este segmento de cdigo:
Este, que, etc.!
b) Este segmento de cdigo:
Este, que, etctera!
c) Este segmento de cdigo:
Este, que, etc.
d) El programa de lanza en
un
ArrayIndexOutOfBoundsExce
ption.
3. a) El segmento de cdigo:
Este, que, etc.!
El
mtodo
StringBuffer
reemplazar (int inicio, int
final, String str) tiene la
siguiente
comportamiento
segn el Javadoc que explica
el comportamiento de este
cdigo segmento: "Sustituye
a los personajes de una
subcadena de esta secuencia
con personajes de la String
especificado. La subcadena
comienza
en
el
inicio
especificada y se extiende
hasta el carcter en
final index - 1 o al final de la
secuencia, si no existe tal
carcter. En primer lugar, los
caracteres en la subcadena
se retira y luego la cadena

especificada se inserta en la
salida. (Este secuencia ser
alargada para acomodar la
cadena especificada si es
necesario.) "
4. Considere el siguiente
programa:
Cul de las siguientes
opciones
describe
correctamente
el
comportamiento
de
este
programa?
a) Este programa imprime el
siguiente: hola mundo!
b) Este programa imprime el
siguiente: hola mundo! nulo
c) Este programa lanza una
NullPointerException.
d) Este programa se emite
una
InvalidArgumentException.
e) Este programa se emite
una
ArrayIndexOutOfBoundsExce
ption.
4. b) Este programa imprime
el siguiente: hola mundo!
nulo. La llamada nueva
StringBuffer (10); crea un
objeto
StringBuffer
con
capacidad
inicial
para
almacenar 10 caracteres;
esta capacidad podra crecer
a
medida
que
sigues
llamando a mtodos como
append (). Despus de las
llamadas para anexar "hola"
y "mundo", la llamada a
anexar resultados nulos en la
adicin
la cadena "null" en el bfer
de cadena (que no da lugar a
una NullPointerException o
InvalidArgumentException).
Con la anexin de "nulo", la
capacidad de la bfer de
cadena ha crecido hasta 17
caracteres.
As,
el
strBuffer.insert llame al (11,
'!');
inserta con xito el carcter
'!' en la posicin 11 en lugar
de
resultar
en
un
ArrayIndexOutOfBoundsExce
ption.
5. Considere el siguiente
segmento de cdigo:
Cul de las siguientes
opciones
describe
correctamente
el
comportamiento
de
este
segmento de cdigo?
a) Este cdigo se traducir
en un error de compilacin
desde un tipo de referencia
(de tipo booleano) no puede
ser utilizado como parte de
la
expresin
para
la
condicin de verificacin.
b) Este cdigo se traducir
en
un
lanzar
una
NullPointerException.
c) Este cdigo imprimir
cierto en consola.

d) Este cdigo imprimir


falsa en la consola.
5. b) Este cdigo se traducir
en
un
lanzar
una
NullPointerException.
Tenga
en
cuenta
que
unboxing puede tener lugar
en las expresiones al utilizar
un objeto de tipo envoltura
en lugar de un valor de tipo
primitivo. En este caso, en la
comprobacin de condicin
para la condicional operador
(operador?:), se requiere un
valor booleano primitiva, sino
un objeto de tipo envoltura
es proporcionado. Por lo
tanto auto-unboxing ocurre,
con la referencia que apunta
a null. Como resultado, este
resultados del segmento de
cdigo
en
lanzar
una
NullPointerException.
6. Cul ser la salida del
siguiente programa?
6. a) Base
derivado
DeriDerived
Siempre que una clase se
crea
una
instancia,
el
constructor de sus clases
base (el constructor de la
raz de la jerarqua ser
ejecutado primero) se invoca
antes de que el constructor
de la clase instanciada.
7. Considere el siguiente
segmento de cdigo:
Clase
MODIFICADOR
SomeClass {}
Cules de los siguientes
modificadores,
cuando
sustituy
en
lugar
de
MODIFICADOR,
compilar
limpiamente?
7. a) pblico
d) Resumen
e) ltima
Slo pblicos, resumen y
modificadores final estn
permitidos para una clase
externa;
uso
private,
protected o esttica dar
lugar
a
un
error
del
compilador.
8. Considere la siguiente
definicin de clase:
Cul de las siguientes
definiciones del constructor
Point
pueden
ser
reemplazados sin compilador
errores
en
lugar
del
comentario DEFAULT_CTOR?
8. c) Punto privado () {
esto (0, 0);
}
Opciones
a)
yb):
Las
llamadas a super () o este ()
debe
ser
la
primera
instruccin
de
un
constructor, por lo tanto,
tanto las llamadas no pueden
estar all en un constructor.
Opcin d): invocacin del
constructor recursiva para

Point () que el compilador


detectar.
Opcin e): Usted no puede
hacer referencia a un campo
de instancia x mientras se
invoca explcitamente un
constructor
usando esta palabra clave.
9.Seleccione tres opciones
correctas de la siguiente
lista:
a) Extraccin Stmt-1 har
que el compilable programa
y se imprimir el siguiente:
Derivado Base.
b) Extraccin Stmt-1 har
que el compilable programa
y se imprimir el siguiente:
Base: Hola Derivado.
c) La eliminacin de Stmt-2
har que el compilable
programa y se imprimir el
siguiente: Derivado Base.
d) Extraccin tanto Stmt-1 y
Stmt-2
har
que
el
compilable programa y se
imprimirn Derivado Base: el
siguiente.
e) Extraccin tanto Stmt-1 y
Stmt-2
har
que
el
compilable programa y se
imprimirn
lo
siguiente:
Base: Hola Derivado.
9. b) Extraccin Stmt-1 har
que el compilable programa
y se imprimir el siguiente:
Base: Hola Derivado.
c) La eliminacin de Stmt-2
har que el compilable
programa y se imprimir el
siguiente: Derivado Base.
d) Extraccin tanto Stmt-1 y
Stmt-2
har
que
el
compilable programa y se
imprimirn Derivado Base: el
siguiente.
Si quita Stmt-1, una llamada
a super (s) dar lugar a la
Base de impresin: Hola, y
luego
constructor
de
la clase
derivada
invocacin
imprimir
Derivado.
Del
mismo modo, la eliminacin
de Stmt-2 tambin producir
el programa correcto. De
hecho, si se quita estas dos
declaraciones, que Tambin
recibir
un
programa
compilable.
10. Usted desea utilizar el
MYCONST miembro esttico
que pertenece a la clase A en
abc.org.project
paquete.
Cul de las siguientes
afirmaciones se muestra el
uso correcto de la funcin de
importacin esttica?
10.
d)
importar
abc.org.project.A.MYCONST
esttica;
11. Cul de los siguientes
programas
compila
sin
errores y grabados "hola
mundo" en la consola?

11.
b)
la
importacin
java.lang.System.out
esttica;
clase StaticImport {
main (String [] args) {static
void pblicos
out.println ("hola mundo");
}
}
El miembro de salida es un
miembro esttico en la clase
System;
puedes
estticamente importarlo y
llamar mtodo println en l.
Tenga en cuenta que println
es miembro no esttica.
Adems, la declaracin
importacin
java.lang.System.out
esttica. *; dar lugar a un
error del compilador desde
fuera no es un
clase (pero un miembro
esttico de tipo PrintStream).
12. Considere el siguiente
programa y elegir la opcin
correcta de la lista dada:
a) El compilador informar de
un error en la declaracin #
1.
b) El compilador informar de
un error en la declaracin #
2.
c) El compilador informar de
errores en la declaracin # 3.
d) El programa se compilar
sin ningn error.
12.
a)
El
compilador
informar de un error en la
declaracin # 1.
Declaracin # 1 dar lugar a
un error del compilador, ya
que no se permite la palabra
clave protected
dentro de un cuerpo de
mtodo.
13. Considere el siguiente
programa y elegir la opcin
correcta de la lista de
opciones:
a) El programa imprimir el
siguiente: Base1.
b) El programa imprimir el
siguiente: Base2.
c) El compilador informar de
un error en la lnea marcada
con comentario CAST.
d) El programa dar lugar a
una
excepcin
(ClassCastException).
13. d) El programa dar lugar
a
una
excepcin
(ClassCastException).
El tipo dinmico de obj
variable
es
Base1
que
estabas tratando de echar en
Base2.
Esto no es compatible y as
da lugar a una excepcin.
14.Which
una
de
las
siguientes afirmaciones se le
sustituya, en lugar de // Stmt
# 1 para que el programa
compilar
y
ejecutar

correctamente para imprimir


"Inner: print" en la consola?
14. d) Outer.Inner interior =
new Exterior () nuevo interior
();
15.Which
una
de
las
siguientes opciones es la
correcta?
a) Cuando se compila, este
programa dar lugar a un
error del compilador en lnea
marcada
con
comentar
Access1.
b) Cuando se compila, este
programa dar lugar a un
error del compilador en lnea
marcada
con
comentar
Access2.
c) Cuando se ejecuta, este
programa imprime 10.
d) Cuando se ejecuta, este
programa imprime 0.
15. c) carreras y grabados 10
Este programa.
Una clase interna puede
acceder
incluso
a
los
miembros privados de la
clase externa. Del mismo
modo, la variable privada
que pertenece a la clase
interna se puede acceder en
la clase externa.
16.Which
una
de
las
siguientes opciones es la
correcta?
a) Cuando se compila, este
programa dar lugar a un
error del compilador en lnea
marcada
con
comentar
Access1.
b) Cuando se compila, este
programa dar lugar a un
error del compilador en lnea
marcada
con
comentar
Access2.
c) Cuando se ejecuta, este
programa imprime 10.
d) Cuando se ejecuta, este
programa imprime 0.
16. e) Cuando se ejecuta,
este programa imprime el
siguiente:
s, instancia de AnEnum
s, instancia de EnumBase
s, instancia de Enum
Una
enumeracin
puede
implementar una interfaz
(pero no puede extender una
clase, o no puede ser una
clase base). Cada constante
de enumeracin es un objeto
de su tipo de enumeracin.
una enumeracin
extiende automticamente el
java.util.Enum
clase
abstracta. Por lo tanto, todos
los tres instanceof cheques
xito.
17. Cul de las siguientes
afirmaciones son verdaderas
con
respecto
a
las
enumeraciones? (Seleccione
todas las aplicar.)
a) Una enumeracin puede
tener constructor privado.

b) Una enumeracin puede


tener constructor pblico.
c) Una enumeracin puede
tener mtodos pblicos y
campos.
d) Una enumeracin puede
implementar una interfaz.
e) Una enumeracin puede
ampliar una clase.
17. a) Enumeracin puede
tener constructor privado.
c) Enumeracin puede tener
mtodos pblicos y campos.
d)
Enumeracin
puede
implementar una interfaz.
18. Considere el siguiente
programa y predecir el
comportamiento:
a) El programa informar de
un error de compilacin en la
declaracin # 1.
b) El programa informar de
un error de compilacin en la
declaracin # 2.
c) El programa informar de
un error de compilacin en la
declaracin # 3.
d) El programa se compilar
sin errores.
18. c) El programa informar
de un error de compilacin
en la declaracin # 3.
Declaracin # 1 y # 2 no
plantear ninguna alarma;
slo el acceso a la variable
var generar
un error ya que el acceso es
ambigua (ya que la variable
se declara en tanto Base1 y
base2).
19. Considere el siguiente
programa:
Cul de las siguientes
opciones son correctas?
a)
Lnea
marcados
con
comentario ONE dar lugar a
un error del compilador.
b)
Lnea marcados
con
comentario DOS dar lugar a
un error del compilador.
c)
Lnea
marcados
con
comentario TRES dar lugar
a un error del compilador.
d) La lnea marcada con
comentario CUATRO dar
lugar
a
un
error
del
compilador.
19. c) La lnea marcada con
comentario TRES dar lugar
a un error del compilador.
Opciones a) yb): Para la
sustitucin tenga xito, el
tipo
sustituido
por
el
comodn?
debe ser DI o una de sus
sper tipos.
Opcin c): El tipo de DDI no
es un tipo de super de DI, por
lo que resulta en un error de
compilacin.
Opcin d): El argumento de
tipo no se proporciona, lo
que significa que C es un tipo
de prima en la

expresin nueva C (). Por lo


tanto, esto provocar una
advertencia del compilador,
pero no un error.
20. Considere las siguientes
definiciones:
Las
siguientes
opciones
proporcionan definiciones de
una clase de plantilla X.
Cul
de
las
opciones
especifica la clase X con un
parmetro de tipo cuyo lmite
superior declara DI ser el tipo
estupendo de la que todos
argumentos de tipo deben
ser derivados?
0. c) clase X <T extiende DI>
{}
La palabra clave extends se
utiliza para especificar el
lmite superior para el tipo T;
con esto, slo el
clases
o
interfaces
de
aplicacin de la DI interfaz se
puede utilizar como un
reemplazo para T.
Tenga en cuenta que la
palabra clave extends se
utiliza para cualquier tipo de
base,
independientemente
de si el tipo de base es una
clase o una interfaz.
21. Considere el siguiente
programa:
Cul de las siguientes
afirmaciones se compilar sin
errores si se sustituye en
lugar de la lnea marcada con
comentario Stmt?
21. b) Prueba de clase
extiende Base1 implementa
base3,
base4
{
Puede
extenderse desde slo una
clase base (desde Java no
soporta la clase mltiple
herencia). Sin embargo, se
puede implementar varias
interfaces; en ese caso, la
lista
de
interfaces
implementadas
estn
separados por comas.
22. En el contexto del patrn
Singleton,
cul
de
las
siguientes afirmaciones es
verdadera?
a) Una clase Singleton no
debe tener ningn miembros
estticos.
b) Una clase Singleton tiene
un constructor pblico.
c) Una clase de fbrica puede
utilizar el patrn Singleton.
d) Todos los mtodos de la
clase Singleton deben ser
privado.
22. c) Una clase de fbrica
puede utilizar el patrn
Singleton
Una clase de fbrica genera
el tipo deseado de objetos a
demanda. Por lo tanto, podra
ser requiere que existe slo
un objeto de fbrica; en este
caso, Singleton se puede

emplear en una Clase de


fbrica.
23. En el contexto del patrn
DAO,
que una de las
siguientes clases podran
estar jugando un papel de
TransferObject:
23. c) Image
El patrn DAO separa la
lgica de persistencia del
resto de la lgica de negocio.
En
este
patrn,
TransferObject es un papel
desempeado por un objeto
que necesita ser almacenado
en una
medio persistente. Aqu, slo
la clase de imagen se ajusta
a la descripcin de un
TransferObject.
24. Cul de los siguientes
conceptos
orientados
a
objetos describe tiene-una
relacin?
24.
d)
Composicin
:Composicin
tambin
conocido
como
El
establecimiento dispone de
una relacin, y la herencia se
conoce
como
un
es-un
relacin. El patrn Composite
es un patrn de diseo y no
es un nombre alternativo
para una tiene-una relacin.
has-a relationship.
25. Considere el siguiente
programa:
Cul de las siguientes
afirmaciones es verdadera?
a) Prueba de clase se
relaciona con ClassA con una
tiene-una relacin.
b) Prueba de clase se
relaciona con ClassC con una
relacin de composicin.
c) Prueba de clase se
relaciona con la cadena con
una relacin es-un.
d)
clase
ClassA
est
relacionado con InterfaceB
con una relacin es-un.
25. b) Prueba de clase se
relaciona con ClassC con una
relacin de composicin.
Cuando una clase hereda de
otra clase, que comparten
una relacin es-un. Por otra
parte, si una clase utiliza otra
clase
(al
declarar
una
instancia de otra clase), a
continuacin, la primera
clase tiene una cuenta, una
relacin
con
la
clase
utilizada.
26. Considere el siguiente
diagrama
UML
de
un
programa de clase y elija una
opcin de la derecha:

a) La clase muestra una baja


cohesin.
b) La clase implementa el
patrn Singleton.
c) La clase implementa el
patrn DAO.
d) La clase muestra una baja
de acoplamiento.
26. a) La clase muestra una
baja cohesin.
Los
mtodos
de
la
clase
muestran que la clase lleva a
cabo diferentes tipos de
operaciones que hacer esta
clase en cohesivo.
27. Considere el siguiente
programa:
Cul de las siguientes
opciones
describe
correctamente
el
comportamiento
de
este
programa?
a) Los resultados de los
programas en un error de
compilacin en la lnea
marcada con el comentario
COMPARE_TO.
b) El programa imprime los
siguientes: Brasil Rusia India
China.
c) El programa imprime los
siguientes: Brasil China India
Rusia.
d) El programa imprime el
siguiente: Rusia India China
Brasil.
e) El programa lanza la
InvalidComparatorException
excepcin.
f) El programa lanza la
InvalidCompareException
excepcin.
g) El programa lanza la
excepcin
NullPointerException.
27. b) El programa imprime
los siguientes: Brasil China
India Rusia.
Para el mtodo sort (), valor
nulo se pasa como segundo
argumento, lo que indica que
"ordenamiento natural" los
elementos "se debe utilizar.
En este caso, ordenamiento
natural para cuerdas
resultados en las cuerdas
ordenados
en
orden
ascendente. Tenga en cuenta
que pasa nulo al sort ()
mtodo no resulta en una
NullPointerException.
28. Cul de las siguientes
definiciones de clase se
compilar sin errores?
28. b) clase Q <T> {
Mem T;
Q pblica (T arg) {

mem = arg;
}
}
Opcin a): No se puede hacer
una referencia esttica de
tipo T.
Opcin c) yd): No se puede
crear una instancia de tipo T
o T [] con nuevo operador.
29. Cul de la siguiente
clase / interfaz soporta
"recuperacin
si
los
elementos basados en el
valor ms cercano a un valor
o valores dado?"
29. d) NavigableSet
EnumSet es un conjunto de
clases
aplicacin
especializada para su uso
con tipos de enumeracin.
HashSet es una aplicacin
Set que hace uso de un
mecanismo de hash para la
recuperacin
rpida
de
elementos. AbstractSet es la
clase base abstracta de
todas
las
clases
Set.
NavigableSet
ofrece
"Mtodos de navegacin"
que
pueden
buscar
bsquedas ms para un valor
o valores dados.
30. En una clase que ample
ListResourceBundle, que uno
de los siguientes mtodos
definiciones
anula
correctamente el mtodo
getObject () de la clase base?
30. b) public Object [] []
getContents () {
return new Object [] [] {{"1",
"Uno"}, {"2", "Duo"}, {"3",
"Trie"}};
}
Los getContents () mtodo se
declara
en
ListResourceBundle
de la
siguiente manera:
protegida objeto abstracto []
[] getContents ()
Los otros tres definiciones
son incorrectas anulaciones y
dar lugar a error del
compilador (s).
31. Cul de las siguientes
interfaces declara un iterador
de nombre nico mtodo ()?
(Nota: La implementacin de
esta interfaz permite que un
objeto sea el objetivo de la
cada una paradeclaracin.)
31. a) Iterable <T>
La interfaz Iterable <T>
declara este mtodo nico:
Iterator <T> iterador ();
Este mtodo iterator ()
devuelve un objeto de tipo
Iterator <T>. Una clase debe
implementar
Iterable <T> para el uso de
su objeto en una de cada
bucle.
32. Cul de las siguientes
opciones es la ms adecuada

para
la
generacin
de
nmeros aleatorios en una
aplicacin multi-hilo?
32.
b)
El
uso
de
java.util.concurrent.ThreadLo
calRandom
java.lang.Math.random () no
es eficiente para programas
concurrentes. uso
Resultados
ThreadLocalRandom
en
menos gastos generales y
contencin
cuando
se
compara con el uso de
Objetos
aleatorios
en
programas concurrentes (y
por lo tanto, el uso de este
tipo de clase es la mejor
opcin en este caso).
java.util.RandomAccess
no
est relacionada con la
generacin
de
nmeros
aleatorios. Esta interfaz es la
interfaz de base para las
estructuras de datos de
acceso
aleatorio
y
es
implementado por clases
tales
como
Vector
y
ArrayList.
java.lang.ThreadLocal
<T>
clase proporciona soporte
para la creacin variables de
subproceso local.
33. Considere el siguiente
programa:
Cul de las definiciones
asList en este programa
resultar en un error de
compilacin?
a) La definicin de asList1
dar lugar a un error del
compilador.
b) La definicin de asList2
dar lugar a un error del
compilador.
c) La definicin de asList3
dar lugar a un error del
compilador.
d) La definicin de asList4
dar lugar a un error del
compilador.
e)
Ninguna
de
las
definiciones (asList1, asList2,
asList3, asList4) dar lugar a
una error del compilador.
33. b) La definicin de
asList2 dar lugar a un error
del compilador.
En la definicin del mtodo
asList2, temp se declara
como ArrayList <?>. Dado
que la plantilla Constituye un
comodn, no se puede poner
cualquier
elemento
(o
modificar el envase). Por lo
tanto, la temp.add mtodo
call (elemento); dar lugar a
un error del compilador.
34. Considere el siguiente
programa:
Cul de las siguientes
opciones es la correcta?
a) Este programa dar lugar
a un error del compilador en

lnea
marcada
con
comentario ADD_MAP.
b) Este programa dar lugar
a un error del compilador en
lnea
marcada
con
comentario ADD_HASHMAP.
c) Este programa dar lugar
a un error del compilador en
lnea
marcada
con
comentario ITERATE.
d) Cuando se ejecuta, este
programa se colgar, lanzar
una NullPointerException en
lnea
marcada
con
comentario ADD_NULL.
e) Cuando se ejecuta, este
programa va a imprimir el
siguiente: null {} {}
34. e) Cuando se ejecuta,
este programa va a imprimir
el siguiente: null {} {}
Las lneas marcadas con
comentarios
ADD_MAP
y
ADD_HASHMAP
son
usos
vlidos
del
diamante
operador inferir argumentos
de tipo. En la lnea marcada
con comentario ITERATE, el
tipo
de
mapa
no
es
parametrizada,
lo
que
resultar en una advertencia
(no
es
un
error
del
compilador). Llamando al
add () mtodo paso nulo no
se
traduce
en
una
NullPointerException.
El
programa,
cuando
se
ejecuta, imprimir con xito
la salida nula, {}, {} (salida
nula indica un valor nulo esta
en la lista, y el {} de salida
indica que Map est vaca).
35. Considere el siguiente
programa:
Cules
declaraciones
pueden colocarse en el lugar
de // Stmt # 1 y el programa
sigue
siendo
compilable
(elegir dos):
35. a) Base <Number> b =
new Base <Nmero> ();
f) Derivado <Integer> b =
new Derivado <Integer> ();
Tenga en cuenta que la base
y
derivados
no
estn
relacionadas por una relacin
de herencia. Adems, para
parmetros de tipo genrico,
de subtipos no funciona: no
se puede asignar un tipo
genrico derivado parmetro
en un parmetro de tipo de
base.
36. Considere el siguiente
programa:
Cules
declaraciones
pueden colocarse en el lugar
de // Stmt # 1 y el programa
sigue
siendo
compilable
(seleccione todas las que
correspondan)?
36. a) Base <? extiende
Nmero> b = new Base
<Nmero> ();

d) derivado <? extiende


Nmero> b = new Derivado
<Integer> ();
f) Derivado b = new Derivado
<Integer> () <?>;
Cuando
<?
extiende
Nmero> se especifica como
un tipo, a continuacin, se
puede utilizar cualquier tipo
derivado de
Nmero
(incluyendo
nmero); por lo tanto, las
opciones
a)
yd)
son
correctas.
Opcin
f)
es
correcta, ya que nombres de
clase son los mismos en
ambos lados, y? en <?> se
sustituye por entero, que es
permitido.
37. Cul de las siguientes
afirmaciones
son
ciertas
acerca
java.sql.Savepoint?
(seleccione todas las que
correspondan)
a) Savepoint es un punto
dentro de la transaccin
actual que puede ser
referenciado a partir del
mtodo Connection.rollback
()
b) Cuando una transaccin
se revierte a un punto de
salvaguarda
todos
los
cambios realizados despus
que punto de salvaguarda se
deshecha.
c) Puntos de rescate deben
ser nombrados. No es posible
tener "sin nombre
puntos de rescate ".
d) java.sql.Savepoint es una
clase abstracta; que es
implementado por el clases,
tales como JDBCSavepoint,
ODBCSavepoint,
y
TransactionSavepoint en el
paquete java.sql.
37. a) Savepoint es un punto
dentro de la transaccin
actual
que
puede
ser
referenciado desde el Mtodo
Connection.rollback ().
b) Cuando una transaccin
se revierte a un punto de
salvaguarda,
todos
los
cambios hechos despus de
que punto de salvaguarda
son deshecho.
Puntos de rescate pueden ser
con o sin nombre. Podemos
identificar un "punto de
salvaguarda no identificado"
por
en
referencia
a
la
ID
generado por la fuente de
datos subyacente.
java.sql.Savepoint es una
interfaz (no es una clase
abstracta).
Clases
JDBCSavepoint,
ODBCSavepoint
y
TransactionSavepoint
no
existen
en
el
paquete
java.sql.
Por
lo
tanto,

opciones
a)
yb)
son
correctas.
38. Considere el siguiente
programa y elegir la opcin
adecuada:
a) Declaraciones # 1 y # 2
se compila correctamente.
b) Declaraciones # 1 y # 3
se compila correctamente.
c) Declaraciones # 1, # 2 y #
3 se compila correctamente.
d) Declaraciones # 2 y # 4
se compila correctamente.
38. b) Declaraciones # 1 y #
3 se compila correctamente.
LinkedHashSet hereda de
ajuste de forma declaracin
# 1 compilar. TreeSet
hereda de
SortedSet as
declaracin # 3 tambin se
compilar correctamente.
LinkedHashSet se hereda de
HashSet as declaracin # 2
no se compilar. Declaracin
# 4 intentos para crear un
objeto de tipo NavigableSet
que es una interfaz, por lo
que tambin no lo har
compilar.
39. Considere el siguiente
programa:
Cul ser el resultado de
este programa?
39. c) [3, 5, 10]
TreeSet es un conjunto
ordenado; por lo tanto, todos
los elementos insertados se
clasifican
en
orden
ascendente. tambin,
desde
TreeSet
es
un
conjunto,
se
eliminar
cualquier elemento duplicado
insertado.
40. Cul de las siguientes
afirmaciones
son
ciertas
acerca de las clases relativas
a la fecha de formato y el
tiempo
de
las
culturas
locales? (seleccione todas las
que correspondan)
a) java.text.Format es la
clase base abstracta que
soporta
el
formato
de
sensible
a
la
localidad
informacin tal como la
fecha, hora y moneda
b)
java.text.CustomTimeFormat
le permite definir patrones
personalizados
para
el
procesamiento tiempo para
lugares especficos.
c)
java.text.NumberFormat
deriva
de
la
clase
java.text.Format; es la base
clase para procesar nmeros,
moneda, etc., en una forma
sensible
la
configuracin
regional.
d)
java.text.DateFormat
deriva
de
la
clase
java.text.Format; es la clase
base
por
fecha
de
procesamiento y la hora

segn
la
configuracin
regional.
40. a) java.text.Format es la
clase base abstracta que
soporta
el
formato
de
sensible
a
la
localidad
informacin tal como la
fecha, hora y moneda
c)
java.text.NumberFormat
deriva
de
clase
java.text.Format; es la clase
base para procesar nmeros,
moneda, etc., en una forma
sensible locale.
d)
java.text.DateFormat
deriva
de
la
clase
java.text.Format; es la clase
base
para
fecha
de
procesamiento y la hora
segn
la
configuracin
regional.
Clase
java.text.SimpleDateFormat
le permite definir patrones
personalizados
para
el
procesamiento fecha y hora
para lugares especficos.
41. Considere el siguiente
programa y elegir la opcin
adecuada:
a) Declaracin # 1 y # 2 se
compila correctamente.
b) Declaracin # 2 y # 3 se
compila correctamente.
c) Declaracin # 3 y # 4 se
compila correctamente.
d) Declaracin # 4 y # 1
compilarn con xito
41. b) Declaracin # 2 y # 3
se compila correctamente.
Debido a la sintaxis de
diamantes, es opcional para
especificar los tipos de
plantilla en el lado derecho
de una declaracin de la
creacin de objetos. Por lo
tanto, la declaracin # 3 es
correcta. Declaracin # 2 es
correcta, ya que HashMap es
un mapa. Por lo tanto, la
opcin b) es correcta.
En la declaracin # 1, el
orden de los argumentos del
tipo declarado es diferente
del orden de argumentos en
el tipo inicializado. En la
declaracin # 4, la sintaxis
de diamante se utiliza en el
declaracin del tipo y as es
incorrecta
(el
camino
correcto
es
utilizar
el
operador de diamantes en el
tipo de inicializacin).
42. Considere el siguiente
programa y predecir la
salida:
42. d) {3 = 3, 5 = 25, 10 =
10}
TreeMap es un mapa; -a valor
se almacena en contra de
una clave, y los elementos se
ordenan segn la clave.
Opcin c) no es posible, ya
que no pueden existir dos
valores para una clave. En un

mapa,
las
claves
son
secuenciales, por lo que las
opciones a) yb) no son
posibles. Opcin e) tampoco
es correcto ya que han
sobrescrito el valor 25 en
contra de la tecla 5, que no
est capturado por la opcin
e).
43. Considere el siguiente
programa y predecir la
salida:
43. a) [10, 20]
El mtodo peek () recupera
un elemento de la cabeza de
la Deque y vuelve, pero hace
No retire el elemento. Por lo
tanto, no habr ningn
impacto en el deque.
44. Cul de las siguientes
clases
del
paquete
java.util.concurrent.atomic
heredan
de
java.lang.Number?
(Seleccione todas las que
correspondan).
44. b) AtomicInteger
c) AtomicLong
Clases
AtomicInteger
y
AtomicLong extienden clase
Number.
AtomicBoolean
no
se
extiende java.lang.Number.
Las clases nombradas como
AtomicFloat o
AtomicDouble no existen en
el
paquete
java.util.concurrent.atomic.
45. Considere el siguiente
programa y predecir la
salida:
a) Este programa imprime el
siguiente: true.
b) Este programa imprime el
siguiente: falso.
c) Este programa resulta en
un error del compilador.
d) Este programa lanza
NoSuchElementException.
45.
b)
Este
programa
imprime el siguiente: falso.
Dado que los mtodos equals
() y hashCode () no se anula
para la clase del estudiante,
la mtodo contains () no
funcionar segn lo previsto
y las impresiones falsas.
46. Cul de las siguientes
afirmaciones son verdaderas
con respecto a los paquetes
de recursos en el contexto de
localizacin?
(seleccione
todas las que correspondan)
a)
java.util.ResourceBundle
es la clase base y es una
abstraccin de paquetes de
recursos
que contienen objetos localeespecficos.
b)
java.util.PropertyResourceBu
ndle
es
una
subclase
concreta
de
java.util
ResourceBundle
que
administra los recursos para

una configuracin regional


utilizando cuerdas prevista
en elforma de un archivo de
propiedades.
c) Las clases se extiende
java.util.PropertyResourceBu
ndle debe anular el mtodo
getContents (), que tiene el
tipo devuelto Object [] [].
d)
java.util.ListResourceBundle
define los GetKeys () que
devuelve enumeracin de
claves contenidas en el
paquete de recursos.
46. a) ResourceBundle es la
clase
base
y
es
una
abstraccin de paquetes de
recursos
que
contener
objetos locale-especficos.
d)
java.util.ListResourceBundle
define los GetKeys () que
devuelve la enumeracin de
claves contenidas en el
paquete
de
recursos.
java.util.ListResourceBundle
es una subclase concreta de
java.util.The ResourceBundle
que gestiona los recursos
para
una
configuracin
regional utilizando cuerdas
proporcionados en forma de
un archivo de propiedades.
Las clases se extienden
java.util.ListResourceBundle
debe anular los getContents
() mtodo que tiene el tipo
devuelto Object [] [].
47. Considere el siguiente
programa y predecir la
salida:
47. a) falsa
verdadero
Desde entonces, el objeto
recin creado no es parte de
los estudiantes establecer, la
llamada
a
la
voluntad
contiene
resultado en falso (tenga en
cuenta que los mtodo
equals () no queda relegado
en esta clase). s10 objeto
forma
parte
de
los
estudiantes establecidos. As
que la opcin a) es la
respuesta correcta.
48. Cul de las siguientes
afirmaciones son verdaderas
con respecto a las clases o
interfaces definidas en el
paquete java.util.concurrent?
a)
La
interfaz
Ejecutor
declara un solo mtodo
execute
(comando
Ejecutable) que ejecuta el
comando dado en algn
momento en el futuro.
b) La interfaz invocable
declara una nica llamada al
mtodo () que calcula un
resultado.
c) La clase Intercambiador
proporciona un "punto de
sincronizacin en la que los

hilos se pueden vincular y


cambiar elementos dentro de
pares ".
d) La enumeracin TimeUnit
representa la duracin de
tiempo y es til para
especificar parmetros de
sincronizacin en programas
concurrentes.
48. a) La interfaz Ejecutor
declara un solo mtodo
execute
(comando
Ejecutable) que ejecuta el
comando dado en algn
momento en el futuro.
b) La interfaz invocable
declara una nica llamada al
mtodo () que calcula un
resultado.
c) La clase Intercambiador
proporciona un "punto de
sincronizacin en la que los
hilos se pueden vincular y
cambiar elementos dentro de
pares ".
d) La enumeracin TimeUnit
representa la duracin de
tiempo y es til para
especificar parmetros de
sincronizacin en programas
concurrentes.
Opciones a), b), c), yd) - las
cuatro
opciones
son
afirmaciones correctas.
49. Considere el siguiente
programa y predecir la
salida:
a)
Este
programa
no
imprimir ninguna salida y
arrojar ClassCastException.
b) Este primer programa
imprimir 10 y 20 y luego
tirar ClassCastException.
c) Este programa dar lugar
a un error del compilador en
lnea
marcada
con
comentario ADD_STR.
d) Este programa imprimir
10, 20, y hola.
49. d) Se imprimir 10, 20, y
hola.
La Lista de tipo cruda se
inicializa de List <Integer>
(que genera un compilador
advertencia no es un error), y
luego aadir un elemento de
cadena a lista de crudo, que
es permitido. Entonces toda
la lista se itera para imprimir
cada
elemento;
cada
elemento se ech a el tipo de
objeto, por lo que imprime
10, 20, y hola.
50. Cules de las siguientes
opciones
proporcionan
asignaciones que compilar
sin errores?
50. b) Map <String, String>
map2
=
new
IdentityHashMap <> ();
c) Map <String, String>
map3 = new Hashtable <>
();
Las clases IdentityHashMap y
Hashtable derivan de la

interfaz del mapa, por lo que


el asignaciones en la B) y C)
Opciones
compilar
sin
errores.
NavigableMap
y
ConcurrentMap
son
interfaces que se derivan de
la interfaz del mapa, y las
interfaces no puede ser
instancia; por lo tanto, las
asignaciones en las opciones
a) yd) dar lugar a errores de
compilacin.
51. Considere el siguiente
programa:
Cul de las
siguientes opciones es la
correcta?
a) Cuando se compila, este
programa resultar en un
error de compilacin en
Linked
marcado
con
comentar ELIMINAR.
b) Cuando se ejecuta, este
programa se estrellar con
tirar
la
excepcin
UnsupportedOperationExcept
ion al ejecutar la lnea
marcada
con
comentario
ELIMINAR.
c) Cuando se ejecuta, este
programa
imprimir
el
siguiente resultado: [hola,
mundo, helloworld]
d) Cuando se ejecuta, este
programa
imprimir
el
siguiente
resultado:
[!
mundo, helloworld]
e) Cuando se ejecuta, este
programa
imprimir
el
siguiente resultado: [mundo,
helloworld]
51. b) Cuando se ejecuta,
este programa se estrellar
con
tirar
la
excepcin
UnsupportedOperationExcept
ion al ejecutar la lnea
marcada con el comentario
QUITAR.
El
mtodo
Arrays.asList devuelve un
objeto de lista que est
respaldado por una serie de
longitud fija. Usted no puede
modificar el objeto de lista
devuelta por esta matriz, por
lo que los mtodos como
complemento llamando al
Add()
o eliminar () dar
lugar
a
lanzar
una
UnsupportedOperationExcept
ion.
52. Considere el siguiente
programa y predecir la
salida:
52. c) 115 110
El
operador
de
concatenacin de cadenas
funciona de la siguiente
manera: si ambos operandos
son nmeros, que realiza la
adicin; de lo contrario,
concats
los
argumentos
mediante una llamada al
mtodo toString () mtodo si
es necesario. Evala de
izquierda a derecha. Por lo
tanto, la expresin en el

programa resultados en la
cadena de 115.110.
53. Considere el siguiente
programa y predecir la
salida:
53. a) 11.5511.5
La norma especifica en la
explicacin anterior se aplica
aqu tambin. Sin embargo,
aqu, el orden de clculo se
cambia utilizando corchetes.
Por lo tanto, el operador +
aade los nmeros en la
soportes
primero,
y
se
obtiene 11.5511.5.
54. Considere el siguiente
programa:
Cul de las siguientes
opciones
proporciona
correctamente la salida de
este programa?
54.
d)
el
infierno
00123
En primer mtodo printf (),%
3.4s
indica
que
desea
imprimir los cuatro primeros
caracteres de una cadena. En
el segundo printf () llamada
al mtodo,% 05d indica que
queras imprimir un mnimo
de cinco dgitos de un
nmero entero. Si el nmero
no tiene suficientes dgitos,
entonces los nmero ir
precedido de ceros a la
izquierda.
55. Considere el siguiente
programa:
Cul de las siguientes
opciones
describe
correctamente
el
comportamiento
de
este
programa?
a) Cuando se compila, este
programa dar un error del
compilador en lnea marcada
con comentario
Extrae
los
desaparecidos
controlador
catch
para
NumberFormatException.
b) Cuando se ejecuta, el
programa
imprime
el
siguiente: 1 + 2 + 3 + 4 =
1234.
c) Cuando se ejecuta, el
programa
imprime
el
siguiente: 1 + 2 + 3 + 4 =
10.
d) Cuando se ejecuta, el
programa
imprime
el
siguiente: 1 + 2 + 3 + 4 =
127.
e) Cuando se ejecuta, el
programa
imprime
el
siguiente: 1 + 2 + 3 + 4 =
19.
f) Cuando se ejecuta, el
programa
lanza
una
NumberFormatException en
la
lnea
marcada
con
comentario PARSE.
55. b) Cuando se ejecuta, el
programa
imprime
el
siguiente: 1 + 2 + 3 + 4 =
1234.

El
operador
de
concatenacin de cadenas
funciona de la siguiente
manera: si ambos operandos
son nmeros, que realiza la
adicin; de lo contrario, se
realiza la concatenacin de
cadenas. Los controles del
operador del operando de la
izquierda a la derecha. Aqu,
el primer operando es una
cadena; Por lo tanto, todos
los
operandos
son
concatenada.
Tenga en cuenta que no es
necesario
coger
parseInt
NumberFormatException ya
que
es
una
RuntimeException; por lo que
la falta de el controlador de
captura no dar lugar a un
error de compilacin. Desde
el mtodo parseInt tiene
xito, el programa no lanza
NumberFormatException.
56. Considere el siguiente
programa y predecir la
salida:
56. a) NO: 10 y 7
no: 2 $ s y 1 $ s
El especificador de formato
de cadena% $ s indica que
desea volver a ordenar los
valores
de entrada.
Un
nmero (entero) intercalado
entre un% y un smbolo $ se
utiliza para volver a pedir la
valores
de
entrada;
el
nmero indica qu entrada
variable que desea poner
aqu. En %2$s indica que
usted
quiere
poner
el
segundo
argumento.
Del
mismo modo,%1$s indica
que quiere poner el primer
argumento.
57. Considere el siguiente
programa y predecir la salida
(ignorar cualquier lnea vaca
en la salida):
d) Este programa se emite
una excepcin de tiempo de
ejecucin.
57. b) b b b
La
expresin
regular
especificada (es decir, "un \\
**")
coincidir
con
una
cadena a partir de una "a"
seguida de una
o ms "*" (ya que "\\ **"
significa
cero
o
ms
ocurrencias de "*"). Por lo
tanto, cuando la divisin es
pidi a la cadena de entrada,
da lugar a tres "b" s.
El segundo argumento indica
un lmite de divisin, que
controla el nmero de veces
que los se aplica patrn.
Aqu, el lmite es de 10, pero
el patrn se aplica slo tres
veces, por lo que no hace
ninguna diferencia en este
programa.

58. Considere el siguiente


programa y predecir la
salida: El
segundo
argumento indica un lmite
de divisin, que controla el
nmero de veces que los se
aplica patrn. Aqu, el lmite
es de 10, pero el patrn se
aplica slo tres veces, por lo
que
no
hace
ninguna
diferencia en este programa.
58. a) verdadero
falso
verdadero
La
expresin
regular
especificada espera cero o
ms instancias de "xx",
seguido de un cero o uno
instancia de "y" y seguido
adems por uno o ms casos
de "z". La primera cadena
coincide con la expresin
regular (una instancia de
"xx" cero casos de "y", y ms
de una instancia de
"z"), y por lo tanto los
partidos () devuelve true. La
segunda cadena no partido
con la expresin regular a
causa de una "x" (y no "xx"),
por lo tanto, los partidos ()
devuelve falso. La tercera
cadena coincide con la
expresin
regular
especificada (ya que hay
cero casos de "xx", uno
ejemplo de "y", y ms de una
instancia de "z"), por lo tanto
los partidos () imprime cierto.
59. Considere el siguiente
programa y predecir la
salida:
d) Este programa no da lugar
a ninguna salida.
59. b) OCPJP
2013
La expresin "\ b" coincide
con los lmites de palabras.
La primera "\ b" coincide con
el principio de cuerdas, "\ W
+" partidos a OCPJP ","
partidos espacio en blanco, y
"\ b" coincide con el inicio de
la segunda palabra. Por lo
tanto, se imprime OCPJP en
la primera lnea. Del mismo
modo, "\ b" coincide con el
inicio de la segunda palabra,
"\ w +" coincide con el ao
2013, "\ D" coincide con el
espacio en blanco, y "\ b"
coincide con el comienzo de
la tercera palabra. Por lo
tanto, el programa imprime
2.013 en la segunda lnea.
Sin embargo, para la ltima
palabra, "\ b" coincide con el
inicio de la tercera palabra, "\
w +" coincide con la OCPJP7,
pero "\ D" no coincide con
nada; por lo tanto, la tercera
palabra no se imprime.
60. Considere el siguiente
programa y predecir la
salida:

a)
9876543210:
N.,
Suneetha, 9898989898: Patil,
Pratish
b)
Suneetha
N.
=
9876543210, Pratish Patil =
9898989898
c)
Suneetha
N.
=
9876543210,
9898989898:
Patil, Pratish
d) Este programa se emite
una excepcin de tiempo de
ejecucin.
60. c) Suneetha N. =
9876543210,
9898989898:
Patil, Pratish
El
primer
contacto
no
coincide con la expresin
regular especificada (ya no
est cubierto por "\ w +" ".");
Por lo tanto, la primera parte
de la cadena es sin cambios.
La segunda parte de la
cadena coincide con la regex
especificado, por lo que la
sustituya
reorganiza
la
subcadena.
61. Cul de las siguientes
dos
declaraciones
son
verdaderas acerca de los
flujos predefinidos System.in,
System.out y System.err?
a) System.in es de tipo
InputStream.
b) System.in es de tipo
FileReader.
c) System.out es de tipo
OutputStream.
d) System.err es de tipo
flujoError.
e)
Tanto
System.out
y
System.err
son
de
tipo
PrintStream.
f)
Tanto
System.out
y
System.err
son
de
tipo
FileWriter.
61. a) System.in es de tipo
InputStream.
e)
Tanto
System.out
y
System.err
son
de
tipo
PrintStream.
System.in
es
de
tipo
InputStream,
y
ambos
System.out y System.err son
de tipo
PrintStream. Estos son flujos
de bytes, a pesar de que se
utilizan normalmente para la
lectura y la escritura
personajes desde o hacia la
consola.
62. Considere el siguiente
programa:
Cul de las siguientes
opciones
muestra
correctamente la salida de
este programa cuando el
programa se ejecuta?
a) Este programa no imprime
ninguna salida en la consola.
b) Este programa imprime el
siguiente resultado:
En
AutoCloseableImpl.close ()
c) Este programa imprime el
siguiente resultado:
En
AutoCloseableImpl.close
()

En
CloseableImpl.close ()
d) Este programa imprime el
siguiente resultado:
En
CloseableImpl.close () En
AutoCloseableImpl.close ()
62.
c)
Este
programa
imprime
el
siguiente
resultado:
En AutoCloseableImpl.close
()
En
CloseableImpl.close ()
Los
tipos
de
ejecucin
AutoCloseable se pueden
utilizar con una sentencia
try-con-recursos.
La interfaz se puede cerrar
extiende AutoCloseable, por
lo que las clases que
implementan
closeable
puede
tambin ser utilizado con una
sentencia
try-con-recursos.
Los estrechos (mtodos) son
llamados en el orden inverso
en comparacin con el fin de
recursos adquiridos en la
sentencia
try-con-recursos.
As, este programa llama al
close
()
mtodo
de
AutoCloseableImpl primero, y
despus de que llama al
mtodo close () en el Objeto
CloseableImpl.
63. Considere el siguiente
fragmento de cdigo y elegir
la mejor opcin:
a) El fragmento de cdigo se
compilar sin errores.
b) El compilador informar de
un error en la declaracin #
1.
c) El compilador informar de
un error en la declaracin #
2.
d) El compilador informar de
errores en las declaraciones
# 1 y # 2.
63.
c)
El
compilador
informar de un error en la
declaracin # 2.
Tanto de las excepciones
especificadas pertenecen a
misma
jerarqua
(FileNotFoundException
deriva de una IOException),
por lo que no se puede
especificar
ambas
excepciones juntos en el
multi-captura
bloque
manejador.
64. Considere el siguiente
segmento de cdigo:
Supongamos
que
ArchivoDeEntrada es de tipo
FileReader y archivoSalida es
de tipo FileWriter, y ch es de
tipo
Char. El mtodo read ()
devuelve el carcter de tener
xito, o VAL si el fin de la
corriente ha sido
alcanzado. Cul es el valor
correcto
de
este
VAL
comprobado en el bucle

mientras que para final de la


corriente?
64. a) -1
El
mtodo
read () devuelve el valor -1 si
no se llega al final de la
corriente (EOS), que es
comprobado en este bucle
while.
65. Considere el siguiente
programa y predecir la
salida:
a) El presidente de Estados
Unidos [name = Barack
Obama, perodo = 2009 a -,
trmino = trmino 56o]
El
presidente
estadounidense, [name =
Barack Obama, perodo =
2009 a -, trmino = trmino
56o]
b) El presidente de Estados
Unidos [name = Barack
Obama, perodo = 2009 a -,
trmino = trmino 56o]
El
presidente
estadounidense, [name =
Barack Obama, perodo =
2009 a -, trmino = null]
c) Este programa dar lugar
a un error del compilador.
d) Este programa resultar
en una excepcin de tiempo
de ejecucin.
65. a) El presidente de
Estados Unidos [name =
Barack Obama, perodo =
2009 a -, trmino = trmino
56o]
El
presidente
estadounidense, [name =
Barack Obama, perodo =
2009 a -, trmino = trmino
56o]
Las
variables
transitorias
estticas
se
conservan
durante la serializacin.
66. Cul de las siguientes
afirmaciones verdaderas?
a) Si no se especifica
serialVersionUID
mientras
que en la serializacin, la
clase no se compilar
b) Si no se especifica
serialVersionUID
mientras
que en la serializacin, JVM
trabajar
en
todos
plataformas
e
implementaciones JVM.
c) Si va a implementar una
interfaz Externalizable, no es
necesario
especificar
serialVerionUID.
d) Si una clase es serializado
y se intenta serializar de
nuevo, la JVM no serializar
debido
a
la
misma
serialVersionUID.
66. d) Si una clase es
serializado y se intenta
serializar de nuevo, la JVM no
serializar debido a la misma
serialVersionUID.
67. Considere el siguiente
programa:
Suponga
que
tiene un archivo llamado

HelloWorld.txt
con
el
siguiente contenido: Hola
Mundo!Este programa se
ejecuta desde la lnea de
comandos como:
java
CopyFile
HelloWorld.txt
World.txt
Cul de las siguientes
opciones
describe
correctamente
el
comportamiento
de
este
programa (suponiendo que
tanto SRCFILE y dstFile se
abren con xito)?
a) El programa lanzar una
IOException debido skip () se
llama antes de llamar a read
().
b) El programa dar lugar a
la
creacin
del
archivo
World.txt con el contenido
"Mundo!" en el mismo.
c) Este programa dar lugar
a tirar CannotSkipException.
d) Este programa dar lugar
a
tirar
IllegalArgumentException.
67. b) El programa dar lugar
a la creacin del archivo
World.txt con el contenido
"Mundo!" En el mismo.
La llamada al mtodo skip (n)
salta n bytes (es decir, se
mueve el puntero del bfer n
bytes). en este caso, 6 bytes
deben ser omitidos, por lo
que la cadena "Hola" no se
copian en el bucle while
mientras leer y escribir el
contenido del archivo.
Explicacin de las opciones
equivocadas:
Opcin a): El mtodo de salto
() puede ser llamado antes
de que el mtodo read ().
Opcin c): No existe ninguna
excepcin
nombrada
CannotSkipException.
Opcin d): El salto () mtodo
arrojar
una
IllegalArgumentException
slo si un negativo se pasa
de valor.
68. Considere el siguiente
programa:
Cul de las siguientes
opciones es la correcta?
a) Este programa imprime el
siguiente:
config
\
systemprofile.
b) Este programa imprime el
siguiente: config.
c) Este programa imprime el
siguiente: systemprofile.
d) Este programa imprime el
siguiente: system32 \ config.
e) Este programa lanza una
IllegalArgumentException.
68.
c)
Este
programa
imprime
el
siguiente:
systemprofile.
Aqu est la descripcin del
mtodo
subtrazado:
El
subtrazado (int beginIndex,
int endIndex) devuelve un

objeto Path. El objeto Path


devuelto tiene nombres que
comenzar a las beginIndex
hasta el elemento en el
ndice endIndex - 1. En otras
palabras,
es
beginIndex
incluido el nombre de dicho
ndice y exclusiva del nombre
en endIndex. este mtodo
puede
lanzar
una
IllegalArgumentException si
beginIndex es> = nmero de
elementos, o endIndex <=
beginIndex o endIndex es>
nmero de elementos. En
este programa, el ndice se
inicia con Windows, en el
ndice 0. El beginIndex dado
es 3, por lo que es el
subtrazado systemprofile, y
es exclusiva de la endIndex
con valor4. Por lo tanto la
salida.
69. Considere el siguiente
segmento de cdigo:
Cul de las siguientes
opciones
proporciona
correctamente la salida de
este segmento de cdigo?
69. c) C: \ WINDOWS \
system32
\
config
\
systemprofile \ Start Menu \
Programs
El
mtodo normalize () elimina
los elementos redundantes
en el camino, tales como.
(smbolo de punto que indica
el directorio actual) y .. (el
smbolo de doble punto que
indica el padre directorio).
Por lo tanto, la trayectoria
resultante es C: \ WINDOWS \
system32
\
config
\
systemprofile \ Start Menu \
Programs.
70. Considere el siguiente
programa y predecir la
salida:
a) Este programa imprime el
siguiente: en Base.finalize.
b) Este programa imprime el
siguiente:
en
Derived.finalize.
c) Este programa lanza una
CannotRunFinalizersOnExitEx
ception.
d) Este programa lanza una
NullPointerException.
70.
b)
Se imprime el
siguiente:
en
Derived.finalize.
El
Runtime.runFinalizersOnExit
declaracin
(true);
se
asegura de que el mtodo
finalize se invoca cuando se
cierra la aplicacin (aunque
el
mtodo
runFinalizersOnExit
()
es
ahora en desuso). En este
caso, el tipo dinmico del
objeto es "Derivado", por lo
que la finalize () mtodo de
la clase derivada se invoca

antes
de
salir
de
la
aplicacin.
71. Considere el siguiente
programa y predecir la
salida:
71. c) 2
La mem variable es 0
inicialmente. Se incrementa
en uno en el bloque try y se
incrementa ms en el bloque
finally para 2. Observe que
finalmente
siempre
se
ejecutar
independientemente de si se
produce una excepcin en el
bloque try o no. Por lo tanto,
el programa imprimir 2
72. Considere el siguiente
programa:
Desde la lnea de comandos,
este programa se invoca de
la siguiente manera:
Cul de las siguientes
opciones
describe
correctamente
el
comportamiento
de
este
programa cuando se ejecuta?
a) Este programa se bloquea
lanzar una AssertionError en
lnea
marcada
con
comentario
ASSERT_BASE.
b) Este programa se bloquea
lanzar una AssertionError en
lnea
marcada
con
comentario
ASSERT_DERIVED.
c) Este programa primeras
impresiones
"Caught
excepcin"
y
luego
se
estrella lanzar una
AssertionError
en
lnea
marcada
con
comentario
ASSERT_DERIVED.
d) Este programa completa la
ejecucin normalmente sin
producir cualquier salida o
lanzar ninguna excepcin.
72.
d)
Este
programa
completa
la
ejecucin
normalmente sin producir
cualquier salida o lanzar
ninguna excepcin.
La declaracin afirma cierto;
cuando se ejecuta siempre
tener xito. La asercin
declaracin cierto; cuando se
ejecuta siempre fallar.
Recuerde
que
las
afirmaciones
estn
desactivados por defecto, y
-ea permite a la afirmacin
de la todo el programa. Sin
embargo,
-da
desactiva
afirmaciones, y -da: Derivado
instruye a la JVM que
desactivar afirmaciones en la
clase derivada. Por lo tanto,
el programa completa la
ejecucin normalmente sin
producir ninguna salida o
lanzar alguna excepcin.
73. Considere el siguiente
segmento de cdigo:

Supongamos que SRCFILE y


dstFile son cadenas. Cul de
las
siguientes
opciones
describe correctamente el
comportamiento
de
este
programa?
a) Este programa se meter
en un bucle infinito porque la
comprobacin de condicin
para al final de la corriente
(de cheques! = -1) es
incorrecta.
b) Este programa se meter
en un bucle infinito porque el
ch variable se declara como
int en lugar de carbn.
c) Este programa dar lugar
a un error del compilador en
lnea
marcada
con
comentario
TRY-BLOQUE
porque hay que utilizar,
(coma) en lugar de; (punto y
coma) como separador para
la apertura de mltiples
recursos.
d) Este programa dar lugar
a un error del compilador en
lnea
marcada
con
comentario
MULTI-CATCHBLOCK porque IOException
es la clase base para
FileNotFoundException.
73. d) Este programa dar
lugar
a
un
error
de
compilacin en la lnea
marcada con el comentar
MULTI-CATCH-BLOCK porque
IOException es la clase base
para FileNotFoundException.
74. Considere el siguiente
programa y reemplazar la
sentencia # 1 y # 2 con
adecuada declaraciones:
74. a) cadena usuario = null;
char
[]
password = null;
El
mtodo
readLine
()
devuelve un objeto String
mientras los readPassword ()
devuelve el mtodo una
matriz de char.
75.
Suponiendo
que
el
archivo es una variable
String,
cul
de
las
siguientes afirmaciones NO
es un declaracin vlida?
75. c) FilterReader fr = new
FilterReader
(archivo);
FilterReader es una
clase abstracta y por lo tanto
no
se
pueden
crear
instancias.
76. Considere el siguiente
fragmento:
Cul de las siguientes
afirmaciones
se
pueden
reemplazar en el lugar de la
declaracin # 1?
76. b), mientras que ((ch =
inputFile.read ())! = -1) {
El mtodo read () devuelve
-1 cuando el archivo llega al
final.

77. Entre las opciones que


se ofrecen, que dos opciones
compilar correctamente:
77. b) RandomAccessFile raf
= RandomAccessFile nuevo
(SRCFILE,
"rw
+");
raf.getChannel ();
c) FileInputStream IFR = new
FileInputStream
(SRCFILE);
ifr.getChannel ();
El mtodo getChannel () con
el
apoyo
de
slo
el
RandomAccessFile
yClases
FileInputStream.
78. Considere el siguiente
programa y predecir la salida
(existen
los
siguientes
archivos en el
ruta
dada
File09.java,
File0.java,
FileVisitor1.java,
FileVisitor1.class):
78. d) Bsqueda de archivos
terminado!
Bueno,
glob
no
admite "+"; por lo tanto, la
expresin glob especificado
no
encontrar
cualquier
archivo a juego con la
expresin.
79. Cul de las siguientes
afirmaciones NO es correcta
en el contexto de NIO.2?
a) Si bien la bsqueda de
archivos / directorios, el
formato
de
patrn
por
defecto es glob; por lo tanto,
no es necesario
iniciar
la
bsqueda
de
patrones de "pegote".
b) Se puede especificar el
patrn de bsqueda, ya sea
en formato glob o en formato
de expresiones regulares.
c) Formato de Glob es un
subconjunto del formato de
patrn de expresin.
d) No habr ningn error o
excepcin en tiempo de
ejecucin si se especifica un
patrn de bsqueda pegote
mal.
79. a) Si bien la bsqueda de
archivos / directorios, el
formato
de
patrn
por
defecto es glob; por lo tanto,
no es necesario
iniciar
la
bsqueda
de
patrones de "pegote". Los
otros tres afirmaciones son
ciertas.
80. Cul de las siguientes
afirmaciones se compilar sin
errores?
80. b) Configuracin regional
locale2 = Locale.US;
La esttica pblica final
miembro de Configuracin
regional de Estados Unidos
en la clase Locale se accede
mediante el
expresin Locale.US, como
en la opcin b).
81. Considere el siguiente
programa:
Cul

de las siguientes opciones es


la correcta?
a) El programa lanza una
MissingFormatArgumentExce
ption.
b) El programa lanza una
UnknownFormatConversionE
xception.
c) El programa imprime el
siguiente: 02.01.2012.
d) El programa imprime el
siguiente: 12 / Feb / 01.
81. c) El programa imprime
el siguiente: 01.02.2012.
El especificador de formato%
t permite formato de fecha y
hora. Toma como sufijo el
formato y parte de la
informacin de fecha o la
hora. El formato Y es que el
ao que se muestra en
cuatro dgitos. El formato m
es para el mes como decimal
(con meses en el rango de 01
a 12). El formato d es para
el da del mes como decimal
(con los das en el rango 0131).
82. Cul de las siguientes
afirmaciones es correcta con
respecto
a
cerrar
y
Interfaces de AutoCloseable?
a) Interfaz closeable extiende
AutoCloseable y define un
mtodo, close ().
b)
Interfaz
Autocloseable
extiende cerrar y define un
mtodo, close ().
c) Interfaz closeable extiende
AutoCloseable y no define
ningn mtodo.
d) Interfaz AutoCloseable
extiende cerrar y no define
ningn mtodo.
e) las interfaces que se
puede cerrar y AutoCloseable
no
comparten
ninguna
relacin de herencia.
82. a) La interfaz se puede
cerrar
extiende
AutoCloseable y define un
mtodo, close ().
83. Cul de los siguientes
fragmentos
de
cdigo
muestra el uso correcto de
tratar-con-recursos
declaracin?
83. a) principales (archivos
public void String []) {
tratar
(FileReader
ArchivoDeEntrada
= New FileReader (nuevo
archivo (archivos [0]))) {
// ...
}
captura (IOException OIE) {}
}
Opciones b) yc) utiliza el
bloque finally, que no es
aplicable
con
try-conrecursos try-resource
declaraciones. En la opcin
d), el bloque catch no se
encuentra, lo que lo hace
mal.

84. Considere el siguiente


programa y predecir la
salida:
a) en el inicio Uy
en
ctor Uy
b) en el inicio Uy
en
ejecucin Uy en ctor Uy
c) en el inicio Uy
en
ctor Uy en ejecucin Uy
d) en ctor Uy en
principio
Uy
en ejecucin Uy
84. a) En el inicio Uy
en
ctor Uy
Usted ha anulado el mtodo
start (), por lo que el mtodo
(pista)
nunca
se
llama
Mtodo!
85. Cul de los siguientes
mtodos devuelve un objeto
futuro?
a) La sobrecarga submit ()
mtodo declarado en la
ExecutorService interfaz.
b) El mtodo execute ()
declar
en
la
interfaz
Ejecutor.
c) El mtodo call () declarado
en la interfaz invocable.
d) El mtodo run () declar
en el interface Runnable.
85. a) El sobrecargado enviar
() se declara en la interfaz
ExecutorService.
La
interfaz
ejecutor
ha
sobrecargado
el
mtodo
submit () que toma "devolver
el valor de una la tarea para
su ejecucin y devuelve un
futuro que representa los
resultados pendientes de la
tarea ".
86. Considere el siguiente
programa:
Cul de las siguientes
opciones es la correcta?
a) Este programa generar
un
IllegalMonitorStateException
en la lnea marcada con
comentar LOCK_2.
b) Este programa generar
un
IllegalMonitorStateException
en la lnea marcada con
comentar UNLOCK_1.
c) Este programa arrojar
una
UnsupportedOperationExcept
ion en la lnea marcada con
comentar UNLOCK_1.
d) Este programa imprime el
siguiente: Bloquee 1 seccin
crtica 1 Bloqueo 2 seccin
crtica 2 Desbloquear 2
Desbloquear 1.
86.
d)
Este
programa
imprime
el
siguiente:
Bloquee 1 seccin crtica 1
Bloqueo 2 seccin crtica 2
Desbloquear 2 Desbloquear
1.
En
una
cerradura
reentrante, puede adquirir el
mismo
bloqueo.
Sin
embargo, se necesita soltar

que
bloquee
el
mismo
nmero de veces.
87. Considere el siguiente
programa:
Cul de las
siguientes opciones es la
correcta?
a) Este programa imprimir
el siguiente:
"Ir a bloquear
..."
"En la seccin crtica"
Desbloqueo ...
b) Este programa imprimir
el
siguiente:
"Ir
a
bloquear ..."
"En la seccin
crtica" y
luego
terminar
normalmente.
c) Este programa imprimir
el
siguiente:
"Ir
a
bloquear ..."
"En la seccin
crtica"
y luego entrar en un callejn
sin
salida
porque
lock2.unlock () espera a que
Lock2
para
conseguir
bloqueado primero.
d) Este programa generar
un
IllegalMonitorStateException.
87.
d)
Este
programa
generar
un
IllegalMonitorStateException.
Tenga en cuenta que en este
programa se llama al mtodo
lock () en la variable lock1 y
llame al desbloquear () en la
variable Lock2. Por lo tanto,
en lock2.unlock (), que est
intentando
llamar
de
desbloqueo () antes de
llamar a lock () en un objeto
de bloqueo y esto se traduce
en el lanzamiento de un
IllegalMonitorStateException.
88. Considere el siguiente
programa: Cul de las
opciones es verdadera si se
reemplaza la declaracin # 1
con la siguiente declaracin?
Mquinas Semaphore
= nuevo semforo (2, true);
a) El orden exacto en el que
las personas que esperan
obtendrn
el
cajero
automtico no puede ser
predicho.
b) Se acceder a la mquina
de la atmsfera en el orden
de las personas en espera
(debido
a
la
segundo
parmetro en el constructor
del semforo).
c) No se compilar ya no est
permitido
segundo
parmetro en la instanciacin
de semforos.
d) El resultado ser lanzar
una
IllegalMonitorStateException.
88. a) El orden exacto en el
que
las
personas
que
esperan obtendrn el cajero
automtico no puede ser
predicho.
El
segundo
parmetro
establece la poltica de
equidad del objeto semforo.

Sin embargo, hay son dos


permisos para el objeto de
semforos; por lo que no se
puede predecir el orden en el
que espera la gente va a
obtener el permiso de acceso
al cajero automtico.
89. Un par de amigos a la
espera de algunos amigos
ms por venir para que
puedan ir
a un restaurante para cenar.
Qu
sincronizacin
construccin podra utilizarse
para
programacin simular esta
situacin?
a) Intercambiador
b) Bloqueo
c) CyclicBarrier
d) RecursiveAction
89. c) CyclicBarrier
CyclicBarrier
se
utiliza
cuando
las
discusiones
pueden tener que esperar a
un
punto
de
ejecucin
predefinido hasta que todos
los otros hilos llegar a ese
punto.
Esta
construccin
coincide con los requisitos
citados.
90. Una aplicacin establece
una conexin con una base
de datos, que devuelve un
conjunto de resultados que
contiene dos nombres de
columna
idnticos.
Est
utilizando
ResultSet
para
recuperar
el
valores
asociados. En este contexto,
qu
afirmacin
es
verdadera?
a) Puede recuperar tanto los
valores de las columnas
utilizando
nombres
de
columna.
b) Puede recuperar tanto los
valores de las columnas
utilizando
nombres
de
columna; Sin embargo, es
necesario
especificar los nombres de
las columnas utilizando el
ndice de la columna (es
decir,
nombre-columna:
ndice-columna).
c) No puede utilizar nombres
de columna para recuperar
tanto
los
valores;
es
necesario utilizar la columna
ndice hacerlo.
d) Tanto opciones b y c
funcionarn.
90. c) No puede utilizar
nombres de columna para
recuperar tanto los valores;
es
necesario
utilizar
la
columna ndice hacerlo.
Mock Test 2
1. Considere el siguiente
programa y predecir el
comportamiento
de
este
programa:
a) Error de compilador "una
clase abstracta no puede

extenderse desde una clase


concreta" por la declaracin
# 1.
b) Error de compilador "No se
puede resolver llamar para
imprimir mtodo" por la
declaracin # 2.
c) El programa imprime el
siguiente: Base: impresin.
d) El programa se lanzar
una excepcin de tiempo de
ejecucin
de
AbstractClassInstantiationExc
eption.
1. c) El programa imprime el
siguiente: Base: impresin.
Es posible que una clase
abstracta para extender una
clase concreta (aunque tal
herencia menudo no tiene
mucho sentido). Adems,
una clase abstracta puede
tener
mtodos
estticos.
Puesto que usted no es
necesario crear un objeto de
una clase para invocar un
mtodo esttico en esa
clase, usted puede invocar el
mtodo main () se define en
una clase abstracta.
2. Considere el siguiente
programa y predecir la
salida:
a) El programa informar de
un error del compilador en la
declaracin # 1.
b) El programa dar lugar a
lanzar
una
NullPointerException.
c) El programa imprimir el
siguiente: a = 0.
d) El programa imprimir lo
siguiente: a = null.
2. a) El programa informar
de un error del compilador en
la declaracin # 1.
Se debe inicializar todas las
variables
final.
Si
una
variable final no se inicializa
en
el
momento
de
declaracin
de
variables
(conocidas
como
blanco
final), entonces debe iniciarla
en todo el constructores de
la clase. Desde la ltima
variable no se ha inicializado
en esta clase, el cdigo
resultados en un error del
compilador.
3. Considere el siguiente
programa y predecir la
salida:
a) El programa informar de
un error del compilador.
b) El programa generar una
excepcin de tiempo de
ejecucin.
c) El programa imprimir el
siguiente: a = 0.
d) El programa imprimir el
siguiente: a = 10.
3. a) El programa informar
de un error del compilador.
La palabra clave esto no se
puede utilizar en un mtodo

esttico, por lo que el


programa no se compilar.
4. Considere el siguiente
programa: Cul de las
siguientes opciones describe
correctamente
el
comportamiento
de
este
programa?
a) El programa lanza una
MissingFormatArgumentExce
ption.
b) El programa lanza una
UnknownFormatConversionE
xception.
c) El programa lanza una
IllegalFormatConversionExce
ption.
d) El programa imprime el
siguiente: 12 / febrero / 01.
4. d) El programa imprime el
siguiente: 12 / febrero / 01.
El smbolo <en una cadena
de formato soporta ndice
relativo con el que se puede
reutilizar
el
argumento
igualado por el especificador
de
formato
anterior.
El
ejemplo equivalente de paso
argumentos explcitamente
es el siguiente:
formatter.format ("% tY /% Tb
/% td", calendario, agenda,
calendario);
El programa utiliza una forma
corta
reutilizando
el
argumento pasado a la
especificador
de
formato
anterior:
formatter.format ("% tY /%
<Tb /% <td", calendario);
5. Considere el siguiente
programa:
Cul de las siguientes
opciones
describe
correctamente
el
comportamiento
de
este
programa?
a) Este programa imprime los
siguientes: Uno.
b) Este programa imprime los
siguientes: 1.
c) Este programa lanzar un
MissingResourceException.
d) Este programa lanzar un
ClassCastException.
5. a) Este programa imprime
los siguientes: Uno.
Este programa se extiende
correctamente
ListResourceBundle y define
un paquete de recursos para
la it_IT localidad.
El mtodo getObject () toma
cadena como argumento;
este mtodo devuelve el
valor
de
la
clave
correspondiente.
La
expresin new Integer (1)
.toString () es equivalente a
proporcionar la tecla "1", por
lo que el programa imprime
Uno de salida.
6. Considere el siguiente
programa:

Cul de las
opciones
correctamente
comportamiento
programa?
a) El programa
siguiente: S R P P
b) El programa
siguiente: P Q R S.
c) El programa
siguiente: S R.
d) El programa
siguiente: R S.

siguientes
describe
el
de
este
imprime

el

imprime

el

imprime

el

imprime

el

e) El programa lanza una


ConcurrentModificationExcep
tion.
6. e) El programa lanza una
ConcurrentModificationExcep
tion.
De la documentacin de
TreeSet:
"Los
iteradores
devueltos por el iterador de
esta clase Se mtodo failfast: si el conjunto es
modificado
en
cualquier
momento despus de crear
el iterador, en de cualquier
manera, sino por propio
mtodo remove del iterador,
ste
lanzar
un
ConcurrentModificationExcep
tion ".
Este mtodo de programa
modifica la TreeSet objeto
contenedor
subyacente
utilizando el add () utilizando
el iterador antes. As, este
programa
lanza
una
ConcurrentModificationExcep
tion.
7. Considere el siguiente
programa:
Cul de las siguientes
opciones
describe
correctamente
el
comportamiento
de
este
programa?
a) El programa imprime el
siguiente: 2 1.
b) El programa imprime el
siguiente: 1 2.
c) El programa imprime los
siguientes: -1 1 2 3.
d) El programa imprime el
siguiente: 1 2 3 -1.

e) El programa lanza una


ConcurrentModificationExcep
tion
f) Este programa resulta en
un error de compilacin en la
declaracin # 1
7. a) El programa imprime el
siguiente: 2 1.
Desde el iterador se ha
creado usando el ejemplo
instantnea
cuando
los
elementos de "2" y
Se
aadieron
"1",
el
programa imprime 2 y 1.
Nota
que
la
CopyOnWriteArraySet
hace
No guarde los elementos de
una
forma
ordenada.
Contenedores Adems, la
modificacin no-thread-safe
como
TreeSet
utilizando
mtodos como add () y

utilizando el iterador mayor


arrojar
un
ConcurrentModificationExcep
tion.
Sin
embargo,
CopyOnWriteArraySet
es
seguro para subprocesos y es
destinados a ser utilizados
simultneamente por varios
hilos, y por lo tanto no lanza
esta excepcin.
8. Cul de las siguientes
afirmaciones es FALSA?
a) La interfaz Iterator <T>
declare
estos
mtodos:
hasNext boolean (), T next (),
y sin efecto remove ().
b) La enumeracin interfaz
<E> declara dos mtodos:
hasMoreElements booleanas
() y E nextElement ().
c) La interfaz Iterable <T>
declara
tres
mtodos:
hasNext boolean (), T next (),
y sin efecto remove ().
d)
Implementacin
de
Iterable <T> interfaz permite
que un objeto sea el objetivo
de la foreach comunicado.
8. c) La interfaz Iterable <T>
declara
tres
mtodos:
hasNext
boolean
(),
T
prximos (), y sin efecto
remove ().
La interfaz Iterable <T>
declara un solo mtodo,
Iterator <T> iterador (), por
lo que el declaracin en la
opcin c) es falsa. Las otras
afirmaciones son ciertas.
9. Considere el siguiente
programa:
Cul de las siguientes
opciones
describe
correctamente
el
comportamiento
de
este
programa?
a) Este programa lanza una
PatternSyntaxException.
b) Este programa lanza una
UnsupportedOperationExcept
ion.
c) Este programa se emite
una
InvalidArgumentException.
d) Este programa muestra los
archivos que terminan con el
sufijo .java en el directorio
actual.
9. d) Este programa muestra
los archivos que terminan
con el sufijo .java en el
directorio actual El camino "."
Especifica
el
directorio
actual. El patrn global "*.
Java {}" coincide archivo
nombres con sufijo .java.
10. Este programa se invoca
en la lnea de comandos de
la siguiente manera:
java
Assert
Cul de las siguientes
opciones
describe
correctamente
el
comportamiento
de
este
programa?

a) Este programa imprime el


siguiente: En el controlador
de RuntimeException.
b) Este programa imprime el
siguiente: En el controlador
de Excepcin.
c) Este programa imprime el
siguiente: En el controlador
de error.
d) Este programa imprime el
siguiente: En el controlador
de Throwable.
e) Este programa se bloquea
con
un
AssertionError
excepcin no detectada.
f) Este programa no genera
ninguna salida y termina
normalmente.
10. f) Este programa no
genera ninguna salida y
termina normalmente.
Desde
asevera
estn
desactivados por defecto, el
programa no plantea un
AssertionError, por lo que el
programa no genera ninguna
salida
y
termina
normalmente. Si el programa
de fueron invocadas por
pasar -ea en la lnea de
comandos, habra impreso
"En el controlador de Error
"(ya que el programa habra
arrojado un AssertionError).
11. Considere el siguiente
programa:
Cul de las siguientes
opciones
describe
correctamente
el
comportamiento
de
este
programa?
a) Este programa dar lugar
a un error de compilacin en
la lnea marcada con el
comentario ERROR1.
b) Este programa dar lugar
a un error de compilacin en
la lnea marcada con el
comentario ERROR2.
c) Este programa dar lugar
a un error de compilacin en
la lnea marcada con el
comentario ERR3.
d) Este programa dar lugar
a un error de compilacin en
la lnea marcada con el
comentario ERROR4.
e) Este programa dar lugar
a un error de compilacin en
la lnea marcada con el
comentario ERROR5.
f) Cuando se ejecuta, este
programa va a imprimir el
siguiente: i1 = 10, I 2 = 10,
i3 = 10, i4 = 10.
11. f) Cuando se ejecuta,
este programa va a imprimir
el siguiente: i1 = 10, I 2 =
10, i3 = 10, i4 = 10.
Se trata de una correcta
aplicacin del mtodo de
reparto genrico para la
conversin entre los tipos.
Tenga en cuenta que usted
obtendr una "fundicin sin

control" de advertencia (no


un error) en la definicin de
los actores
mtodo, ya una conversin
explcita inseguro se realiza
del objeto para escribir E.
12. Supongamos que el
archivo D: \ dir \ archivo.txt
no existe en el sistema de
archivos subyacente. Cul de
las siguientes
opciones describe mejor el
comportamiento
de
este
programa cuando se ejecuta?
a) El programa lanza una
FileNotFoundException.
b) El programa lanza una
InvalidPathException.
c) El programa lanza una
UnsupportedOperationExcept
ion.
d) El programa entra en un
bucle infinito de impresin
"elemento de la ruta: dir"
para siempre.
e) El programa imprime el
siguiente: archivo.txt dir.
12. e) El programa imprime
el siguiente: archivo.txt dir.
Los elementos de nombre en
un objeto de trazado se
identifican en base a los
separadores.
Nota:
para
repetir
nombrar
los
elementos del objeto Path en
realidad no exigir que la
correspondiente / directorios
deben existir archivos, por lo
que no dar lugar a lanzar
ninguna excepcin.
13. Considere el siguiente
programa:
Cuando
se
ejecuta,
este
programa
imprime el siguiente:
13. d) [0, 0]
En el
constructor de Point2D, la
sentencia x = x; reasigna el
parmetro pasado y no
asigna el miembro x en
Point2D. El campo y no se
asigna, por lo que el valor es
0. Tenga en cuenta que
implementa
la
interfaz
Externalizable para apoyar la
serializacin; este programa
utiliza el mtodo toString (),
que no tiene nada que ver
con el objeto serializacin /
persistencia.
14. Considere el siguiente
programa:
Cuando
se
ejecuta,
este
programa
imprime el siguiente:
14. c) 5 10 15
El
PriorityQueue
prioriza los elementos en la
cola de acuerdo a su "natural
el pedido. "Para enteros,
ordenamiento natural est en
orden ascendente, por lo
tanto la salida. tenga en
cuenta que el mtodo de
encuesta
() recupera
y
elimina el principio de la cola
si
un
elemento
est

disponible, o devuelve null si


la cola est vaca.
15. Considere el siguiente
programa:
Cul de las
siguientes opciones describe
correctamente
el
comportamiento
de
este
programa?
a) Este programa imprime el
siguiente: 3.
b) Este programa imprime el
siguiente: 2.
c) Este programa se emite
una ArrayStoreException.
d) Este programa se emite
una
ArrayIndexOutOfBoundsExce
ption.
15. c) Este programa se
emite
una
ArrayStoreException.
El baseArr variable es de tipo
Base [], y apunta a un array
de
tipo
DeriOne.
Sin
embargo, en la declaracin
baseArr [2] = new DeriTwo (),
se asigna un objeto de tipo
DeriTwo al DeriOne tipo, que
no comparte una relacin de
herencia entre padres e hijos
(slo tienen un padre comn,
que es la base). Por lo tanto,
esta tarea resulta en un
ArrayStoreException.
16. Considere el siguiente
programa:
Cuando
se
ejecuta,
este
programa
imprime el siguiente:
16. d) 15 10 5
La clase de tareas
implementa
Comparable
<Tarea>,
que
especifica
cmo comparar su
elementos.
El
mtodo
PriorityQueue prioriza los
elementos
en
la
cola
llamando
a
la
mtodo
compareTo (). El mtodo
compareTo () devuelve -1 si
la prioridad de la actual
Objeto de tarea es mayor
que la prioridad del objeto
Task comparacin. De ah
que los elementos de la
PriorityQueue se recuperan
en el orden descendente.
17. Considere el siguiente
programa:
Cul de las siguientes
opciones
describe
correctamente
el
comportamiento
de
este
programa?
a) Cuando se ejecuta, este
programa
imprime
los
siguientes: [2, 5].
b) Cuando se ejecuta, este
programa
imprime
los
siguientes: [2, 1].
c) Cuando se ejecuta, este
programa
imprime
los
siguientes: [1, 5].
d) Este programa resulta en
un error de compilacin en la

lnea
marcada
con
el
comentario ELIMINAR.
e) Este programa resulta en
un NoSuchElementException
en la lnea marcada con el
comentar ELIMINAR.
17. b) Cuando se ejecuta,
este programa imprime los
siguientes: [2, 1].
El
mtodo
remove
en
ArrayList elimina el elemento
en la posicin especificada
en la lista, y desplaza los
elementos siguientes en la
lista de la izquierda.
18. Considere el siguiente
programa:
Cuando
se
ejecuta,
este
programa
imprime el siguiente:
a) Escoja un poco, hablar un
poco, coger un poco, hablar
un poco, po po po, hablar
mucho, elige un poco ms.
b) Recoger un poco, comer
un poco, coger un poco,
comer un poco, po po po,
comer mucho, recoger un
poco ms.
c) Recoger un poco, comer
un poco, coger un poco,
comer un poco, eructar po
po, comer mucho, recoger
un poco ms.
d) Recoger un poco, comer
un poco, coger un poco,
comer un poco, eructar
eructo eructo, comer mucho,
recoger un poco ms.
18. d) Escoja un poco, comer
un poco, coger un poco,
comer un eructo eructo poco,
eructo,
comer
mucho,
recoger un poco ms.
Ambos mtodos ReplaceAll ()
y reemplazar () sustituyen
todas las apariciones de la
subcadena desde la cadena
dada. La diferencia entre
ellos es que replaceAll ()
toma
de
expresiones
regulares como el primer
argumento y cadena de
reemplazo como el segundo
argumento.
El
mtodo
replace
()
toma
CharSequence ya que tanto
los argumentos (ntese que
Cadena
implementa
CharSequence interfaz).
19. Considere el siguiente
programa:
Este
programa
imprime
los
siguientes:
19. a) [10, 5, 10, 20] [20, 5,
10]
[5, 10, 20] [5, 10, 20]
Las listas son sin clasificar.
HashSets son seleccionados
y
conservan
elementos
nicos.
TreeSets
son
ordenados
y
retener
elementos
nicos.
ConcurrentSkipListSets
se

clasifican y conservan nica


elementos.
20. Considere el siguiente
programa: Este programa
imprime los siguientes:
a) Mtodo String.split Uso:
10/01/2012
Utilizando los
patrones
de
expresiones
regulares: 10 01 2012
b) Utilizando el mtodo
String.split: 10 01 2012
Utilizando los patrones de
expresiones regulares: 10 01
2012
c) La utilizacin del mtodo
String.split:
10/01/2012
Utilizando los patrones de
expresiones
regulares:
01/10/2012
d) Utilizando el mtodo
String.split:
Utilizando los
patrones
de
expresiones
regulares: 10 01 2012
e) La utilizacin del mtodo
String.split: 10 01 2012
Utilizando los patrones de
expresiones regulares:
f) La utilizacin del mtodo
String.split:
Utilizando los
patrones
de
expresiones
regulares:
20. b) Utilizando el mtodo
String.split: 10 01 2012
Utilizando los patrones de
expresiones regulares: 10 01
2012
Utilizando str.split (regex) da
el mismo resultado que
Pattern.compile (regex) .split
(str).
21. Considere el siguiente
programa:
Cul de las siguientes
opciones
describe
correctamente
el
comportamiento
de
este
programa?
a) El programa dar lugar a
un error de compilacin en la
lnea
marcada
con
el
comentario de la lnea A.
b) El programa dar lugar a
un error de compilacin en la
lnea
marcada
con
el
comentario de la lnea B.
c) Cuando se ejecuta, el
programa
imprime
el
siguiente: true.
d) Cuando se ejecuta, el
programa
imprime
el
siguiente: falso.
21. c) Cuando se ejecuta, el
programa
imprime
el
siguiente: true.
Con el tipo de borrado,
detalles del tipo genrico se
pierden cuando se compila el
programa.
De ah que, en tiempo de
ejecucin, los tipos de la
instancia ArrayList <String>
y el tipo ArrayList prima son
los mismos.
22. Considere el siguiente
programa:
Cuando
se

ejecuta,
este
programa
imprime el siguiente:
a) A partir de esperar
Hecho de espera,
volviendo de nuevo
b) A partir de esperar
InterruptedException
atrapados
c) A partir de esperar
Excepcin atrapados
d) Despus de imprimir
"Empezar a esperar", el
programa entra en una
espera infinita y callejones
sin salida.
22. c) A partir de esperar
Excepcin atrapados
La espera mtodo () se llama
sin adquirir un bloqueo, por
lo que el programa se
traducir en una
IllegalMonitorStateException.
Esta
excepcin
sera
atrapado en el bloque catch
para Excepcin, por lo tanto
la salida.
23. Considere el siguiente
programa:Este
programa
imprime los siguientes:
23. d) [10, 15]
En
este
programa,
los
allValues referencia se pasa
al mtodo doSomething ().
en este recipiente, se aade
el elemento con el valor 10.
Despus de eso, se crea un
nuevo contenedor copiando
los
elementos
de
la
referencia actual, por lo que
el valor 10 se copia en el
nuevo envase tambin. Dado
que el elemento 15 se aade
adems
al
elemento
existente
10,
y
el
se
devuelve
referencia
al
contenedor;
el
programa
imprime [10, 15].
24. Considere el siguiente
programa:
Cul de las siguientes
opciones
describe
correctamente
el
comportamiento
de
este
programa?
a) Se lanza un error de
compilacin en la lnea
marcada con el marcador de
comentario para ambigua
sobrecarga.
b) Cuando se ejecuta, el
programa
imprime
el
siguiente: Objeto.
c) Cuando se ejecuta, el
programa
imprime
el
siguiente: el doble [].
d) Cuando se ejecuta, el
programa
imprime
la
siguiente: void.
24. c) Cuando se ejecuta, el
programa
imprime
el
siguiente: double [].
La resolucin de sobrecarga
coincide con la sobrecarga
ms especfico. Cuando el
argumento nulo es pasaron,

hay dos candidatos, de


sobrecarga (Object) y de
sobrecarga (doble []), y de
stos dos, sobrecarga (doble
[]) es la sobrecarga ms
especfica,
por
lo
que
resuelve el compilador para
llamar ese mtodo.
25. Considere el siguiente
programa:
d) Este programa lanza una
NullPointerException.
25. d) Este programa lanza
una NullPointerException.
En
este
programa,
el
constructor de la superclase
llama al mtodo foo () que se
reemplaza
en
la
clase
derivada.
As,
en
este
programa, ya que se crea el
objeto subclase, la llamada a
la SuperClass constructor
resultar en una llamada al
mtodo
SubClass.foo
().
Cuando se crea el
objeto de clase derivada,
primer constructor de la
clase base se llama, seguido
por la llamada al constructor
de la clase derivada. Tenga
en cuenta
que se ha
inicializado
la
variable
miembro
slo
en
el
constructor
de
la clase
derivada. As, cuando el
constructor de la clase base
se ejecuta, el constructor de
la clase derivada no se ha
inicializado la variable de
miembro de "HI" todava. As
que este los resultados del
programa
en
un
NullReferenceException.
26. Considere el siguiente
programa:
Cul de las siguientes
opciones
describe
correctamente
el
comportamiento
de
este
programa?
a) Este programa resulta en
un error de compilacin en la
lnea
marcada
con
el
comentario BASE_FOO_CALL.
b) Este programa imprime los
siguientes:
En
BaseClass.foo ()
En
BaseClass.bar ()
c) Este programa imprime los
siguientes:
En
BaseClass.foo () En Derived.bar
()
d) Este programa imprime los
siguientes:
En Derived.foo
()
En Derived.bar ()

26.
c)
Este
programa
imprime los siguientes: En
BaseClass.foo ()
En
Derived.bar ()
Desde un mtodo privado no
es visible para cualquier otra
clase, incluyendo sus clases
derivadas, no se puede
anular.
27. Cul de las siguientes
opciones lee correctamente

una lnea de cadena de la


consola?
27.
b)
br
=
new
BufferedReader
BufferedReader
(nuevo
InputStreamReader
(System.in));
String str = br.readLine ();
Esta es la manera correcta
de leer una lnea de una
cadena desde la consola
donde se pasa de un
sistema. en referencia a
InputStreamReader y pasar
la referencia de regresar a
BufferedReader.
De
la
referencia
BufferedReader,
puede llamar al mtodo
readLine () para leer la
cadena desde la consola.
28. Considere el siguiente
programa:
Cul de las
siguientes afirmaciones es
correcta?
a) Este programa termina
normalmente
sin
lanzar
ninguna excepcin.
b) Este programa se emite
una IllegalStateException.
c) Este programa lanza una
IOException.
d) Este programa se emite
una AlreadyClosedException.
e) Este programa resulta en
un error de compilacin en la
lnea
marcada
con
el
comentario CLOSE.
28. a) Este programa termina
normalmente
sin
lanzar
ninguna excepcin.
La sentencia try-con-recursos
expande internamente para
llamar al mtodo close () en
el bloque finally. Si el recurso
se cierra de forma explcita
en
el
bloque
try,
a
continuacin, llamar a close
() de nuevo no tiene ningn
efecto. De la descripcin del
mtodo close () en el
Interfaz
AutoCloseable:
"Cierra esta corriente y libera
los recursos del sistema
asociados con l. Si la
secuencia ya est cerrada, y
luego invocar este mtodo
no tiene ningn efecto ".
29. Considere el siguiente
programa:
Cuando
se
ejecuta,
este
programa
imprime el siguiente:
a) java.io.IOException b)
java.io.FileNotFoundExceptio
n
c) java.lang.Exception
d) java.lang.Throwable
29.
b)
java.io.FileNotFoundExceptio
n Si tanto el bloque try y
finalmente
tiro
bloque
excepciones, la excepcin
lanzada desde el bloque try
se ignorar. Por lo tanto, el
lanzador mtodo () lanza una
FileNotFoundException.

El
tipo
dinmico
del
throwable
variable
es
FileNotFoundException, por lo
que el programa impresiones
que tipo de nombre.
30. Considere el siguiente
programa:
Cul de las
siguientes
afirmaciones
compilar sin errores cuando
sustituido
por
la
lnea
marcado con el comentario
STMT?
30. b) pqr.foo ();
En
este
programa, el PQR miembro
se importa de forma esttica.
As, el mtodo foo () se
puede
acceder
por
calificndolo como pqr.foo ().
Tenga en cuenta que foo () s
no se importa de forma
esttica, por lo que no puede
ser invocado directamente
en este programa.
31. Cul de los siguientes
NO es un problema asociado
con la sincronizacin de hilos
utilizando
exclusiones
mutuas?
a) Punto muerto
b) la inanicin Lock
c) Tipo de borrado
d) livelock
31. c) Tipo de borrado.
Puntos
muertos,
hambre
bloqueo y livelocks son
problemas que surgen al
utilizar
mutex
para
sincronizacin
de
subprocesos. Tipo de borrado
es un concepto relacionado
con
los
medicamentos
genricos en el que el
genrico informacin de tipo
se pierde una vez que se
compila el tipo genrico.
32. Suponga que un hilo
adquiere un bloqueo en un
objeto obj; el mismo hilo
intenta de nuevo adquirir el
bloqueo en el mismo objeto
obj. Qu pasar?
a) Si un hilo intenta adquirir
un bloqueo de nuevo, que se
traducir en el lanzamiento
de un
IllegalMonitorStateException.
b) Si un hilo intenta adquirir
un bloqueo de nuevo, que se
traducir en el lanzamiento
de un
AlreadyLockAcquiredExceptio
n.
c) Est bien que un hilo de
adquirir bloqueo en obj de
nuevo, y tal intento tendr
xito.
d) Si un hilo intenta adquirir
un bloqueo de nuevo, que se
traducir
en
un
punto
muerto.
32. c) Est bien que un hilo
de adquirir bloqueo en OBJ
otra vez, y tal intento tendr
xito.

Cerraduras de Java son


reentrada: un hilo de Java, si
ya ha adquirido un bloqueo,
puede adquirirlo de nuevo, y
tal intento tendr xito. Sin
excepcin es lanzada y no
estancamiento se produce
por este caso
33. Considere el siguiente
programa:
Cul de las siguientes
afirmaciones
describe
correctamente
el
comportamiento
de
este
programa?
a) Este programa dar lugar
a un error del compilador.
b) Este programa se lanzar
una NullPointerException.
c) Este programa imprimir
10 en consola.
d) Este programa imprimir
nulo en consola.
33.
c)
Este
programa
imprimir 10 en la consola.
El mtodo valueOf (int) es un
mtodo esttico en cadena
que devuelve la cadena
representacin
del
valor
entero que se pasa como
argumento. Desde llamar a
una esttica mtodo no
requiere
eliminacin
de
referencias la variable de
referencia en el que se llama,
este programa no lanza una
NullPointerException.
34. Hay dos tipos de
corrientes en el paquete
java.io:
streams
de
caracteres (es decir, aquellos
derivada de Reader y las
interfaces Writer) y flujos de
bytes (es decir, las que se
derivan de InputStream y
OutputStream). Cul de las
siguientes afirmaciones es
verdadera con respecto a las
diferencias entre estos dos
tipos de corrientes?
a)
En
los
arroyos
de
caracteres, los datos se
maneja en trminos de
bytes; en flujos de bytes, los
datos son manejado en
trminos
de
caracteres
Unicode.
b) las corrientes en los
caracteres son adecuadas
para leer o escribir en
archivos,
como
archivos
ejecutables,
archivos
de
imgenes y archivos en
formatos de archivo de bajo
nivel como .zip, .class, .obj, y
.exe.
c) flujos de bytes son
adecuados para la lectura o
la escritura de texto basados
en E / S tales como
documentos y archivos de
texto, XML y HTML.
d) flujos de bytes son para el
manejo de datos binarios que
no es legible;streams de

caracteres
son
para
caracteres legibles.
34. d) flujos de bytes son
para el manejo de datos
binarios que no es legible;
streams de caracteres son
los caracteres legibles.
En streams de caracteres, los
datos se maneja en trminos
de
caracteres
Unicode,
mientras que en el byte
corrientes, los datos se
maneja en trminos de
bytes. Flujos de bytes son
adecuados para la lectura o
la escritura a los archivos
como archivos ejecutables,
archivos de imgenes y
archivos en formatos de
archivo de bajo nivel como
.zip, .class, .obj, y .exe.
Corrientes en los caracteres
son adecuados para leer o
escribir texto basados en I /
O como documentos y texto,
XML y archivos HTML
35. Cul de las siguientes
interfaces es vaco (es decir,
una interfaz de marcador que
no lo hace declarar cualquier
mtodo)?
35.
c)
interfaz
java.lang.Cloneable
La
interfaz
AutoCloseable
declara
el
mtodo close (). Exigible
declara
call
()
mtodo.
Comparador <T> interfaz
declara comparar () y equals
(mtodos).
De
la
documentacin del mtodo
clone (): "Por convencin, las
clases que implementan esta
interfaz debe reemplazar el
mtodo Object.clone. Tenga
en cuenta que esta interfaz
no contener el mtodo clon ".
36. Cul de los siguientes
modificadores no se puede
combinar juntos para una
clase?
(Seleccione dos opciones de
las opciones dadas.)
36. a)) resumen final y d
Una clase no
puede ser final (lo que
significa
que
no
puede
extenderse por cualquier otra
clase) y abstracta (que
puede ser extendido por
otras
clases)
al
mismo
tiempo.
37. Considere el siguiente
segmento de cdigo: Cuando
se ejecuta, este segmento de
cdigo
imprimir
el
siguiente:
37. c),,,,,,
El
mtodo
replaceAll () en Cadena toma
una expresin regular como
primer argumento. Desde el
carcter "." coincide con
cualquier
carcter,
se
sustituyen
todos
los
personajes de la cadena str

por comas, que es la cadena


de reemplazo. En la cadena
reemplazado,
no
hay
coincidencia "!" Carcter, por
lo que el mtodo replace ()
no tiene ningn efecto en
este segmento de cdigo.
38. Considere el siguiente
programa y elegir la opcin
correcta que describe su
salida :.
c) Este programa se emite
una
UnsafeIncrementException.
d) Este programa lanza una
NonThreadContextException.
38. b) 1
Aunque
el
valor de retorno en el
atomicInt.incrementAndGet
call (); se ignora, la mtodo
muta el valor entero pasado
a travs de la variable
atomicInt referencia, por lo
que el valor modificado se
imprime en el mtodo main
(). Tenga en cuenta que
puede
ser
AtomicInteger
utilizado en el hilo o contexto
no hilo (aunque no es de
ningn uso prctico cuando
se utiliza en programas de
un nico subproceso).
39. Considere el siguiente
programa y elegir la opcin
correcta que describe su
salida:
a) Este programa imprime los
siguientes: nula es instancia
de Object
b) Este programa imprime los
siguientes: nula es instancia
de Object
nula es
instancia de AtomicInteger
c) Este programa se ejecuta
y termina normalmente sin
imprimir cualquier salida en
el consola.
d) Este programa lanza una
NullPointerException.
e) Este programa dar lugar
a error del compilador (s).
39. c) Este programa se
ejecuta
y
termina
normalmente sin imprimir
cualquier salida en consola.
No es un error del compilador
para comprobar nula con el
operador
instanceof.
Sin
embargo, si es nula aprobado
para el operador instanceof,
devuelve falso. Ya que tanto
las
condiciones
cheques
fallan,
el
programa
no
imprime ninguna salida en la
consola.
40. Cul es el rango de
valores de prioridad de hilo y
cul es el valor de prioridad
por defecto de un hilo?
a) El rango de prioridades de
los hilos es de 1 a 5; la
prioridad de subprocesos
predeterminado es 3.
b) El rango de prioridades de
los hilos es de 1 a 10; la

prioridad de subprocesos
predeterminado es 6.
c) El rango de prioridades de
los hilos es de 1 a 10; la
prioridad de subprocesos
predeterminado es 5.
d) Todos los hilos tienen la
misma prioridad de 1; por lo
tanto,
la
prioridad
predeterminada
hilo
es
tambin 1.
e) Los hilos se implementan
utilizando
cooperativa
enfoque multi-threading, y
no
multithreading
preventiva; como resultado,
no tienen ninguna prioridad
en Java.
40. c) El rango de prioridades
de los hilos es de 1 a 10; la
prioridad de subprocesos
predeterminado es 5.
El rango de prioridades de
los hilos es de 1 a 10, siendo
10 la ms alta prioridad. Por
defecto, el prioridad de un
hilo es 5. Puede utilizar
getPriority () y setPriority ()
de la Clase Thread para
obtener o establecer la
prioridad de las discusiones.
41. Cul de las siguientes
interfaces no hereda de
java.util.Collection
<E>
interfaz?
41. d) Mapa <K, V>
Aparte de la interfaz de
mapa (que mapea claves de
valores),
las
otras
tres
interfaces representar grupo
de elementos y derivar de la
interfaz Collection.
42. Cul de los modificador
(s) se puede aplicar a un
miembro de datos en una
clase?
(Seleccione todas las que
correspondan.)
42. d) transitoria
Otros
modificadores
slo
pueden
aplicarse
a
los
mtodos y no los campos. El
modificador es transitoria
utilizado en el contexto de
serializacin:
cuando
un
objeto es serializado, el
miembro de datos que es
calificado como transitorio no
ser
parte
del
objeto
serializado.
43. Cul de los siguientes
mtodo (s) del objeto puede
ser anulado?
(Seleccione todas las que
correspondan.)
43. a) mtodo finalize () y b)
el mtodo clone ().
Los mtodos finalize () y
clone () Se pueden anular. La
mtodos getClass (), notify ()
y wait () son mtodos finales
y por eso no se puede anular.
44. Considere el siguiente
programa y predecir la
salida:

a) El programa resulta en un
error de compilacin en la
declaracin # 1.
b) El programa da lugar a
una excepcin de tiempo de
ejecucin.
c) El programa imprime el
siguiente:
En el mtodo de ejecucin;
Nombre del hilo es: main
En el mtodo principal;
Nombre del hilo es: main
d) Las copias del programa:
En el mtodo de ejecucin; el
nombre del hilo es: hilo-0
En
el
mtodo
principal; el nombre del hilo
es: main
44. c) El programa imprime
el siguiente:
En el mtodo de ejecucin;
Nombre del hilo es: main
En el mtodo principal;
Nombre del hilo es: main
La forma correcta de invocar
un hilo es llamar al mtodo
start () en un objeto Thread.
Si llama directamente al
mtodo run (), el mtodo
funcionar como cualquier
otro
mtodo
(en
otras
palabras, se ejecutar de
forma
secuencial
en
el
mismo hilo sin correr como
una hilo separado).
45. Considere el siguiente
programa y predecir la
salida:
a) El programa resulta en un
error de compilacin en la
declaracin # 1.
b) El programa se traduce en
el
lanzamiento
de
un
IllegalThreadStateException.
c) El programa imprime el
siguiente:
En el mtodo de ejecucin;
Nombre del hilo es: hilo-0
En el mtodo
principal; Nombre del hilo es:
hilo-0
d) El programa imprime el
siguiente:
En el mtodo
de ejecucin; Nombre del hilo
es: hilo-0
45. b) El programa se
traduce en el lanzamiento de
un
IllegalThreadStateException
Si se invoca el mtodo start
() en un objeto hilo dos
veces, el resultado ser un
IllegalThreadStateException.
46. Considere el siguiente
programa y predecir la
salida:
a) El programa resulta en
error del compilador (s).
b) El programa se traduce en
el
lanzamiento
de
un
IllegalThreadStateException.
c) El programa imprime el
siguiente:
En el mtodo
de ejecucin; Nombre del hilo
es: hilo-0

d)
El
programa
nunca
terminar.
46. d) El programa nunca
terminar.
Llamando this.join () dar
lugar a la espera indefinida
desde el hilo est esperando
el enhebrar s para terminar.
47.
Cul
de
estas
afirmaciones son ciertas con
respecto al hilo y Ejecutable?
(Seleccione todas las que
correspondan.)
a) Tema es una clase
abstracta.
b) Tema proporciona una
implementacin
predeterminada
para
el
mtodo run ().
c) Tema es una clase
abstracta que ampla la clase
base abstracta Ejecutable.
d) Ejecutable es una clase
abstracta.
47. b) Tema proporciona una
implementacin
predeterminada
para
el
mtodo run ().
Tema es una clase concreta
que implementa el interface
Runnable. La clase Thread
tambin proporciona una
implementacin por defecto
para el mtodo run ().
48. Cul de los siguientes
estados (s) no es / son
estado hilo legtimo (s)?
(Seleccione todas las que
correspondan.)
a) NUEVO
b) EJECUCIN
c)
ESPERA
d) TERMINADO
e) RUNNABLE
48. b) EJECUCIN
Un hilo puede estar en uno
de los siguientes estados
(como se define en la
java.lang.Thread.State
enumeracin):
NUEVO,
RUNNABLE, bloqueados, en
espera, TIMED_WAITING, y se
termina.
49. Cul de los siguientes
NO
es
un
constructor
constructor vlido de clase
Thread?
a) Tema ()
b) Tema (String nombre)
c) Tema (objetivo Ejecutable,
Object obj)
d) Tema (objetivo Ejecutable,
String nombre)
e) hilo (grupo ThreadGroup,
String nombre)
49.
c)
Tema
(objetivo
Ejecutable, Object obj)
Los
otros
constructores
son
constructores
de
rosca
vlidos.
50. Considere el siguiente
programa y elegir la mejor
opcin:
a) Cuando se ejecuta, se
imprime
siempre
lo

siguiente:
Coma!
Haga
eructar! Carrera!
b) Cuando se ejecuta, se
imprime
una
de
las
siguientes acciones: Comer!
Haga eructar! Carrera! o
eructar! Coma! Carrera!
c) Cuando se ejecuta, se
imprime
una
de
las
siguientes acciones: Comer!
Haga eructar! Carrera !;
Haga eructar! Coma! Carrera
!; o Ejecutar!
Coma! Haga eructar!
d) Cuando se ejecuta, se
imprime
una
de
las
siguientes:
Burp!
Coma!
Carrera! o eructar! Carrera!
Coma!
50. b) Cuando se ejecuta, se
imprime
una
de
las
siguientes acciones: Comer!
Haga eructar! Carrera! o
eructar! Coma! Carrera!
Si el miThread hilo est
programado para ejecutarse
primero,
inmediatamente
despus de inicio () se llama,
lo har
imprimir "eructar! Coma!
Carrera! "; de lo contrario, se
imprimir
"Eat!
Haga
eructar! Corre! "La salida"
Corre! "Se
siempre
ser
ejecutada
pasado a causa de la join ()
llamada al mtodo en el
mtodo main ().
51. Considere el siguiente
programa
y
elegir
la
respuesta correcta:
a) Este programa generar
un
IllegalMonitorStateException.
b) Este programa siempre
imprimir la siguiente: Pista
de Tenis de Mesa de la tabla.
c) Este programa siempre
imprimir el siguiente: Table
Tennis Table Tennis.
d)
La
salida
de
este
programa
no
se
puede
predecir; que depende de la
programacin
de
subprocesos.
51. d) La salida de este
programa
no
se
puede
predecir; que depende de la
programacin
de
subprocesos.
Dado que los hilos no se
sincronizan
en
este
programa, la salida de este
programa
no
puede
determinar. Dependiendo de
cmo se programan los hilos,
puede incluso generar una
salida como Table Tennis
Table Tennis.
52. Considere el siguiente
programa y elija una opcin
de la derecha:
a) El programa dar lugar a
un error de compilacin en la
declaracin # 1.

b) El programa dar lugar a


un error de compilacin en la
declaracin # 2.
c) El programa se compilar
sin errores y se imprimir
"Ejecutar" en la consola.
d) El programa se compilar
sin errores pero no imprime
ninguna salida en la consola.
52. c) El programa se
compilar sin errores y se
imprimir "Ejecutar" en la
consola.
El Hilo clase implementa el
interface Runnable, por lo
que la asignacin en la
declaracin # 1 es vlido.
Adems, puede crear un
nuevo objeto hilo pasando
una referencia Ejecutable a
un Hilo constructor, por lo
que la declaracin # 2
tambin es vlido. Por lo
tanto,
el
programa
se
compilar sin errores e
imprimir "Ejecucin" en la
consola.
53. Cul es la salida del
siguiente programa?
53. c) es igual a: false
Ordinales: true
El mtodo equals () devuelve
true slo si las constantes de
enumeracin son los mismos.
En este caso, las constantes
de enumeracin pertenecen
a diferentes enumeraciones,
por lo que los equals ()
mtodo devuelve false. Sin
embargo,
los
valores
ordinales de las constantes
de enumeracin son igual ya
que ambos son segundos
elementos en sus respectivas
enumeraciones.
54. Considere el siguiente
cdigo y elegir la mejor
opcin:
a) Este programa imprimir
siempre 0.
b) Este programa imprimir
cualquier valor entre -5 a 5.
c) Si usted hace el run ()
mtodos
en
clases
incrementador
y
Decrementer
sincronizado,
este
programa
siempre
imprimir 0.
d) El programa reportar
errores de compilacin en
declaraciones # 1 y # 2.
54. a) El valor final del
contador ser siempre 0.
Has empleado AtomicInteger,
que proporciona un conjunto
de mtodos atmicas como
incrementAndGet
()
y
decrementAndGet (). Por lo
tanto, usted siempre recibir
0 como el valor final de
mostrador.
Sin
embargo,
dependiendo
de
la
programacin
de
subprocesos, los valores del
contador intermedios puede

ser en cualquier lugar entre


-5 a +5, pero el valor final
del contador ser siempre 0.
As que no es necesaria
ninguna sincronizacin entre
los hilos, a pesar de que el
acceso
/
modificar
una
variable comn.
55. Cul de las siguientes
opciones NO es la correcta?
a) Un objeto de condicin se
puede adquirir a partir de un
objeto de bloqueo.
b) Ejecutor es una interfaz
que declara slo un mtodo,
es
decir,
void
execute
(Ejecutable).
c) Uso de un semforo con
un recurso es similar al uso
de una cerradura.
d) CountDownLatch permite
que cada hilo para completar
su etapa de tarea asignada a
paso.
55.
d)
CountDownLatch
permite que cada hilo para
completar su etapa de tarea
asignada a paso.
CountDownLatch
permite
hilos que esperar a que una
cuenta atrs para completar.
Es Phaser, que permite que
cada hilo para completar su
etapa de tarea asignada a
paso. Los otros tres estados
son verdaderas.
56. Cul de las siguientes
opciones NO es la correcta?
a) Un objeto Ejecutable no
devuelve un resultado; un
objeto invocable devuelve un
resultado.
b) Un objeto Ejecutable no
puede lanzar una excepcin
comprobada;
un
objeto
invocable puede lanzar un
excepcin.
c) La interface Runnable ha
existido desde Java 1.0;
Exigible no se introdujo en
Java 1.5.
d) Las instancias de las
clases
que
implementan
Ejecutable o rescatable son
potencialmente
ejecutado
por otro hilo.
e) A Callable puede ser
ejecutado
por
un
ExecutorService,
pero
un
Ejecutable no puede ser
ejecutado
por
un
ExecutorService.
56. e) Un exigible puede ser
ejecutado
por
un
ExecutorService,
pero
un
Ejecutable no puede ser
ejecutado
por
un
ExecutorService. Un objeto
Ejecutable tambin puede
ser
ejecutado
por
un
ExecutorService. Los otros
estados son verdaderas.
57. Cul de los siguientes
mtodos se definira al
implementar la

Interfaz FbricaTrenzado?
a)
newThread
hilo
(r
Ejecutable)
b)
CreateThread
hilo
(r
Ejecutable)
c) newThreadInstance hilo (r
Ejecutable)
d) Tema
getThread (r Ejecutable)
57. a) newThread hilo (r
Ejecutable)
La interfaz FbricaTrenzado
define slo un mtodo,
newThread
hilo
(r
Ejecutable).
Debe definir este mtodo en
la aplicacin de una nueva
fbrica de hilos con esta
interfaz.
58. Cul de las siguientes
afirmaciones no es correcta?
a) Se puede utilizar el
ExecutorService
para
calcular
ecuaciones
matemticas
de
tamao
moderado.
b)
Puede
utilizar
el
ExecutorService implementar
rastreadores web.
c) Se puede utilizar el
Tenedor / nete framework
para resolver la Torre de
Hanoi problema.
d) Se puede utilizar el
Tenedor / nete framework
para
implementar
el
algoritmo de Euclides para
encontrar el MCD.
e) El Tenedor / nete
framework es adecuado para
las tareas que implican una
amplia interaccin con el
usuario y operaciones de E /
S.
58. e) Un Tenedor / nete
framework es adecuado para
las tareas que implican una
amplia interaccin con el
usuario y
Operaciones I / O.
Puede utilizar un Tenedor /
nete framework para tareas
computacionalmente
intensivas
que,
naturalmente, puede
ser desglosado en subtareas
ms pequeas y realizar
clculos para las subtareas.
la
Tenedor / nete framework
es adecuado cuando las
tareas implican una amplia
interaccin de usuario o
Yo operaciones E / S ya que
no
encajaba
en
el
framework.
59. Para la definicin de
enumeracin siguiente, que
una
de
las
siguientes
imprime el valor 2 en la
consola?
59.
a)
System.out.print
(Pets.Parrot.ordinal ());
Opcin a) El mtodo ordinal
imprime la posicin de la

constante de enumeracin
dentro de una
enumeracin.
Opcin b) La impresin de
llamadas
(Pets.Parrot);
imprime la cadena "Loro" a la
consola.
Opciones c), d) ye) No hay
mtodos llamados indexAt (),
valor (), o getInteger () en
Enum
60. Considere el siguiente
programa y elegir la opcin
correcta:
a) Este programa imprimir
el
siguiente:
en
en_IN
th_TH_TH_
#
u-nu-thai
th_TH_TH_ # u-nu-thai.
b) Este programa imprimir
el
siguiente:
en
en_IN
th_TH_TH_ # u-nu-thai
(seguido de una excepcin
de tiempo de ejecucin).
c) Este programa resulta en
un error compilacin en la
declaracin # 1.
d) Este programa resulta en
un error compilacin en la
declaracin # 2.
e) Este programa resulta en
un error compilacin en la
declaracin # 3.
f) Este programa resulta en
un error compilacin en la
declaracin # 4.
60. f) Este programa resulta
en un error de compilacin
en el # 4.
La clase Locale admite tres
constructores que se utilizan
en los estados # 1, # 2 y #
3;
Sin
embargo,
no
hay
constructor
de
la clase
configuracin regional que
toma otro objeto Locale
como
argumento, por lo que el
compilador da un error de
declaracin # 4.
61. Considere el siguiente
programa y predecir la
salida:
a) El programa resulta en un
error de compilacin en la
declaracin # 1.
b) El programa da lugar a
una excepcin de tiempo de
ejecucin
de
NoSuchLocaleException.
c) El programa da lugar a
una excepcin de tiempo de
ejecucin
de
MissingResourceException.
d) El programa da lugar a
una excepcin de tiempo de
ejecucin
de
IllegalArgumentException.
e) El programa imprime el
siguiente: navi_PANDORA.
61. e) El programa imprime
el siguiente: navi_PANDORA.
Para crear un objeto Locale
utilizando la configuracin
regional constructor (idioma

String,
pas
String),
cualesquiera
valores
de
cadena se pueden pasar;
simplemente intentar crear
un objeto Locale no resultar
en
el
lanzamiento
de
excepciones (que no sea una
NullPointerException,
que
podra
plantearse
para
pasando nulos Strings).El
mtodo toString () de la clase
Locale
devuelve
una
representacin de cadena de
la
configuracin
regional
objeto que consta de idioma,
pas, variante, etc.
62. Cul de las siguientes
clases
no
proporciona
mtodo (s) de fbrica para
crear una instancia la clase?
62. a) AtomicInteger
El
DateFormat
clase
proporciona mtodos como
getDateInstance
()
y
getTimeInstance
(),
NumberFormat proporciona
mtodos
tales
como
getInstance
()
y
getNumberInstance
(), y calendario proporciona
el mtodo getInstance (), que
son
mtodos de fbrica. La clase
AtomicInteger
no
admite
ningn mtodo de fbrica.
(De hecho, no tiene ningn
mtodos estticos!)
63. Cul de las opciones
dadas son verdaderas con
respecto a parse () y el
formato () de la clase
NumberFormat (elegir dos):
a) El mtodo parse () es para
los nmeros de lectura
proporcionadas as String y
tries
convirtindolos
en
Nmero.
b) El mtodo format () se
utiliza para imprimir los
valores de acuerdo con los
valores establecidos en el
Objeto NumberFormat.
c) El mtodo parse () es para
imprimir los valores de
acuerdo con los valores
establecidos en el Objeto
NumberFormat.
Mtodo
d) El formato () se utiliza
para los nmeros de lectura
proporcionadas as String y
tries
convirtindolos
en
Nmero.
63. a) El mtodo parse () es
para los nmeros de lectura
proporcionadas
como
bsqueda
e
intntalo
convirtindolos en Nmero.
b) El mtodo format () se
utiliza para imprimir los
valores de acuerdo con los
valores establecidos en el
Objeto NumberFormat.
El mtodo parse () es para la
creacin
de
un
objeto

Nmero de un objeto String


que tiene valor numrico, y
el formato () mtodo est
destinado para convertir un
valor numrico en un Objeto
String.
64. Considere el siguiente
programa: Este segmento de
cdigo imprime el siguiente:
Llamando new Date (); objeto
crea un objeto Date para la
fecha actual. Dentro de la
fecha formato de cadena "d"
("E") "MMM, AAAA", se les da
la apertura y cierre de
parntesis
entre comillas
simples (es decir, '(' E ')' para
asegurarse de que no se
trata como un especificador
de formato carcter), por lo
que las comillas simples no
son parte de la propia salida.
64. b) 28 (dom) octubre de
2012
Cartas
pertinentes y su significado:
d Da en meses Nombre E Da
de la semana M Mes en
aos Y Ao
Llamando new Date (); objeto
crea un objeto Date para la
fecha actual. Dentro de la
fecha formato de cadena "d"
("E") "MMM, AAAA", se les da
la apertura y cierre de
parntesis
entre comillas
simples (es decir, '(' E ')' para
asegurarse de que no se
trata como un especificador
de formato carcter), por lo
que las comillas simples no
son parte de la propia salida.
65. Cul de las opciones
que se ofrecen no es correcta
con respecto al gestor de
controladores perteneciente
a la arquitectura JDBC?
a) Un gestor de controladores
mantiene
una
lista
de
fuentes de datos disponibles
y sus conductores.
b)
Un
gestor
de
controladores
elige
un
controlador adecuado para
comunicar a la respectiva
DBMS.
c) Un gestor de controladores
asegura las propiedades de
atomicidad
de
una
transaccin.
d)
Un
gestor
de
controladores gestiona varios
conductores
simultneos
conectados a sus respectivas
fuentes de datos.
65.
c)
Un
gestor
de
controladores asegura las
propiedades de atomicidad
de una transaccin.
66. Cul de las siguientes
declaraciones
NO es la
correcta?
a) Es necesario utilizar una
declaracin cuando usted
necesita
enviar
una

sentencia SQL para la base


de datos
sin ningn parmetro.
b) PreparedStatement es una
sentencia SQL precompilado.
c) PreparedStatement puede
manejar parmetros IN y
OUT.
d)
CallableStatement
se
utiliza
para
ejecutar
procedimientos
almacenados.
66. c) PreparedStatement
puede
manejar
IN
y
parmetros OUT.
PreparedStatement
puede
manejar slo en parmetros;
CallableStatement
puede
manejar IN, OUT e INOUT
parmetros.
67. Es necesario especificar
el
URL
para
establecer
conexin con la base de
datos MySQL. Cul de el
siguiente es el correcto a
utilizar?
67. a)
String url = "jdbc: mysql: //
localhost: 3306 /";
68. Cul de las siguientes
afirmaciones es una manera
correcta de crear instancias
de una Declaracin objeto:
68.
b)
Declaracin
Declaracin
Connection.createStatement
= ();
69. Considere el siguiente
fragmento
de
cdigo:
Supongamos
que
conjuntoResultados
y
Declaracin son instancias
legtimas.
Cul
de
los
siguientes afirmaciones es
correcta con respecto a Stmt
# 1 y # 2 Stmt para insertar
con xito una nueva fila?
a) Sustitucin Stmt # 1 con
ResultSet.moveToInsertRow
() solo har que el programa
trabajo.
b) Sustitucin Stmt # 1 con
ResultSet.insertRow () solo
har
que
el
programa
funcione.
c) Sustitucin Stmt # 1 con
ResultSet.moveToInsertRow
()
y
Stmt
#
2
con
ResultSet.insertRow () har
que el programa funcione.
d) Sustitucin Stmt # 1 con
ResultSet.insertRow () y Stmt
#
2
con
ResultSet.
moveToInsertRow () har que
el programa de trabajo
69. c) Sustitucin Stmt # 1
con
ResultSet.moveToInsertRow
(); y Stmt # 2 con
ResultSet.insertRow (); har
que el programa funcione.
Usted
necesita
llamar a la moveToInsertRow
() mtodo para insertar una
nueva fila (este mtodo
prepara
el
conjunto
de

resultados para crear una


nueva fila). Una vez que se
actualiza la fila, es necesario
llamar insertRow () para
insertar la fila en conjunto de
resultados y la base de
datos.
70. Cul de las siguientes
afirmaciones es correcta con
respecto al conjunto de
resultados?
70. a) Llamada absoluta (1)
en una instancia de ResultSet
es equivalente a llamar
primero
(),
y
llamando
absoluta (-1) es equivalente
a llamar last ().
71. Cul de las siguientes
afirmaciones NO es correcta
con respecto a las clases
anidadas?
a) Una clase externa puede
tener acceso a los miembros
privados de la clase anidada
sin declarar un objeto de la
clase anidada.
b) clases anidadas estticas
pueden
acceder
a
los
miembros estticos de la
clase externa.
c) clases anidadas estticas
se pueden declarar abstracta
o final.
d) clases anidadas estticas
pueden extender otra clase o
pueden ser utilizados como
una clase base.
71. a) Una clase externa
puede tener acceso a los
miembros privados de la
clase anidada sin declarar un
objeto de la clase anidada.
Una
clase
externa puede tener acceso
a los miembros privados de
la
clase
anidada
slo
declarando una objeto de la
clase anidada.
72. Cul de las siguientes
clases pertenecientes a JDK
no implementa el Singleton
patrn?
72. d) Configuracin regional
est en el paquete java.util
La clase Locale tiene
tres constructores pblicos,
por lo que no implementa el
Singleton patrn. Las otras
tres clases implementan el
patrn Singleton.
73. En una implementacin
patrn
DAO
con
varios
objetos DAO y mltiples
persistencia mecanismos (es
decir, las fuentes de datos),
cul
de
las
siguientes
opciones es correcta en este
contexto?
a) No se puede aplicar varios
objetos DAO y mltiples
fuentes de datos en conjunto
utilizando un patrn DAO.
b) Es necesario implementar
el patrn Observador para

gestionar la complejidad de
el contexto.
c) Es necesario utilizar el
patrn de la fbrica abstracta
para gestionar la complejidad
del contexto.
d) Es necesario implementar
varias instancias del patrn
DAO
para
manejar
la
complejidad de el contexto.
73. c) Es necesario utilizar el
patrn de la fbrica abstracta
para gestionar la complejidad
del contexto.
Utilizando
el patrn de la fbrica
abstracta,
puede
crear
instancias de fuentes de
datos adecuadas con objetos
DAO aplicables.
74. Considere el siguiente
programa y predecir la
salida:
d) Nombre del archivo:
Prueba
ruta
absoluta: D:. \ workspace \
CH14-test \ \ Test
Ruta
normalizada:
D:
\
workspace \ CH14-test \ Test
75. Considere el siguiente
programa:
Supongamos
que existe nombres.txt en el
directorio actual, y abrir el
archivo tiene xito, y br
apunta a un objeto vlido. El
contenido de la nombres.txt
es la siguiente: Cul de las
siguientes opciones describir
correctamente
el
comportamiento
de
este
programa?
75.
c)
Este
programa
imprime los siguientes:
olivea
Emma
emma
La marca mtodo void (int
lmite) en BufferedReader
marca la posicin actual de
restablecer la corriente a la
posicin marcada. El lmite
argumento
especifica
el
nmero de caracteres que
pueden ser ledos al mismo
tiempo conservar la marca.
Este programa marca la
posicin despus "olivea" se
lee, por lo que despus de
leer "emma," cuando el
marcador se pone a cero y el
la lnea se vuelve a leer, se
lee "emma" una vez ms.
76. Considere el siguiente
programa y predecir la
salida:
a) El programa producir una
excepcin de tiempo de
ejecucin.
b) El programa producir un
error del compilador.
c) Se imprimir la siguiente:
1 de diciembre de 2012.
d) Se imprimir la siguiente:
1 Enero de 2013.
76. d) Se imprimir el
siguiente: 1 Enero de 2013.

El ndice de mes se inicia


desde 0; por lo tanto, si se le
da el mes un ndice de 12,
aumentar el ao por uno y
empieza a contar a partir de
enero.
77. Considere el siguiente
programa y predecir la
salida:
77. a) principal
principal
Thread-0
Llamando
run
()
directamente no va a crear
un nuevo hilo. La forma
correcta es llamar a start ()
mtodo, que a su vez llama
al mtodo run () en un nuevo
hilo.
78. Considere el siguiente
programa y predecir la
salida:
a) El programa imprimir el
siguiente: 2.
b) El programa imprimir el
siguiente: 1.
c) El programa informar de
un error del compilador.
d) El programa reportar una
excepcin en tiempo de
ejecucin.
78. d) El programa reportar
una excepcin en tiempo de
ejecucin.
La variable de miembro no se
inicializa y se accede en el
constructor, que se traduce
en una NullPointerException.
El mtodo main () declara
una variable local llamada I
cuya alcance est limitado al
mtodo main ().
79. Considere el siguiente
programa y predecir la
salida:
79. a) Derivada
derivado
El tipo dinmico de la
instancia obj2 la variable
sigue siendo el mismo (es
decir, derivado). Por lo tanto,
cuando print () se llama en
obj2, llama a la versin de la
clase derivada del mtodo.
80. Considere el siguiente
programa y predecir la
salida:
80. d) 16
La
expresin
regular
especificada es "\\ S" y no "\\
s"; la primera expresin
regular especifica no est en
blanco personajes y el otro
especifica
espacios
en
blanco.
81. Considere el siguiente
programa y predecir la
salida:
a) El programa resulta en un
error
del
compilador
("sobrecarga ambigua").
81. d) int
Si se
especifican Entero y tipos
largos, un literal coincidir a

int. As, el programa imprime


int.
82. Considere el siguiente
programa y elija una opcin
correcta para reemplazar
Stmt # 1, que compilar sin
errores:
82. a) Phone.State estado =
Phone.State.ONCALL;
83. Considere la siguiente
declaracin y elija una opcin
correcta:
83. b) Mtodos print1 (),
print3 (), y Print4 () no se
compilar
El print2 mtodo () es
correcta, ya que define un
mtodo y declara final, que
es aceptable.
El print1 mtodo () es
incorrecta, ya sea un mtodo
tiene un cuerpo o que tiene
que ser declarado como
abstracto
en una clase
abstracta. Print3 Mtodo ()
no es correcta, ya que un
mtodo
no
puede
ser
abstracto y final en el mismo
tiempo. Del mismo modo,
Print4 () tampoco es correcto
ya que un mtodo no puede
ser esttico y abstracto al
mismo tiempo.
84. Considere la siguiente
definicin de clase:
Cul
de
las
dos
opciones
siguientes
son
clases
concretas
correctas
extienden clase Base?
84. b) clase Deri extiende
Base {
pblica Entero getValue () {
return new Integer (10);
}
}
d) clase Deri extiende Base {
pblica
java.util.concurrent.atomic.At
omicInteger getValue () {
volver
nueva
java.util.concurrent.atomic.At
omicInteger (10);
}
}
Opcin a) intenta asignar
privilegios de acceso ms
dbil al declarar el mtodo
protegido cuando el mtodo
de base es pblica, por lo
que es incorrecto.
Opcin b) hace uso de un
tipo de retorno co-variante
(ntese que se extiende
Nmero Entero), y define el
mtodo
primordial
correctamente.
En la opcin c) el mtodo del
flotador getValue (flt float) no
deroga la getValue () mtodo
en la base desde la firma no
coincide, por lo que es
incorrecto.
Opcin d) hace uso de covariante tipo de retorno
(ntese que AtomicInteger

extiende Number), y define


el
mtodo
primordial
correctamente.
85. Cul de las siguientes
opciones es la correcta?
a) Una clase abstracta debe
declarar todos sus mtodos
como abstracto.
b) Una clase abstracta debe
contener
al
menos
un
mtodo abstracto.
c) Si un mtodo se declara
abstracto, su clase debe ser
declarada abstracta.
d) En una clase abstracta,
todos
los
mtodos
no
abstractos son finales.
85. c) Si un mtodo se
declara abstracto, su clase
debe
ser
declarada
abstracta.
86. Considere el siguiente
programa:
Qu
hace
este programa de impresin
cuando se ejecuta?
a) uno, dos, tres
b)
tres dos uno
c) uno uno uno
d)
tres tres tres
86. a) Imprime el siguiente:
uno, dos, tres.
El addFirst () inserta un
elemento en la parte frontal
del objeto Deque y pollLast
(mtodo) recupera y elimina
el elemento desde el otro
extremo del objeto. Puesto
que los elementos "Uno",
"dos" y "tres se insertan" en
un extremo y recuperados en
el otro extremo, la elementos
se recuperan en el mismo
orden
en
que
fueron
insertados.
87. Cul de las siguientes
afirmaciones no es correcta?
a) Un interruptor se puede
utilizar con enumeraciones
(enumeraciones).
b) Un interruptor se puede
utilizar con el tipo de cadena.
c) Un interruptor se puede
utilizar con el tipo de punto
flotante.
d) Un interruptor puede ser
utilizado con el byte, char,
short o int tipos.
e) Un interruptor puede
utilizarse con tipos byte,
carcter, Corto o entero
envoltura.
87. c) Un interruptor puede
ser utilizado con un tipo de
coma flotante.
Una sentencia switch se
puede
utilizar
con
enumeraciones, cadenas y
tipos primitivos byte, char,
corto, y int y sus tipos de
contenedor; no se puede
utilizar con un tipo de coma
flotante.
88. Considere el siguiente
programa y predecir su
produccin:

a) Este programa resulta en


un error de compilacin en la
declaracin # 1.
b) Este programa resulta en
un error de compilacin en la
declaracin # 2.
c) Este programa resulta en
lanzar
una
NullPointerException.
d) Este programa imprime los
siguientes: cadena nula.
88. c) Este programa resulta
en
lanzar
una
NullPointerException.
Si un valor nulo se pasa a
una sentencia switch, se
produce
una
NullPointerException.
89. Cul de las siguientes
interfaces no se extiende la
interfaz conjunto de filas ?:
89. d) TraversalRowSet
Las interfaces que se derivan
de
JdbcRowSet
son
CachedRowSet, WebRowSet,
JoinRowSet, y FilteredRowSet.
90. Cules de las siguientes
clases se definen en el
java.util.concurrent.atomic
paquete?
90. a) AtomicBoolean yc)
AtomicReference <V>
El
AtomicBoolean
clase
admite valores booleanos
atmicamente actualizables.
la clase AtomicReference
<V>
soporta
referencias
atmicamente actualizables
de V. Las clases de tipo
AtomicDouble, AtomicString,
y AtomicObject no son parte
de la java.util. paquete
concurrent.atomic.

Vous aimerez peut-être aussi