Guia de Bolso para SCJP – Lançamento

scjpguia

http://www.lcm.com.br/index.php?Escolha=20&Livro=L00852

olá Pessoal, eu nem sei por onde começar com este post. rs. Primeiro post que não sei o que escrever devido a emoção e a felicidade ao mesmo tempo.  Mas, está ai  mais um trabalho, a publicação do meu livro “Guia de bolso SCJP” assim foi que eu batizei hehe.

Sobre o Guia

Esse “filho” nasceu a partir  de ter feito uma pequena analise e vi que alguns “candidatos SCJP” sentiam falta em saber o que de fato vai cair no exame, como  se parece as perguntas? Muitos acreditam que veremos  apenas : o código compila ou não?!. Porém, o exame ele vai muito além, vc deve saber  porque não compila,  porque lança à exceção Y e não X, qual o resultado correto (parece obvio ne? mas, o exame é expert em enganar o candidato ).

O outro motivo é que ele veio a partir da sala de aula dos cursos preparatório para SCJP que tenho ministrados, os alunos sempre perguntaram por que eu não lançava um livro da mesma forma que conduzia as aulas. Daí, acordei para vida e resolvi fazer essa “criança”. rs

Reunir minhas experiência de preparação para o exame de 10 meses( em 2007) + experiência com Java +  o que conseguir aprender com a preparação + exame SCJP. Fora que “colei” tudo que ia identificando no meu exame e resolvi compartilhar no “guia”.

Outra razão foi que  na época  que estava estudando sentir falta de um livro que eu pudesse ler no ônibus, metrô, sala de espera, intervalo da faculdade etc. O livro da Kathy Sierra é um excelente livro, porem nao dar para ler ele em um metrô, pois quando estamos empolgados, temos que fechar o livro por alguma força maior e daí ficamos com uma leitura incompleta. Busquei no guia melhorar isso, não explicar a tecnologia Java em si, mas focar no exame, com pegadinhas, o que você deve ter no “sangue”  para o exame  e o que precisa ir para “decoreba”. Nisso criei capitulos  curtos, porem ricos em conteúdo e que dar para ler em até 20 minutos e ainda manter-se atualizado e dando um refresh no cérebro sobre os assuntos que estão tendo mais dificuldades.

E antes que perguntem. O livro não substitui o livro da Kathy Sierra, pelo contrario ele vem como um material auxiliar. Ah outro detalhe, eu busquei usar uma linguagem não muito formal nas explanações para que o leitor acredite está conversando comigo. 🙂

Quem adquirir o livro, terá  6 mini-simulados (portugues e ingles) para poder brincar antes do exame real.  Para adquirir o simulado, basta seguir os passos que estão nas primeiras páginas do Guia de Bolso

Para detalhes, descontos : http://www.lcm.com.br/index.php?Escolha=20&Livro=L00852

Se vc tem pressa e deseja adquirir o livro o mais rápido possivel e pode esperar a entrega por uma transpordora, pode ir até uma livraria Saraiva mais perto e adquirir um exemplar, veja onde fica a loja mais proxima: http://www.livrariasaraiva.com.br/inst/lojas_fisicas/

Agradecimentos

Quero agradecer a uma pessoa  que ajudou bastante  desde o contato com a editora até as revisões  e dicas. O nosso famoso autor brasileiro Edson Gonçalves .    O qual tenho uma grande admiração profissional e alem de ser  um dos meus melhores amigos. Abraco e sucessso para você. Nem preciso dizer nada né?

E outro amigo o qual considero como irmao: Mario (Razec).

E uma pessoa que é outro  amigo o Juliano Martins (meu ex-Arquiteto  no projeto aqui na IBM). Tem uma colega de trabalho a Daniela Reis que deu uma força quando pensei em abandonar o barco. E ela acompanhou todo o processo bem do inicio mesmo, quase que seria a “mãe”.

Peço desculpas, por não colocar outros amigos, colegas, é que nesse momento não consigo pensar muito devido a sensação, emoçãovou esperar esse efeito passar e editar o post. Mas, agora está dificil.


Follow me: http://twitter.com/camilolope

abracos, guys.

Novas Certificações da Sun JEE 6

