Java Learning Route 2

Source: Internet
Author: User

http://blog.csdn.net/jinxfei/article/details/5554687

It is necessary to discuss the concepts of J2ME,J2SE,J2EE before we begin. J2me,the Micro Edition of the Java 2 Platform. Mainly used in embedded Java, such as mobile phones, PDAs and so on. J2se,java 2 Platform,standard Edition, what we usually call the JDK (Java development Kit) included here, is the basis of the Java EE. J2ee,java 2 Platform,enterprise Edition, is the so-called enterprise-class Java. These are only from the API level, in fact Sun's definition of the Java EE is to develop components-based multi-tier enterprise application specifications. That is, defining a Java specification for a variety of different technologies, combining these disparate technologies to build strong enterprise applications on the Java platform. From this point of view, the concept of the Java EE should be covered j2me,j2se. For example, a typical Java EE application, an online store that supports placing orders on the Web, and also supports placing orders on mobile phones. Obviously, the j2se,j2me must be used. So there is no question of the so-called shift from J2SE to the Java EE, but the latter has a broader scope.

Take a look at sun-related technology of the Java EE is divided into several large chunks.

1. Web Service Technology

-Java API for XML processing (JAXP)

-Java API for XML registries (JAXR)

-Java API for xml-based RPC (RPC)

-SOAP with Attachments API for Java (SAAJ)

2. Component Modeling Technology (Component model Technologies)

-Java Servlet

-JavaServer Pages

-JavaServer Faces

-Enterprise JavaBeans

-Java Message Service

-Java Connector Architecture

3. Management technology (Management Technologies)

-Java Deployment specification

-Java Management specification

-Java EE Client Provisioning

-Java Authorization contract for Containers

4. Other related technologies (other EE Technologies)

-JDBC

-Java Data Objects (JDO)

-CORBA (Java IDL and Java RMI-IIOP)

-JavaMail

-Transactions

Such a lot of technology inevitably make beginners at a loss, deterred. Even a seasoned Java EE developer, several people dare to say that I have mastered the technology related to the Java EE. But as a developer of a common Java EE application, we just need to focus on some of these techniques, and for the rest of the process, you need to know where to go to find the information. In my personal opinion, the following technologies are common to Java EE application developers. Java Server Page,java servlet,enterprise javabean,jdbc,transactions. There are JAXP and other XML-related technologies, Java Message Service,java mail,jdo and so on is the best should be mastered. Other management Technologies,connector architecture and so on is mainly to the container provider middleware provider Reference, application developers do not need how to care, and so on to learn later.

Language Learning Chapter

The

First is the J2SE Foundation. Learn a new technology, no outside reading and practice. A good reference book is especially important for beginners. Now the market on the Java books can be said to be overwhelming, quality is mixed, so that beginners are at a loss. So let's recommend a few books. At present, for Java basic knowledge, we generally recommend two books,<> and << Core java? 2, Volume i:fundamentals >>. The first book does not have to be said, Bruce Eckel's masterpiece, Jolt Award-winning books. The content is comprehensive and covers almost every aspect of the Java language. This book provides quite a wealth of examples and is very helpful to understand the content of learning. In addition, the first part of the book on the introduction of OO Basic Books, I think for the first contact with Oo people will be a great help. And this book is open source, can download http://www.mindview.net/Books/TIJ/from the author on the internet and for learners who are accustomed to reading Chinese version, the Chinese version of Houtie translation is a good choice. To say that this shortcoming may be a bit thicker for beginners, which is why some people do not recommend this book as a beginner learning book. The back of a <>, is now the seventh edition, a single from its publication of the number of times you can see the popularity of the book, this book is also about the characteristics of a more comprehensive system, basically chewing down the words of the Java Language Foundation should be counted. The disadvantage is too thick, a bit like a reference manual, the front part spent a lot of space to talk about swing and applets, may not be very useful for beginners. There are also some of the basic books like << Java in a nutshell>> that are relatively good.

