How to become a Java expert

35 respostas
A
  1. You need to proficient in Object-Oriented Analysis and Design (OOA / OOD), involving patterns (GOF, J2EEDP), as well as an integrated approach. You should know UML, especially class, object, interaction, and statediagrams.

  2. You need to learn the basics of Java language and its core class libraries (collections, serialization, streams, networking,? Multithreading, reflection, event, handling, NIO, localization, and others).

  3. You should know JVM, classloaders, classreflect, as well as the basic work of garbage collection mechanism. You should be able to decompile a class file and understand that a compilation of some of the basic commands.

  4. If you will write a client program, you need to learn a small Web application (applet), necessary to grasp the idea of GUI design and methods, as well as desktop programs SWING, AWT,? SWT. You should also be part of the UI component model has JavaBEAN know. JavaBEANS also be used in JSP in the presentation layer from business logic separated.

  5. You need to learn Java database technology, and will use at least one persistence / ORM framework such as Hibernate, JDO,? CocoBase, TopLink, InsideLiberator (China Factory software JDO red) or iBatis.

  6. You should also know object-relational impedance mismatch of the meaning, and how it affects the business objects with the relational database interaction, and its results, but also necessary to master the use of different database products, such as racle, mysql, mssqlserver.

  7. You need to learn Servlets, JSP, and JSTL (StandardTagLibraries) and select third-party TagLibraries.

  8. You need to be familiar with the framework of the mainstream of the page, such as JSF, Struts, Tapestry, Cocoon, WebWork, and they are involved in the following models, such as MVC/MODEL2.

  9. You need to learn how to use and management of Web servers, such as tomcat, resin, Jrun, and know how to expand on its basic procedures and maintenance of Web.

  10. You need to learn as well as remote distributed object API, such as RMI and RMI / IIOP.

  11. You need to have a variety of popular standards and middleware technology combined with the Java implementation, such as Tuxedo, CROBA, of course, including JavaEE itself.

  12. You need to learn at least one of XMLAPI, such as JAXP (JavaAPIforXMLProcessing), JDOM (JavaforXMLDocumentObjectModel), DOM4J, or JAXR (JavaAPIforXMLRegistries).

  13. You should learn how to use Java-API and tools to build a WebService. Such as JAX-RPC (JavaAPIforXML / RPC), SAAJ? (SOAPwithAttachmentsAPIforJava), JAXB (JavaArchitectureforXMLBinding), JAXM (JavaAPIforXMLMessaging),? JAXR (JavaAPIforXMLRegistries), or JWSDP (JavaWebServicesDeveloperPack).

  14. You need to learn a lightweight application framework such as Spring, PicoContainer, Avalon, as well as their IoC / DI style (setter, constructor, interfaceinjection).

  15. You need to be familiar with various J2EE technologies, such as JNDI (JavaNamingandDirectoryInterface), JMS? (JavaMessageService), JTA / JTS (JavaTransactionAPI / JavaTransactionService), JMX? (JavaManagementeXtensions), and JavaMail. 16. You need to learn enterprise JavaBeans (EJB) components and their different modes: Stateless / StatefulSessionBeans, EntityBeans (includes Bean-? ManagedPersistence [BMP] or Container-ManagedPersistence [CMP] and its EJB-QL), or? Message-DrivenBeans (MDB).

  16. You need to learn how to manage and configure a J2EE application server, such as WebLogic, JBoss and so on, and take advantage of its additional services, such as cluster-type, connection pool, as well as support for distributed processing. You also need to know how to above in its application package and configuration and be able to monitor, adjust its performance.

  17. You need to be familiar with the programming aspect-oriented and attribute-oriented programming (which both have been very easy to confuse the abbreviations for the AOP), as well as their specifications and the implementation of the mainstream Java. Such as AspectJ and AspectWerkz.

  18. You need to be familiar with the different API and a useful frame work for you, such as Services. For example Log4J (logging / tracing), Quartz? (Scheduling), JGroups (networkgroupcommunication), JCache (distributedcaching),? Lucene (full-textsearch), JakartaCommons and so on.

  19. You should be a master JavaIDE such as sunOne, netBeans, IntelliJIDEA or Eclipse. (Some people prefer to VI or EMACS documentation. Not what you had:)

21.Java (said to be some precise configuration) are lengthy, it required a lot of manual code (for example, EJB), so you need to be familiar with code generation tools, such as XDoclet.

  1. You need to be familiar with a unit testing system (JNunit), and generate a different study, the deployment tools (Ant, Maven).

  2. You need to be familiar with Java development in software engineering often used in the process. Such as RUP (RationalUnifiedProcess) andAgilemethodologies.

  3. You also need to keep up with the pace of development of Java, such as in-depth study can now Webwork2.0

  4. You must need for the development of practical projects to understand the flow, at least there is the practical application of both the value of the project, rather than practicing project! Enterprise value now because you are there is no real development experience, experience in the development of really embodiment of the project is to make you, that is, there is the practical application of the project!

