Documente Academic
Documente Profesional
Documente Cultură
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.
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
*****
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
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
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
[^ 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).
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
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.
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
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.
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.
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.
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
Utilice
el
mtodo
forLanguageTag
(String
languageTag) en la clase
Locale.
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
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
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.
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
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)
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)
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
&
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.
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
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> ();
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
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.
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
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
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:
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.
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
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
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,
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
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.
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
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.
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
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.