Learn the basics of language, and don't forget the most important and useful information or JDK documentation. From the first day you learn Java the JDK documentation should be on hand. If you have a problem with the first thought is to go to the forum to ask questions rather than consult the JDK document, then do not continue to study, learn to check the JDK document first. It's not an exaggeration to say that in our beginner's forum, 60% of the problem is that you can solve a problem by checking the JDK documentation. Latest JDK documentationhttp://java.sun.com/j2se/1.4.2/download.html (currently the latest version is j2se5http://java.sun.com/j2se/1.5.0/ DOWNLOAD.JSP) can not just say no practice, the same download page to download the JDK back. After the installation of a little I would like to mention that there is a src.zip under the installation path (some JDK version is Src.jar), good things ah---jdk source code, always someone on the forum to ask where the JDK source code download, you say that things are found in your home and everywhere. With this some problems need to be in the forum with others to contend with, open the source code to see what doubts are not. Several of the most important command-line tools are

Javac: Compiling source files to class files

Java: Run class

Jar: Packaging tool.

Javadoc: A tool for generating Java doc.

For beginners of Java, I do not recommend using the IDE directly with a text editor, and then run with command-line compilation. This facilitates understanding the most basic concepts of classpath,path. Classpath is a place where beginners are more likely to feel confused. Now the IDE is too clever, give a name to you automatically generate Java source code, automatically compiled. Maybe you ran out of your first Hello World program, and you don't know what Java and Javac are for. As for the actual project development, a suitable IDE is also very important, we will later on the Java development tools to do some introduction.

Java EE Basics and the language advanced

After learning the basis of language, it can be more naturally transferred to the actual technology of the Java EE study. The Java EE is quite complex, and Ejb,servlet, these core technology is as each of the Java EE developers need to master. For Servlets, I recommend <> and <>, and the first one is the servlet textbook recommended by Sun. The second is Amazon's best-selling Java books, five-star books. The book Machinery Industry Press has a Chinese version called <>,, feel translation can also, the second version seems to have not seen a Chinese version. Both books are a comprehensive and systematic introduction to JSP and Sevlet knowledge, from Web server configuration, Jsp,servlet Basic programming, Tag lib, filter, event framework are well described. Examples of providing land are also more practical. For EJB Learning, the more famous there are two books,<< Enterprise JavaBeans, 3nd edition>> and << Mastering Enterprise Java Beans Third Edition>>, two authors, Richard Monson,ed Roman, are among the industry's heavyweight figures. Richard Monson itself is a member of the EJB specification Expert Group. For me, two books are difficult to distinguish between the pros and cons, the second book has a good thing is to download http://www.theserverside.com/books/wiley/masteringEJB/index.tss for free.

Or that sentence, can not say no practice, but the practice of the Java EE is a little trouble, the application server is not few, it is best to prepare a lightweight database. Here's a brief look at these tools.

Web server (Servlet Container).

tomcat:http://jakarta.apache.org/tomcat/

jetty:http://jetty.mortbay.org/jetty/

The application server is commonly used,

Jboss:http://www.jboss.org/products/index

Weblogic:http://www.bea.com/framework.jsp?cnt=index.htm&fp=/content/products/server

Websphere:http://www-128.ibm.com/developerworks/downloads/ws/was/?s_tact=105agx28&s_cmp=dlmain.

The Tomcat,jetty,jboss are open Source. WebLogic and WebSphere are the eldest characters in the Java EE server, and the price is not cheap. But for developers there is a free trial version of the download.