35 Respostas

A

Puxa, tô ficando orgulhoso de mim mesmo! Tô quase me sentindo um Java Expert \o/

[]´s

R

Tem que ser preguiçoso também

M

Vish… lendo isso reparei que não sei
Spring, VRaptor (Mas sei JSP, Servlets e JSF)
Não sei também trabalhar com RMI, EJB nem com WebServices.
E também não sei AspectJ.

Mas to quase lá.

L

Oi,

Sempre explico para meu alunos na Faculdade: Para começar a entender o Java (e se tornar um “Java Expert”), você precisa conhecer e estudar a API.

Tchauzin!

N

lina:
Oi,

Sempre explico para meu alunos na Faculdade: Para começar a entender o Java (e se tornar um “Java Expert”), você precisa conhecer e estudar a API.

Tchauzin!

Lina quantos anos você tem?

Já é doutora?

L

Frango:
lina:
Oi,

Sempre explico para meu alunos na Faculdade: Para começar a entender o Java (e se tornar um “Java Expert”), você precisa conhecer e estudar a API.

Tchauzin!

Lina quantos anos você tem?

Já é doutora?

Oi,

Tenho apenas mestrado… o que já é necessário para dar aulas em Universidade.

Tchauzin!

V

Faltou:

  1. You should learn to create your own TableModel and TreeModel, and avoid using DefaultTableModel and DefaultMutableTreeNode at all cost.
F

ViniGodoy:
Faltou:

  1. You should learn to create your own TableModel and TreeModel, and avoid using DefaultTableModel and DefaultMutableTreeNode at all cost.

Viny,

qual o problema no uso do DefaultMutableTreeNode ?

o DefaultTableModel nunca uso, gosto de controlar tudo que a tabela pode fazer ehhehe.

M

Huahua… boa Vini.

V

Basicamente o mesmo do DefaultTableModel.
E fazer o seu próprio TreeModel deixa o código centenas de vezes mais simples do que usar o DefaultMutableTreeNode. Evita, por exemplo, que você tenha que ficar fazendo lógicas de navegação de árvore bem no meio da sua lógica de GUI.

M

Aguardem em breve havera um ObjectTreeModel no Mark Utils também. XD

L

Oi,

Já tenho a LinaTreeModel rsrs

Tchauzin!

M

Interessante. teria uma fonte?

M

O fonte do LinaTableModel, LinaButtons e LinaTreeModel é tudo fonte da empresa dela, não pode mandar.

Fora o nome egoista dessas classes. Pelo menos meu projeto só usa a declaração de pacotes com mark.

:stuck_out_tongue:

A

Aliás, pergunta… pra ser expert em Java, não precisa conhecer absolutamente NADA de JME ??

[]´s

M

Mark_Ameba:
O fonte do LinaTableModel, LinaButtons e LinaTreeModel é tudo fonte da empresa dela, não pode mandar.

Fora o nome egoista dessas classes. Pelo menos meu projeto só usa a declaração de pacotes com mark.

:P

não, tava me referindo a fonte de onde saiu os itens da lista :wink:

A

mario.fts:
Mark_Ameba:
O fonte do LinaTableModel, LinaButtons e LinaTreeModel é tudo fonte da empresa dela, não pode mandar.

Fora o nome egoista dessas classes. Pelo menos meu projeto só usa a declaração de pacotes com mark.

:P

não, tava me referindo a fonte de onde saiu os itens da lista :wink:

http://www.codeweblog.com/

eh um blog bacana =)

M

Huahua… miss…

Ainda bem que não quotei se nao ficava feio :stuck_out_tongue:

M

ViniGodoy:
Faltou:

  1. You should learn to create your own TableModel and TreeModel, and avoid using DefaultTableModel and DefaultMutableTreeNode at all cost.

:lol:
Muito boa!
P

longa lista!!

A

acho que aqui no forum o unico que deve ser isso ai dever ser o thingol e olhe lá, mas ele é um bot, então não conta… :smiley:

P

dohko,

Qual a fonte deste texto? Voce mesmo que criou? Tenho que “esfregar” este texto na cara de uns carinhas da facul que já se acham os Experts!! Rsrsrsrs

Abraços!

D

Thingol e luca.

A

pvrsouza:
dohko,

Qual a fonte deste texto? Voce mesmo que criou? Tenho que “esfregar” este texto na cara de uns carinhas da facul que já se acham os Experts!! Rsrsrsrs

