miércoles, 18 de marzo de 2009

Notas Rapidas Importantes 2


  1. Al implementar el metodo run dentro de un hilo y sincronizar un fragmento de codigo en base a un objeto creado dentro del propio metodo (variable local) la sincronizacion no es efectiva ya que cada hilo tendra su propia copia del objeto.

  2. Dentro de cualquier metodo estatico el operador this no es accesible.
  3. The methods inherited from clas java.lang.Object are:
    Clone( ), equals( ), finalize( ), getClass( ), hashCode( ), notify( ), notifyAll( ), wait( )
  4. Dividing integrals numbers with zero throws a RuntimeException
  5. Dividing floating-poin numbers with zero will not cause any error ( throws “infinity” to the console)
  6. Un metodo abstracto solo puede tener public, protected o ningun (modificador por default) modificador de acceso
  7. Un método abstracto no puede ser sincronizado
  8. Un constructor solo puede ser private, protected o public
  9. Una clase final no puede tener metodos abstractos
  10. Las clases abstractas y los enum pueden tener metodos estaticos
  11. Los modificadores que puede usar una clase son public y final
  12. El garbage collector es un hilo de baja prioridad y no garantiza el orden en que los objetos son recolectados
  13. Collections:
    Hash à no ordena de ninguna forma los elementos
    Treeà ordena ascendente( en el orden natural)
    Linkedà imprime en el orden en que entran los elementos
    Arrays y Collections son clases de utileria que se encuentran en java.util
  14. Las variables de clase de tipo final, DEBEN ser inicializadas
  15. El metodo equals() es sensible a mayusculas y minusculas
  16. En metodos publicos NO SE RECOMIENDA usar asserts (ojo, si se puede)
  17. Los constructores pueden sobrecargarse pero no sobrescribirse
  18. los metodos notify( ), notifyAll( ) y wait( ) solo pueden ser llamados dentro de codigo sincronizado
  19. Autoboxing: cambia directamente un primitivo a su wrapper
  20. Unboxing: cambia directamente un wrapper a su tipo primitivo
  21. Las clases no pueden extender interfaces solo implementarlas
  22. Las interfaces no pueden implementar otras interfaces, solo extenderlas
  23. Los metodos declarados en una interfaz son implícitamente publicos y abstractos
  24. Todas las comparaciones con NaN son falsas

Notas Rapidas Importantes 1

  1. Los métodos de Collections y Map (Navigables):
  2. headXXX(y), hace referencia al conjunto de elementos menores a y.

    tailXXX(y), hace referencia al conjunto de elementos mayores a y.

    floorXXX(y), el elemento inmediato menor a y

    ceilingXXX(y), el elemento inmediato mayor a y

  3. Al evaluar una sentencia switch si se encuentra la coincidencia en algun case y no cuenta con un rompimiento (break) continua ejecutando las siguientes instrucciones de los case posteriores.
  4. Al crear un objeto de tipo Boolean y usar cadenas como son "TRUE","True","trUe" que contengan la cadena T R U E sin importar mayusculas o minusculas asigna el valor booleando true, si se asignasé cualquier otra cadena por ejemplo "False","Nulo","Cualquier valor" se asigna el valor booleano false.
  5. Todas las variables de instancia son inializadas por default, sin embargo cuando se llegasé a utilizar el modificador final para cualquier variable de clase, tiene que ser explicitamente inicializada.
  6. El operador instanceof aplica para jerarquia de clases e implementación de Interfaces, por ejemplo class A implements I{} la evaluacion de A instanceof I será verdadera.
  7. El método readPassword que se encuentra dentro de la clase Console, permite leer de teclado un password sin verlo en pantalla y regresa un arreglo de caracteres.
  8. Si tenemos una clase A y deseamos invocar de manera explicita el método finalize de la clase padre (Object) de la siguiente manera: super.finalize(); es necesario manejar la excepción de tipo Throwable.
  9. Los métodos estaticos sobreescritos al igual que los valores en las variables de clase, son ejecutados dependiendo de la clase donde sean declarados, Si la clase A es padre de la clase B, y ambos definen el método m1 de tipo estatico.
  10. A a = new B();

    a.m1(); //Aqui se invocará al metodo estatico m1 que pertenece a la clase A

    Ahora por ejemplo si ambos definen la variable de clase i en la clase A con valor de 5 y en la clase B con valor de 10 y se pide el valor de esa variable (a.i) el valor regresado será 5 ya que los valores no son sobrescritos.

  11. Hashtable es el único mapa (Map) que no tiene terminación map y es sincronizado.
  12. El método en todas las colecciones para obtener la cantidad de elemento contenidos es size(), en todos los arreglos ya sea primitivos, wrappers u objetos, para saber el numero de elementos se utiliza el atributo "length".
  13. Las clases Collections y Arrays son clases de utilerias que tienen métodos por ejemplo, para ordenamiento, busqueda, comparación, minimos, maximo de colecciones y arreglos respectivamente.

martes, 10 de marzo de 2009

Video Tutoriales SCJP 5.0

Muy buenos videos que explican cada uno de los temas de la SCJP 5, que pueden ser usados para la SCJP 6.0 solo hay algunas diferencias .....

Se han quitado las preguntas referentes a System.gc() .
Se agrego la clase java.io.Console.
Se agrego el tema de colecciones Navigable.
Muchos de los objetivos de la SCJP 5 han sido reforzados: exception handling, collection classes and collection interfaces, assertions, threads, and flow control.


Numero de preguntas: 310-055 = 72; 310-065 = 72
Porcentaje requerido para pasar: 310-055 = 59%; 310-065 = 65%
Tiempo Limite: 310-055 = 175 minutos; 310-065 = 210 minutos



http://rapidshare.com/files/205007751/Video_Tutorial_SCJP_5.0.part1.rar
http://rapidshare.com/files/205013857/Video_Tutorial_SCJP_5.0.part2.rar

Simulador SCJP 6.0


Excelente simulador de la SCJP 6.0



Notas SCJP (Muy Buenas!)








lunes, 9 de marzo de 2009

Tips a la hora de presentar el SCJP 6.0

1. Aproximadamente el 30% del examen son preguntas de tipo Drag and Drop, las respuestas son reiniciadas si inicias a contestar y dejas alguna incompleta y posteriormente deseas volver a revisar tu respuesta se habrá perdido ¡Mucho Cuidado!

2. Es de mucha ayuda resolver las preguntas de Drag and Drop en una hoja de papel antes de contestar en el examen.

3. Si algún codigo no te queda claro durante la elaboración de los Mocks (simuladores) es de mucha ayuda escribirlos en codigo java y tratar de ver que hace y hacer variaciones sobre el código para aprender su comportamiento, esto será mejor retenido si lo practicas.

4. Una sola pregunta puede estar asociada a varias areas, por ejemplo si aparece una pregunta que tenga un assert , no solo nos debemos concentrar en ese concepto ya que probablemente la pregunta va enfocada a "Declarations, Inicialization and Scoping"

5. Debe quedarte completamente claro la implementación de las clases de tipo Collections (List, Set, Map) asegurate de saber cuales de estas soportan ordenamiento, permiten nulos, duplicados y cuales tienen mejor desempeño.

6.

7.

8.

Modificadores Generales Java


JavaBlackBelt : News