If you simply study the servlet, it is recommended to use Tomcat, which is the reference implementation of the official sun-specified servlet,jsp specification. The most important thing for beginners is that it is relatively simple to use, with a complete documentation, many users, there are any problems easy to get help on the forum. If you learn EJB, it is recommended to use JBoss, not only because it is open source, but mainly the configuration is relatively simple and easy to use. For example, the connection database, for common Mysql,oracle,ms SQL and so on have provided the sample config file, directly to make small changes to the Deploy directory can be used DataSource, deployment of the Java EE application is also simple, Throw the entire. Ear or. War to the Deploy. The only inconvenient place to start is from Jboss3.0, where its documentation starts to charge. But for some basic configuration, it is very easy to find on the Internet, after all, it is too popular. As for WebLogic, it's easier to use, but it's a lot bigger than JBoss, and with a powerful management interface, it's easy to make some common configuration work. It's a lot more documentation than JBoss, it's a bit of a pat, For example, to deploy an. ear file, generally we are directly thrown into the domain under the applications directory will automatically deploy, but to see its documentation is lengthy, easy to frighten beginners, thought this is what advanced knowledge. As for WebSphere, individuals do not recommend beginners to use, compared to the first two servers more difficult to make, and eat memory. But this guy in the enterprise market is doing well, after all, born in a big company like IBM.

Database aspects, the current common mainly have postgresql,mysql,oracle,ms sql,db2 and so on. The first two are open source databases, the latter of which basically monopolize most of the database market. For beginners to do EJB,JDBC practice, I recommend MySQL, the reason is still very simple, open source software does not have money, small use aspects, the user many documents complete. http://www.mysql.com/products/mysql/. PostgreSQL can also be considered, but the domestic users are far less than MySQL, so to ask questions on the forum on less convenient, http://www.pervasive-postgres.com/downloads/. As for the back of the more heavyweight database, in order to do the exercise is not considered, we can not afford this money ah.

After learning the specific techniques of the Java EE, this time the basic development of the Java EE should be no problem. You should consider improving your code quality at this point. Here I strongly recommend Martin Fowler's <&gt, this book is not a very practical book, the author is completely hands-on to teach you how to improve the quality of the code, from the specific code to tell you what is the code of bad smell, how to remove these bad smell. Many book reviews say so, this book for beginners, intermediate readers help is the pole to see the shadow. At least for some of the programmers I've been exposed to, the coding quality has improved a lot in the near term. Of course the concept of refactoring (refactoring) is not only for the Java language, it is applicable to all OO languages. The concept of refactoring is so pervasive that almost all popular IDE tools today have support for refactoring. I also want to recommend a <> here. From C + + programmers are aware of <> in the field of C + + status, has been circulating such amusingly, C + + programmers are divided into two kinds, one is read <>, the other is not read C + +. While the impact of this <> in the Java world may not be that big, it's definitely a valuable guide for Java programmers. The author is the designer of Sun's Joshua Bloch,java Collection framework. The author presents to you his best practice in the perspective of the JDK designer, and should not do that, and he does not have the slightest point of view on the pitfalls of some API designs in the JDK. Gosling, the father of the Java language, wrote the preface to that end, "I sure wish I had had this book ten years ago." Some might think that I don't need any Java books, but I need this one ". This book will make you feel that you still have a lot of things in Java do not understand. For example, the Equals method of the object, we think it is very simple, perhaps you are every day for your new class overloaded This method, but you are overloaded with the "reflexive", "symmetric", "pass" these must be considered factors, Are you also careful to overload the Hashcode method? If not, you are advised to read the book. When you finish reading this book, you will feel closer to the distance from Java. The above two books have been published in Chinese version, the back of a <> there are two versions of the Chinese version, the first translation of the comparison is very close, and then the mechanical industry press and commissioned Mr. Pan re-translated again.The same book in the same publishing house has been translated two times also shows that the domestic publishing is still more important to the book.