Abraços!

http://www.codeweblog.com/

K

Cansei …risos e um RubyExpert ? Alguém faz a lista ?

M

É verdade… :slight_smile:

P

Outra coisa que faltou:
You shouldn’t be lazy to read this things above.

Que no meu caso nao deu certo…
Li a primeira e ja deu preguiça de ler as outras
kkkk

L

Será que tem gente que sabe tudo isso? Já virei fã!

E será que um dia chego lá tb? Comparada a essa lista, sou um Java “feto”! hahahaha :slight_smile:

P

Loiane:
Será que tem gente que sabe tudo isso? Já virei fã!

E será que um dia chego lá tb? Comparada a essa lista, sou um Java “feto”! hahahaha :slight_smile:


E eu sou um espermatozóide ainda sem fecundar…

K

A lista é grande, mas acredito que qualquer profissional do meio com mais de 7 anos, já passou por todas essas etapas em projetos nas diferentes empresas que trabalhou, ou seja, não há jantar de graça !! É necessário tempo, projetos e muita ralação :-).

Apesar da lista ser grande, quando começamos a expandir para integração EAI - SOA você ainda vai ascrescer muitas outras coisas, como Enterprise Service Bus, patterns de integração (EAI Patterns), modelagem financeira entre outras (Enterprise Patterns) , design SOA - (SOA Patterns) , Engines com linguagens como BPMN-BPEL , conceitos de orquestração e coreografia, RESTFul - Hypermedia - ATOM, protocolos Pubsub Hub, Motor de Eventos - EDA (Event Driven Architecture), Complex Events e por aí vai …

Frameworks como Cramp (Ruby), Esper - CEP, Engine Rules (Drools ), SCA (Service Component Architecture) - http://www.fabric3.org , JBI, OSGI, Comet , Grid - Coherance, Terracota, frameworks como Hadoop (MapReuduce), noSQL (CouchDB, Cassandra, Neo4j …) RDF - Ontologias …cacete, a brincadeira só está começando :slight_smile:

Essa coisa não tem fim e todo dia surge coisa nova heheh :slight_smile:

R

Kenobi:
A lista é grande, mas acredito que qualquer profissional do meio com mais de 7 anos, já passou por todas essas etapas em projetos nas diferentes empresas que trabalhou, ou seja, não há jantar de graça !! É necessário tempo, projetos e muita ralação :-).

Apesar da lista ser grande, quando começamos a expandir para integração EAI - SOA você ainda vai ascrescer muitas outras coisas, como Enterprise Service Bus, patterns de integração (EAI Patterns), modelagem financeira entre outras (Enterprise Patterns) , design SOA - (SOA Patterns) , Engines com linguagens como BPMN-BPEL , conceitos de orquestração e coreografia, RESTFul - Hypermedia - ATOM, protocolos Pubsub Hub, Motor de Eventos - EDA (Event Driven Architecture), Complex Events e por aí vai …

Frameworks como Cramp (Ruby), Esper - CEP, Engine Rules (Drools ), SCA (Service Component Architecture) - http://www.fabric3.org , JBI, OSGI, Comet , Grid - Coherance, Terracota, frameworks como Hadoop (MapReuduce), noSQL (CouchDB, Cassandra, Neo4j …) RDF - Ontologias …cacete, a brincadeira só está começando :slight_smile:

Essa coisa não tem fim e todo dia surge coisa nova heheh :slight_smile:

Pois é Kenobi, mas eu acho que você vai concordar comigo que só o tempo na função não adianta, tem que estudar bastante por fora. Não é raro encontrar pessoas com 7 anos de experiência no framework XXXXX e ter muita dificuldade em fazer qualquer coisa fora disso. Como eu estou em começo de carreira (não tenho 2 anos com Java) eu tenho valorizado muito a base da plataforma: JSE e Design Patterns.

K

Cocordo sim, vc precisa ter paixão pela área, estar semrpre estudando, testando coisas, participar de eventos como GuruSP que rolou ontem, YahooHack que vai rolar semana que vem, ler muuuito, fazer alguns cursos de vez em quando, senão não tem jeito !!

P

Concordo, mas isso é para qualquer linguagem, não só java.

K

Concordo, mas isso é para qualquer linguagem, não só java.

Sim, inclusive os eventos que citei, nada tem haver com java :slight_smile:

A

sim, acontece que (bom ou ruim?) você terá que fazer isso a vida toda, e cada vez que mudar de tecnologia ou projeto terá que fazer tudo novamente, isso se for seguir uma carreira técnica…

Criado 10 de março de 2010
Ultima resposta 17 de mar. de 2010
Respostas 35
Participantes 18