Java beginner's learning path

Source: Internet
Author: User

From: http://tieba.baidu.com/F? Kz= 692446591

How to Learn Java is a problem that many new users often ask me. Now I will briefly describe some things to be learned by the next Java beginner at work:

First, we need to understand three aspects of the Java System Design: j2se, J2EE, and j2-kjava ). J2se, Java 2 platform standard

JDK, which we often talk about, mainly refers to this. It is the foundation of the three and belongs to table-level application development. If you have learned this part well, it is easy to expand J2EE and J2EE.
The Micro Edition of the Java 2
Platform. It is mainly used for embedded Java, such as mobile phones and PDAs. J2EE, Java 2 platform, Enterprise
Edition is the so-called enterprise-level Java and is suitable for large-scale enterprise application development.
J2se:
When a newbie first learns from j2se, the content is mainly divided into: understanding of object-oriented concepts, learning of Basic Java syntax, and application of Java Desktop graphic interface.Program(The key is to learn how to check ).
Key points: Java basic syntax (loop structure, data type, array, operator, etc.), swing, AWT, event mechanism, file input/output stream processing, etc.
Difficulties: understanding of object-oriented ideas (interfaces, classes, etc.), threads, Socket network programming, etc.
Video tutorial recommendations: Sun Xin's basic java video tutorial and Zhang Xiaoxiang's basic java video tutorial are all very detailed, and these two teachers have good experience in teaching.
J2EE:

after learning j2se, you can try to slowly transition to J2EE. Of course, learning J2EE requires a lot of support from non-Java technologies, such as database technology and Web page programming technology, I will introduce these two aspects in detail later
. J2EE has three required frameworks. If you say you have learned J2EE, but you don't know it, it will make people laugh, the three frameworks are
struts, spring, and hibernate. Although these three frameworks are widely used, they do not represent J2EE, j2EE has many other things, such as
EJB, as a heavyweight (this heavyweight does not mean a heavyweight player, this heavyweight is not another heavyweight) framework, although this application is slowly replaced by other frameworks, the emergence of ejb3.0
brings it back to life, as a distributed application framework, it is also the knowledge that everyone wants to learn and understand.
of course, I mentioned that J2EE contains a wide range. Even if I talk about all the technologies I know, it cannot represent J2EE. This is a very deep learning, we need to find out when we are working again later. I also know:
JDBC: Java database connection object, basic foundation, Hibernate is just encapsulation of it
JNDI: Java Naming and Directory Interface, one of the important J2EE specifications
ejbs: As mentioned above
RMI: provides support for Remote Call methods, mainly used for Distributed Program Development
JMS: Java Message Service, middleware Technology
java idl: a technology that provides the interaction and interconnection capabilities between the J2EE platform and CORBA
JTs: component transaction Monitor
JTA: one Technology of Transaction Division
javamail: Mail technology in Java
JAF: Java startup framework, not studied
log4j, A log processing framework application
JUnit: a good helper for unit testing
freemarker and velocity: two good template engines
interaction with Flash flex: currently, many SNS are used
Web Services: Do you want to know how the weather forecast of our forum works? Please pay attention to this technology
SOA: one of the trends of service-oriented architecture and future technology development
......

however, none of the above mentioned is the basis of J2EE and belongs to the Framework application level. to really master the knowledge mentioned above, we still need to learn the core things of J2EE: JDBC, JSP,
Servlet and JavaBean, the next three are also the basics for learning SSH (struts/spring/hibernate ). considering that the content of J2EE is too complex
, we recommend that you only learn JSP,
Servlet and JavaBean at first, and then learn SSH after you have mastered this basics, if you have a general understanding of other J2EE technologies, you can find a job. Of course, in addition to
learning java well, some other technologies must be mastered.

-_-
I am very simple, but Java requires me to learn so many complicated things. In addition to these technologies, at this stage, we are more exposed to things such as design patterns, such as factory models, bridge models, and Singleton
models, we also need to learn modeling ideas (such as UML modeling) and software life cycles. These are the methods and ways to subscribe to programming ideas.
database technology:
databases are almost an indispensable part of programs and play an important role in the entire software development process. databases play the role of foundation in the entire software. To build a house, you must lay the foundation first. To do software, you must first design a database. currently, almost all databases are relational databases, represented by:
SQL Server. Currently, the latest version seems to be 2008. I do not like to catch up with fashion, but I still use 2005, but it's pretty good. Before that, there were 2000.
MySQL is one of the most well-known open-source databases. I like it very much. I have learned SQL Server databases and learned it again, so it is easy to learn.
oracle. oracle products, large databases, and genuine general companies cannot afford them. I only have a look, but now Java Development 60% will use this database, and now Oracle has acquired sun, so the relationship between Java and Oracle is even more ambiguous, you have spent more time on this.
In addition, you should also understand some desktop applications. Databases used for development, such as SQLite. You can package the database into your installer when creating the installer.
webpage programming basics:
webpage programming basics are also required, but they are mainly based on the following three technologies, pages of various styles are displayed on a daily basis:
HTML: hypertext markup language
CSS: stacked style sheet
javascript: browser client scripting language
nowadays, various JavaScript libraries are popular, such as jquery and extjs. If you use a library, you can find a job to make it easy.
corner stone:

If you are not familiar with the above technologies, you can study the development of mobile phone programs. In my personal opinion, the development of mobile phone programs is actually quite simple, and the difficulty lies in optimization, for example, how to make the program you write as much as possible
About mobile phone resources,"CodeValuable, the mobile phone price is higher ", so we have to consider a lot of cost and practicality issues more than PC. Do not simply test on the simulator.
In the real machine test, the effects of the real machine and the simulator differ greatly. More mobile phone development technologies can be discussed with me if you are interested.
Development tools:

The choice of development tools is mainly based on your habits. I personally prefer to use eclispe, which has powerful functions and extends other functions. You can also choose jcreator or
It is best to use Notepad directly. After you are familiar with the Java code, you can use tools such as JBuilder, eclispe, and netbeans.
Let's talk about this first, and then we will improve this post together. Try to organize some learning resources for you here. You are also welcome to organize me together.ArticleSome technical resources and development tools mentioned in. Finally, I would like to share with you one sentence: Life is thriving, and struggle is endless. We also share with you a Java learning roadmap:

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.