At this stage, while reading a book, you can combine the source code to learn some excellent open source projects. The code style of these open source projects, comments are worth learning from. It's too lazy to forget that there is a JDK source code on hand. In fact, there is no need to deliberately find the source code, in the actual development of the Java EE Project, will basically use some excellent open source projects. The framework might use the spring,struts,log mechanism to basically jarkartacommons log or log4j, and most of the unit tests will use JUnit to read some of the source code in conjunction with the project. You can improve yourself and the project will help, and perhaps get pm to appreciate it. Double benefit, why not. Oh, a bit far away. After the beginner stage, it's time to learn how to find the right Java book for you. After dozens of, today's Java technology has become so complex, I believe that even a poor person's life will not be able to learn all the relevant Java technology, not to mention the new technology is emerging, 3 years ago who will know that struts will become the web framework de facto industry standards. 2 years ago who would have known that Hibernate would be the only one to lead today. Now that you can't expect to learn all aspects of Java technology at once, in practice it can only be what technology you need to learn. and whether to choose a good reference book is to bring more than half the effect of multiplier and work. So I think it's worthwhile to spend some time on choosing books, otherwise you'll only spend more time in the back. Now I'm talking about some of my experience in choosing books, not necessarily right. First of all, the author, as mentioned above, the author of the books are famous in the industry, the choice of their books is generally wrong. Everyone read more books, their own chest naturally will have a list, which authors are trustworthy. Second look at the publishing house, computer books, Oreilly,addison-wesley are generally recognized as a better publishing house. For the more popular Java technology, OReilly's <> series is a good choice. In addition I will go to see the Amazon website (http://www.amazon.com/) of the book review, generally less than 3 star books I would not consider. There's a good place. theserverside,http://www.theserverside.com/'s book review, the book reviews Here are more interesting, often have a very heated debate, often see some celebrities in the speech. I would recommend to all Java learners that if I have only two sites in my favorites, I will choose Java.sun and Theserverside. Here you can learn the latest Java dynamics, you can learn the first-hand Java material, you can see the Java experts (there are no lack of industryFierce debate.

At this stage, the basic foundation of Java developer should be played well, the future is to continue to learn. The end of this paragraph, before the end of the introduction of a book oreilly <>, because I think multithreaded programming is Java basic skills, every person who want to learn Java should be well mastered.

Improve the article

At this stage, we should learn from the software architecture, the framework level. As an object-oriented Biblical <>, this book has to be recommended. Needless to say, this is in the object-oriented field of status is completely belong to the Godfather level. No matter what OO language you are learning, no matter what you are using now. NET or Java EE Development, this book is a must-read book on your way to the advanced level. <> is dedicated to Java EE to discuss design patterns, the book's Senior Designers of Sun Java Center describes the key technology of the EE model. Best practices, design strategies, and proven solutions. For every one who wants to become a EE architect or designer, this book is worth reading. When learning the design pattern, the suggestion is the actual source code, such as look at the JUnit source, you can see a lot of design patterns elegant implementation, one of the author Erich Gamma itself is the author of <>. As for the design pattern of the Java EE, Sun also opened up a special space http://java.sun.com/blueprints/patterns/, which has a discussion of common patterns and provides detailed source code examples. As Grady Booch says, patterns provide a common solution to common problems, and using patterns equals having a strong team of experts. If you haven't studied yet, let's start now. In addition to the object-oriented methodology, the idea of extreme programming should have some knowledge of http://www.extremeprogramming.org/. Rod Johnson's <> is also valuable for the specific implementation of the Java EE Project, which shows us how to build the Java EE application with the simplest possible solution in the author's rich hands-on experience, which is the first time the author has made such a point. There is no need to use the EJB for the Java EE application, and for the vast majority of Java EE developers who speak the EJB, it is also a bit of a surprise. Of course, as a member of the servlet and JDO two expert groups, this is not the author's Hu Yu. The spring framework, which swept the Java world today, was originally originated from this book, and the concepts of IOC,AOP are being put to the lips of the current Java developers. Finally, as an in-depth study of Java, the various specification of Java technology are also necessary to read.

Java Learning Route 2

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.