ae! Pessoal que noticia boa!!.  A Sun atualizou seu ciclo de certificações e agora podemos contar com novos exame para JEE , alem da atualizacao da certificacao SCWCD com JSF. A inserção de JSF + JPA foi algo que realmente gostei nesse novo ciclo de atualização.

Nesta página http://www.sun.com/training/upcoming_java_ee_6.html?intcmp=1395#FJ-310-EE6 podemos ver o conteudo abordado nos treinamentos da Sun para cada exame.

Realmente, show!

Enjoy! Have a nice weekend.

SimSCJP Simulado Gratuito – SCJP

 

Olá Pessoal,

Para iniciar o ano com o “pé direito” e já inaugurando a primeira novidade em nosso blog. Venho através deste primeiro post de 2010, apresentar para vocês um mini-simulado para SCJP que desenvolvi no finalzinho de 2009, com o objetivo de ajudar aqueles que estão se preparando para SCJP. Para não gastar muito tempo e energia, e sem saber se a comunidade ia gostar do projeto, desenvolvi com poucas questões, porém há um pequeno grau de dificuldade.

Lets go…

*não sou muito bom de design e fiz algo bem básico, pois dei preferencia em dedicar meu tempo livre para o conteúdo.

Abaixo o link da página do simulado com maiores informações sobre o projeto:

Simulado – SimSCJP

Nova Page: criei uma nova página, onde vocês encontrarão os eventos que já participei como palestrante: Palestras

Espero que tenham gostado e fico no aguardo dos feedbacks. Se gostou indique a um amigo, que está se preparando também. 😉

Abraços e ate o próximo post.

Ahhhh, quase esqueço, o que acharam do nosso novo layout(template)? Esse ou o antigo?


Layout Antigo

livro certificação linux – tenha o seu

opa! Pessoal,

Vejam que promoção legal:

O defendendo o linux fechou uma parceria com site certificação linux e irá sortear no dia 27/07 o livro certificação linux, mais 3 camisas defendendo o linux para os blogs participantes:

booklinuxcert

 Para participar é bastante simples:

Para concorrer ao livro basta preencher o fomulario no link abaixo:

Fomulário

abraço, a todos eu ja fiz a minha inscrição e vc?

Serie SCJP:Genérico/Generics

Salve! Salve! Pessoal! Mais um post da série Revisão SCJP. No ultimo post falei sobre Conjuntos/Collection e aproveitando o ritmo vou falar hoje sobre Generics/genéricos que foi adicionado ao Java 5 e consta no exame 310-055. Nessa coluna as explicações serão mais a nível de código então fique atento aos comentários.
Aos estudantes SCJP se liguem nas pegadinhas que pode constar no seu exame.
Let’s GO…

Pré-Requisito

– Instalação Java 1.5/superior

Last Column Java – Imasters  /Ultima Coluna Java – Imasters:  

Instalando e configurando ambiente JEE Netbeans 6 

Summary

This article presents a theory and practice about Generics. Generics are one subject that is present in the exam 310-055 and there are several questions about this subject. When I did my exam I did, about seven questions with generics and some lots difficult.
Generics serve for specific the type of Collection.
In the Java 5, you can specific that type of object your Collection can to get. I spoke Object, pay attention for not confuse with type primitives. Check the example
Ex.1
below.
The
Ex.2 not compile because I try to add object different this Collection, see: 
ist.add(“camilo”);
It is impossible, because we have one Collection of the type Integer. 

Genéricos

Os genéricos ele servem para especificar o tipo de conjunto. Ou seja, manter a proteção dos objetos para aquele determinado conjunto. “Procure não colocar maça na caixa de uva”. 

No Pré-Java 5  não era possível informar que tipo de conjunto. Veja:  

Ex.1

List l = new ArrayList();

l.add(“74”);

l.add(new Dog(“dd”));

//recebe qualquer coisa

 No Java 5 você especificar que tipo de objeto seu conjunto pode receber. Eu falei OBJETO cuidado para não confundir com tipos PRIMITIVOS.

 Ex.2

List<Integer> ist = new ArrayList<Integer>();

ist.add(99);

ist.add(44);

