How to learn Java, this is a lot of newbies often ask me the question, now I briefly describe the next Java beginner to the job to learn some things:
The first thing to understand is that the Java system is designed in three ways: J2se,j2ee,j2me (Kjava). J2se,java 2 Platform Standard Edition, we often talk about the JDK, the main point of this, it is the basis of the three, belongs to the desktop-level application development, this part if the learning is very easy to expand the Java EE and J2ME. J2me,the Micro Edition of the Java 2 Platform. Mainly used in embedded Java, such as mobile phones, PDAs and so on. J2ee,java 2 Platform,enterprise Edition, is the so-called enterprise-class Java, suitable for large-scale enterprise application development.
J2SE:
Beginners first learn from the beginning to learn from J2SE, the content is mainly divided into: object-oriented concept of understanding, Java Basic Grammar learning, Java Desktop GUI application development, Master common Java API, etc. (the key is to learn how to consult).
Focus: Java basic syntax (looping structure, data type, array, operator, etc.), swing,awt, event mechanism, file input and output stream processing, etc.
Difficulties: The understanding of object-oriented ideas (interfaces, classes, etc.), threading, socket network programming, etc.
Video Tutorial recommended: Xinxin Sun Java Basic Video tutorial, Zhang Xiaoxiang Java Basic Video tutorial, speak very thin, and the two teachers have a good experience in teaching.
J2ee:
After learning the J2SE, you can try to slowly transition to the Java EE, of course, learn the Java EE hai need a lot of non-technical support, such as database technology, web programming technology, and so on, I will detail these two aspects of the content. There are three must-learn frameworks, and if you say you learned the Java EE, but not the three frames, that would make people laughed, the three frameworks are struts, spring and hibernate, although these three frameworks are widely used, but does not mean that the three framework represents the Java EE, There are many other things in the Java EE, such as the EJB, as a heavyweight (this heavyweight is not meant by the heavyweight, this heavyweight non-heavyweight) framework, although the application is slowly replaced by other frameworks, But the advent of EJB3.0 also brought back some vitality, as a framework for distributed applications, but also to learn and understand the knowledge.
Of course, just said that the scope of the Java EE contains a wide range, even if I know all the technology I have to say, also does not represent the Java EE, this is a very deep and wide knowledge, we need to work in the future slowly to discover. What I know also includes:
Jdbc:java database Connection object, based on foundation, Hibernate is just encapsulation of it. Jndi:java naming and Directory interface, one of the important specifications of the Java EE
EJBS: I've already mentioned it.
RMI: Provides support for remote call methods, primarily for program-distributed development
Jms:java Messaging Services, middleware technology
JAVA IDL: A technology that provides the interactive and interconnected capabilities of the EE platform and CORBA
JTS: Component Transaction Monitor
JTA: A technique for transaction partitioning
e-mail technology in Javamail:java
Jaf:java launch frame, not studied.
LOG4J, a framework application for log processing
Junit: A good helper for unit testing
Freemarker, Velocity: two good template engine
Interactive flex with Flash: Many SNS applications now use this technology
WEB services: Want to know how the results of our forum weather forecast are done? Pay attention to this technology SOA: Service Oriented architecture, one of the trends in future technology development
......
However, these are not the basis of the Java EE, it is the framework application level. To really master the knowledge mentioned above, but also to learn the core of the most important things: JDBC, JSP, servlet and JavaBean, the following three is also the basis for learning SSH (Struts \spring\hibernate). In view of the content of the Java EE is too complex, it is recommended that you first only study: Jsp,servlet and JavaBean, and so on the basic mastery of SSH learning, and then the other Java EE Technology has a general understanding can go out to find work. Of course, the premise of finding a job, in addition to learning Java, there will be some other technologies must be mastered.
-_-I was simple, Java asked me to learn so many complicated things. In addition to these technologies, at this stage, people will be more exposed to things like design patterns, such as Factory mode, bridge mode, singleton mode, etc., but also to learn the modeling ideas (such as UML modeling and so on) and software life cycle and so on. These are the means and ways to sublimate everyone's programming ideas.
Database technology:
The database is almost an integral part of the program, and it plays an important role in the whole software development. Database in the whole software is playing the role of the foundation, you have to repair the house, you must first lay the foundation, you want to do the software, you must first design a database. The database is almost all relational database, represented by: SQL Server/mysql---not suggesting that it doesn't make much sense to learn this.
Oracle. Oracle's products, large databases, and genuine general companies can not afford to buy. Only look, but now Java development 60% will be used to this database, plus now Oracle has already acquired the Sun Company, Java and Oracle have a more ambiguous relationship, You'll have to spend more time on it.
In addition to these, you should also know some of the desktop application development of the database, such as SQLite. You can package this database into your installer when you are making the installer.
Web Programming Basics:
Web page programming basis to learn more content, but the main focus on the following three technologies above, you see every day of the various styles of Web pages are they are presented:
HTML: Hypertext Markup Language
CSS: Cascading Style Sheets
JavaScript: Browser Client scripting language
Now it is popular with all kinds of javascript libraries, such as: JQuery, ExtJS, etc., if you will be one of the library's use, find work so easy.
J2me:
If you are learning the above technology is not enjoyable, you can learn the development of mobile phone programs, personally, I think, the development of mobile phone program technology is actually quite simple, the difficulty lies in optimization, such as how to let you write the program as far as possible to save mobile resources, "code honesty valuable, mobile price higher", So we have to consider a lot more cost and practical problems than PC machine. J2ME study, should not be simple to test the simulator, we must find the real machine test, the real machine and the effect of the simulator is very big difference. More mobile phone development technology, interested friends can discuss with me.
Development tools:
The choice of development tools is mainly to see everyone's habits, I personally prefer to use ECLISPE, the function is very strong, but also very good to expand other functions. When you have a beginner you can also choose JCreator, or the best way to use Notepad directly. Once you're familiar with Java code, you can use tools such as JBuilder, Eclispe, or NetBeans.
First of all, we will improve this post together. Try to tidy up some resources to study here. We also welcome you to organize some of the technical resources and development tools mentioned in my article. Finally, to share with you a sentence: Life is thriving, only the struggle is endless.
Java Learning Exchange QQ Group: 523047986 prohibit small talk, non-happy do not enter!
How to learn Java--java learning Road map for Beginners