SCJA material para estudos

Olá, estou estudando para a SCJA por estes dois livros da Altabooks:
http://altabooks.tempsite.ws/product_info.php?products_id=165&osCsid=5lnsqglhd6tb7de1ob4jthscm6
http://altabooks.tempsite.ws/product_info.php?products_id=66&osCsid=5lnsqglhd6tb7de1ob4jthscm6

Um complementa o outro, e acho que servirá como uma boa base que que outras pessoas possam obter esta primeira certificação em java.

Se alguém conhecer estes livros, gostaria de saber sua opinião a respeito dos mesmos.

Um abraço. :wink:

Olá, tem esse aqui http://www.linuxmall.com.br/index.php?product_id=5267 pelo que soube desse livro, aborda somente o que cai na prova…

Segue guia da prova, bom pra seguir como estudo.

Seção 1 ? Conceitos Fundamentais de Orientação a Objetos.
Descrever, comparar e contrastar primitivas (inteiro, ponto flutuante, booleano, e caractere), tipos enumerados e objetos.
Descrever, comparar e contrastar classes concretas, classes abstratas, e interfaces, e como a herança se aplica a elas.
Descrever, comparar e contrastar composição de classes, e associações (inclusive de multiplicidade um-para-um, um-para-muitos e muitos-para-muitos) e associações de navegação.
Descrever ocultamento de informação (usando atributos privados e métodos), encampsulamento e exposição de funcionalidades de objetos usando métodos públicos; e descrever as convenções de JavaBeans para métodos setter e getter.
Descrever polimorfismo aplicado a classes e interfaces, e descrever e aplicar o princípio de ?programar para uma interface?.
Seção 2 ? Representação UML de Conceitos de Orientação a Objetos.
Reconhecer as representações UML de classes, (incluindo atributos e operações, classes abstratas, e interfaces), as representações UML de herança (ambas implementações e interface), e a representação UML de modificadores de visibilidades de membros de classe (- para privado e + para público).
Reconhecer a presetação UML de associação de classe, composição, indicadores de multiplicidade da associação, e indicadores de navegação da associação.
Seção 3 ? Implementação Java de Conceitos de Orientação a Objetos.
Nota: exemplos de código podem usar o operador ?new?.
Desenvolver código que use tipos primitivos, tipos enumerados, e referencias a objetos, e reconhecer os literais desses tipos.
Desenvolver código que declare classes concretas, classes abstratas, e interfaces, código que suporte implementação e interfaces de herança, código que declare atributos de instância e métodos, e código que use os modificadores de acesso: private e public.
Desenvolver código que implemente associação de classes simples, código que implemente multiplicidade usando vetores, e reconhecer código que implemente composição em detrimento de simples associações, e código que implementa associações de navegação corretamente.
Desenvolver código que use polimorfismo tanto para classes quanto para interfaces, e reconhecer código que usa o princípio de ?programar para uma interface?
Seção 4 ? Projeto e Implementação de Algoritmos.
Descrever, comparar e contrastar estes três tipos fundamentais de sentenças: atribuição, condicional, e iteração, e dado uma descrição de um algoritmo, selecionar os tipos apropriados de sentenças para projetar o algoritmo.
Dado um algoritmo em pseudo-código, terminar o escopo correto para a variável usada no algoritmo, e desenvolver código que declara variáveis em qualquer um dos seguintes escopos: variável de instância, parâmetro de método, e variável local.
Dado um algoritmo em pseudo-código, desenvolver um código de método que implementa o algoritmo usando sentenças condicionais (if e switch), sentenças de iteração (for, for-each, while, e do-while), sentenças de atribuição, e sentenças break e continue para controlar o fluxo no switch e nas sentenças de iteração.
Dado um algoritmo e múltiplas entradas e saídas, desenvolver o código do método que implementa o algoritmo usando os parâmetros de métodos, um tipo de retorno, e uma sentença de retorno, e reconhecer os efeitos quando referencias a objetos e primitivas são passadas para métodos que os modificam.
Dado um algoritmo em pseudo-código, desenvolver código que aplica corretamente e apropriadamente os operadore incluíndo os operadores de atribuição (limitados a: =, +=, -=), operadores aritméticos (limitados a: +, -, *, /, %, ++, ?), operadores relacionais (limitados a: <, <=, >, >=, ==, !=), operadores lógicos (limitados a: !, &&, ||) para produzir o resultado desejado. Também escrever código que determina a igualdade de dois objetos ou duas primitivas.
Desenvolver código que usa o operador de concatenação (+), e os seguintes métodos da classe String: charAt, indexOf, trim, substring, replace, length, startsWith, e endsWith.
Seção 5 ? Fundamentos de Desenvolvimento Java.
Descrever os propósitos de pacotes (packages) na linguagem Java, e reconhecer o uso correto de sentenças de import e package.
Demonstrar o uso correto do comando ?javac? (inclusive as opções de linha de comando: -d e -classpath), e demonstrar o uso correto do comando ?java? (inclusive as opções de linha de comando: -classpath, -D e -version).
Descrever os propósitos e tipos de classes dos seguintes pacotes Java: java.awt, javax.swing, java.io, java.net, java.util.
Seção 6 ? Tecnologias Java de Plataforma e Integração.
Distinguir as características básicas das três plataformas Java: J2SE, J2ME, e J2EE, e dado objetivos arquitetônicos de alto nível, selecionar a(s) plataforma(s) apropriada(s).
Descrever em um alto nível os benefícios e as características básicas do RMI.
Descrever em um alto nível os benefícios e as características básicas das tecnologias JDBC, SQL e RDBMS.
Descrever em um alto nível os benefícios e as características básicas das tecnologias JNDI, mensagem, e JMS.
Seção 7 ? Tecnologias Cliente.
Descrever em um alto nível as características básicas, benefícios e inconvenientes de criar thin-clients usando HTML e JavaScript e os problemas e soluções relacionadas à distribuição.
Descrever em um alto nível as características básicas, benefícios, inconvenientes e os problemas de distribuição relacionados a criação de clientes usando J2ME.
Descrever em um alto nível as características básicas, benefícios, inconvenientes e os problemas de distribuição relacionados a criação de fat-clients usando Applets.
Descrever em um alto nível as características básicas, benefícios, inconvenientes e os problemas de distribuição relacionados a criação de fat-clients usando Swing.
Seção 8 ? Tecnologias Servidor.
Descrever em um alto nível as características básica de: EJB, servlets, JSP, JMS, JNDI, SMTP, JAX-RPC, Web Services (incluindo SOAP, UDDI, WSDL, e XML), e JavaMail.
Descrever em um alto nível as características básicas de servlet e o suporte JSP para thin-clients HTML.
Descrever em um alto nível o uso e as características básicas de uma seção EJB, beans de entidade e beans orientados a mensagem (message-driven).
Descrever em uum alto nível os benefícios fundamentais e inconvenientes de usar tecnologias do lado do servidor J2EE e descrever e comparar as características básicas da camada web, camada de negócios e a camada EIS.