ist.add(“camilo”);//erro de compilação não pode receber String somente Integer

 Para o exame/sua vida como programador você não pode esquecer os pontos abaixo referente a genéricos:

 -Se usar Java 5 com pré-Java sua proteção vai para o “saco do lixo”, ele aceita qualquer coisa pensando que ta recebendo o tipo especifico.

 – Os erros com GENÉRICOS  são de compilação e não tempo de execução a não ser um quando acontece Cast que não seja possível.

 -Para a JVM em tempo de execução você está usando o pré-java, pois senão lançaria uma exceção.

 -O compilador ele que fica encarregado de verificar se esta tudo ok.

 -Compilar códigos com avisos não quer dizer erro de compilação. O compilador apenas avisa que ali a algo inseguro.

 -As proteções(tipos) nos conjuntos NÃO EXISTEM EM TEMPO DE EXECUÇÃO

 -Os tipos dos conjuntos(<Integer>, <Double> etc.) são destruídos em tempo de execução.

 Vejamos alguns exemplos:

//uso um tipo especifico mais passo para um não especifico proteção já era

import java.util.*;

class TestBad{

public static void main(String [] agrs){

List<Integer> list = new ArrayList<Integer>();

list.add(4);

list.add(9);

list.add(10);

Inserter in = new Inserter();

in.insert(list);

System.out.println(list);

}}

class Inserter{

void insert(List list){

list.add(new Integer(42));

list.add(new String(“camilo”));

list.add(new Double(3.9));

}}

/*está confuso? Por que adicionou uma String ao ArrayList de Integer ?
Observe que a classe que o
método insert recebe qualquer objeto e adiciona  à lista os desenvolvedores tiveram que manter isso, para que evitasse uma mudança desastrosa, para aos pré-java*/ 

/*mas é importante ter cuidado com isso no exame ele vai confundir ao infinito e  ficar brincando com Java 5 e pré-Java 5. Genéricos  é um bom assunto para brincar */ 

O código acima  compila com avisos já que temos um conjunto não seguro. Se o método da classe Inserter for modificado para void insert(List<Integer> list) o código não compila, pois somente posso ter conjunto Integer e estou adicionando ao meu conjunto outros objetos.

 A idéia de conjunto o interessante é pensar como um Barril experimente colocar dentro de um barril de polvora(Integer) algo que gere Calor(Double) eu acho que explode e você? (não compila).

 Vamos a outro exemplo:

import java.util.*;

class ConverPre{

public static void main(String agrs[]){

List lit = new ArrayList();

lit.add(58);

System.out.print(lit + ” “);

}}

No pré Java 5 isso não funcionava já que o Boxing não é feito de forma automática. Mas se encontrar uma questão assim no exame 310-055 pode marcar que compila e executa.

 Nesse ultimo exemplo apresento como pode acontecer uma exceção no caso de genéricos:

 import java.util.*;

public class GeneriList { 

//esse metodo nao quebra nenhuma regra 

static void adde(List lt){ 

lt.add(new String(“neto”));} 

public static void main(String[] args) { 

ArrayList<Integer> lis = new ArrayList(); 

lis.add(10);

lis.add(50);

adde(lis); 

System.out.println(lis); 

for(Integer it : lis){ 

int z = it; 

System.out.println(z);}}} 

Ele lança uma exceção por ter adicionado algo indevido no meu conjunto e quando fui retirar os elementos do conjunto achei que somente tinha Integer, porém fui enganado e vi uma exceção. 

A proteção foi  para o saco quando o método adde (pre-java 1.5) foi misturado com código que usa Java 5, mais o maior erro foi adicionar lt.add(String). Se fosse um Integer não teríamos problema.

 A exceção ocorre  tentar passar uma String para um Integer. O meu for espera um Integer do meu conjunto e não uma String.

 Uma situação como acima pode acontecer com um programador que não conhece as regras  de genéricos e se na equipe de desenvolvimento não contar com algum programador com o conhecimento a resolução para essa exceção pode consumir alguns minutos/horas e quem sabe gerar uma gambiarra.

 Essas são as questões faz parte do grupo das mais difíceis do exame e como a Sun não dar colher de chá a maioria das questões que envolver genéricos vai ser nesse nível (pelo menos as minhas foram).

A dica é: “Estude para aprender e para passar no exame!” 

Vou ficando por aqui! E na próxima coluna vou continuar o assunto de genéricos abordando polimorfismo e genéricos como eles se entendem? Aguarde até o próximo post.

Um abraço a todos! E até próxima!