How to become a Java expert

  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!

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

[]´s

Tem que ser preguiçoso també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á.

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!

[quote=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![/quote]

Lina quantos anos você tem?

Já é doutora?

[quote=Frango][quote=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![/quote]

Lina quantos anos você tem?

Já é doutora? [/quote]

Oi,

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

Tchauzin!

Faltou:

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

[quote=ViniGodoy]Faltou:

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

Viny,

qual o problema no uso do DefaultMutableTreeNode ?

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

Huahua… boa Vini.

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.

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

Oi,

Já tenho a LinaTreeModel rsrs

Tchauzin!

Interessante. teria uma fonte?

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:

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

[]´s

[quote=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[/quote]

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

[quote=mario.fts][quote=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[/quote]

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

http://www.codeweblog.com/

eh um blog bacana =)

Huahua… miss…

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

[quote=ViniGodoy]Faltou:

  1. You should learn to create your own TableModel and TreeModel, and avoid using DefaultTableModel and DefaultMutableTreeNode at all cost.[/quote]
    :lol:
    Muito boa!