First of all, I personally respected the learning method is: learn Java first, that is HTML, CSS, JS, because learning Java is definitely to the direction of Java EE development, after learning the front end, a lot of things in learning the back end is easier to understand than caring!

J2SE is the key, if you learn the Java SE part, a solid foundation, the later advanced learning is also easier!

Add a note: I think the proper way to learn Java is to go through all the knowledge points first, and then string all the knowledge points together, while doing development and supplement, just like writing an article, first write the framework, and then to polish and fill. Because you do not know where to use it in the early learning, do not know the purpose, there is no learning purpose, so many concepts are difficult to understand, and easy to forget over time. But if you learn directly from practice, a lot of knowledge points are connected in series, and will be impressive, of course, the premise is that you have already started, have been able to write some simple programs, I am also in accordance with this way in learning, I feel very effective.

Note: The content of this article is too detailed, here I add some basic learning routes, relatively brief, but more feasible:

1. Basic Grammar. Data types, arrays, for loops, do-while,switch… And so on, is the foundation of learning any programming language, is critical.

2. Facing objects: ① Classes and objects; The three main features of Java (encapsulation, inheritance, polymorphism);

3, tools: ① exception and exception processing; ② Set framework (mainly List and Map);

① Input stream; ② Output flow; Buffer flow;

5, network and thread: ①Socket; ② Thread, Runnable;

6. Data operation: ①Mysql, Oracle; (2) the JDBC;

7, Web foundation: ①Html/ CSS; (2) Javascript; (3) the JQuery;

8. Framing.

Here I put my own baidu brain map knowledge structure: Baidu brain map

As long as the above before 7, basically from the foreground to the background to develop the application of common or not too big problem, of course, after learning the framework, that is the best, but the key is to learn, to be honest, as listed in the table below the knowledge points, really can fully grasp or have difficulty, so all things still to be steadfast settled down to study, Don’t just look at the pace of learning, look at the effect of learning.

The first stage Technical name Technical content
J2SE (java Based on some ) Java development prelude Basic principles of computer, a brief history of Java language development and the construction of the development environment, experience the development of Java programs, the setting of environment variables, the execution process of the program, the introduction of relevant decompression tools, the installation and use of Java development tools Eclipse, javadoc description.
Basic Java Syntax Java syntax format, constant and variable, variable scope, method and method overload, operators, program flow control, array and operation array class, array cycle traversal and for the array of common search, sorting algorithm principle, finally use Java procedures for functional implementation.
Object-oriented programming Understand the nature of the object, as well as object-oriented, class and the relationship between the object, how to use object-oriented thinking analysis and solve the problems in the display of life, and Java program means written out. How to design a class, basic principles for designing a class, class instantiation, class elements: constructor, this keyword, method and method parameter passing, static keyword, inner class, Java garbage collection mechanism. Objects have three major properties: encapsulation, inheritance, and polymorphism. Instantiation of subclass objects, method overrides and overloading, final keywords, abstract classes, interfaces, advantages and disadvantages of inheritance. Object polymorphism: conversions between subclasses and superclasses, references from superclasses to subclasses, application of abstract classes and interfaces in polymorphism, advantages of polymorphism. Common design patterns such as simple profit, template and other patterns. What are the principles of exception catching and throwing exception catching finally, application of package import keyword.
Multithreaded application The concept of multithreading, how to create multithreading (Thread, Runnable) in the program, Thread safety problems, Thread synchronization, communication between threads, deadlock analysis.
JavaAPI, JavaAPI introduction, String and StringBuffer, various basic data type wrappers, System and Runtime classes, Date and DateFomat classes, and more. The common collection classes are as follows: Java Collections Framework: Collection, Set, List, ArrayList, Vector, LinkedList, Hashset, TreeSet, Map, HashMap, TreeMap, Iterator, Enumeration, etc.
IO technology What are IO, File and related classes, byte stream InputStream and OutputStream, character stream Reader and Writer, and corresponding buffer stream and pipe stream, byte and character conversion stream, wrapper stream, and common wrapper class use, analyze Java IO performance.
Network programming Java network programming, network communication protocol TCP/UDP/IP, Socket programming. Introduction to common application layer protocols for network communication, such as HTTP and FTP, and the working principles of WEB servers.
Java Advanced Features Recursive programs, Java advanced features: reflection, proxy and generics, enumeration, Java regular expression API details and applications.

 

The second stage Technical name Technical content
Database technology Oracle Basic Management Oracle Database installation, database user name and password, client login database service SQLPLUS, database basic overview.
The SQL statement Database creation, table creation, modify, delete, query, index creation, the establishment of the master and slave table, data control authorization and recovery, transaction control, query statement and operator details, SQL function use.
Multiple table joins and subqueries Equivalent and non-equivalent connection, external connection, self-connection; Cross join, natural join, using clause join, full outer join and left and right outer join, use of subqueries and considerations.
Triggers, stored procedures Triggers and stored procedures are explained by examples.
Optimization of database design Join order in the WHERE clause, SELECT the most efficient table name order, avoid using ‘*’ to count entries in the SELECT clause, and so on.
Data backup and migration Migration techniques, backup schemes; Import and export.

 

The third stage Technical name Technical content
jdbc technology JDBC based JDBC Connection, Statement, PreparedStatement, CallableStatement, ResultSet, etc.
Connection pooling technology Understand the concept of connection pools, and master the establishment, governance, shutdown, and configuration of connection pools.
ORM and DAO encapsulation Object relational mapping idea, JDBC DAO encapsulation, to achieve their own JDBC.

I can advance the knowledge of stage 4, especially for those of you who are new to object-oriented programming. I just started learning Java SE and felt it was not easy to get started. Learning the Web part first is conducive to understanding the concept of object-oriented. In addition, the Web part is relatively simple and intuitive. After writing it, you can see the effect directly, which helps to improve your enthusiasm for learning.

The fourth stage Technical name Technical content
Web Basic Technology (Actual project) Xml technology Use JDOM and DOM4J to parse and generate XML documents, the role of XML and use occasions.
html/css Java to master the basic HTML tag format and use, CSS cascading style sheet on div definition, to achieve the basic implementation of the site layout.
Javascript Understand the basic syntax of javascript and the use of related functions, and combined with HTML pages to achieve flow control and page effect display. What are the principles of exception catching and throwing exception catching finally, application of package import keyword.
jsp/servlet Servlet and SP technology, upload and download, Tomcat server technology, Servlet filters and listeners.
JSTL and EL JSTL core tag library, function tag library, formatting tag library, custom tag technology, EL expression in JSP page use.
Ajax and framework technology Learn about the use of ajax and properties of the original ajax, where ajax is used, the benefits of using Ajax, ajax framework jquery rendering page effects and related powerful third party class library, DWR and how to backend services for data transfer, as well as page logic control, etc.
JSON Advanced Application Java encapsulates and parses strings in the way supported by JSON to realize data communication between pages and Java background services.
Fckeditor editor FCKEditor online editor technology, configuration, processing of images and file uploads.
JavaMail technology Understand domain name resolution and MX record, email working principle, mail transmission protocol: SMTP, POP3, IMAP, mail organization structure: RFC822 mail format, MIME protocol, mail coding, composite mail structure analysis, JavaMail API and its architecture, programming to create mail content: Simple message content, complex message with embedded images, complex message with embedded images and attachments.
JfreeChart statements Statistical statements; Chart processing.
BBS Project Practice Using Jquery+ DWR + JSP + Servlet +Fckeditor+JfreeChart+ Tomcat + JDBC (Oracle) to complete the ACTUAL practice of BBS project.
Practical value By the end of this course you are at least a programmer with nearly a year of development experience, but you should not settle for the status quo. The following courses will attract you even more!

Framework part, to as much as possible to understand the underlying implementation mechanism and principle, after all, the framework is greatly affected by the environment, the current stage is more popular SSM framework (Spring, Spring MVC, Mybatis), the following is more commonly used framework: (This stage can use the framework for development, to do more projects, more code, when you have been particularly familiar with a variety of application scenarios, at the same time for a variety of operations have been able to do, so long can consider looking at the source code, study the underlying implementation mechanism, deepen the framework of cognition)

Fifth Classical stage Technical name Technical content
Web Mainstream Framework Technology (actual project) struts x.x Struts-default. XML and default.properties files, Struts. Xml introduces multiple configuration files. OGNL expressions, Strutsx UI and non-UI tags, input validation, defining actions with wildcards, dynamic method calls, multi-file uploads, custom type converters, injecting values for action properties, custom interceptors, exception handling, CRUD operations using Strutsx.
hibernatex.x Hibernate application development foundation; ORM basic theory; Relational mapping technology; Performance tuning technology; Performance optimization Level-1 cache Level-2 cache Query cache transaction and concurrency Pessimistic lock, optimistic lock.
springxx.x Spring IoC technology; Spring AOP technology; Spring declares transaction management; Spring x.0, Spring integration of Struts and Hibernate application.
Spring MVC Spring’s own MVC framework can replace MVC frameworks such as Struts
mybatis At present, the mainstream persistence layer framework requires manual configuration of SQL statements, which can realize dynamic splicing SQL
Log4j and Junit Logging API. JUnit unit testing technology; Stress testing technology: Badboy for test plan tracking acquisition and JMeter stress testing.
Online payment technology Complete the online payment function of alipay’s payment interface.
E-commerce network combat Using Spring + Hibernate + Struts +jquery+ DWR +FckEditor+ Tomcat to complete the actual development of e-commerce website.
Practical value Project actual combat value completely high standard of high requirements to meet the needs of the enterprise, after learning this course, all digested, you are already a real senior programmer, has paved the way for your career, you still wait for what, toward high salary sprint!

 

The sixth advanced stage Technical name Technical content
Web Advanced (project practice) OpenJpa technology JPA introduction and development environment setup, single-table entity mapping, one-to-many/many-to-one, one-to-one, many-to-many association, entity inheritance, composite primary key, JPQL statements, EntityManager API, transaction management, learn about the new features and applications of JPA 2.0.
Lucene search engine Learn full text search principles, full text search engines, what is OSEM, OSEM framework Compass, full text incremental index creation and search based on Lucene Compass, Explore Lucene 3.0 and APIS.
E-commerce network restructuring The project was reconstructed using Lucene+ Compass +openJpa+ the previous version of the e-commerce site.
Practical value The actual combat value of this project is unprecedented value, has gone beyond the actual requirements of the enterprise, you are the enterprise’s hot talent, once entered the enterprise, it will let you in an invincible position, easily become the company’s technical backbone and elite, technology has changed your life!
Excel/PDF document processing technology Java uses POI and IText to parse and generate Excel and PDF documents, respectively. This technique is often used in reports for enterprise – class systems.
OA workflow technology JBPM What, introduce JBPM, JBPM workflow is mainly usage, the usage of the various nodes, task dispatching mode, principle, overall architecture of JBPM workflow definition model, runtime workflow instance model analysis, database table model analysis, management of the process definition, process instance monitoring, the related interface of JBPM encapsulation, Build their own workflow application platform.
Web service technology Principle of WebService technology, application of WebService technology, creation and management of Soap service, SPECIFICATION of WSDL description document, operation principle of UDDI registry; Use Axis and Xfire to create WEB services, write Webservice clients, use TCPMonitor to monitor SOAP protocols, and integrate heterogeneous platforms.
Linux technology Linux system installation, uninstall, Linux use of the core ideas, Linux user management, file management, system management, the installation of procedures, use, uninstall. Linux as the basic application server: Web server, J2EE server, FTP server installation and project deployment.
CRM Project Practice This project can understand and be familiar with the basic process of customer relationship management and the realization of functions. It adopts the mainstream framework learned in the above stages and adds THE technology of JBPM.
Practical value After learning this system will allow you to easily enter the development of large-scale enterprise projects, feel more handy. Complete knowledge system and the most advanced development technology, bring you will be in the spirit of different vision and material high salary return joy, take you into a new turning point and starting point of life!

 

Architecture Phase 7 Technical name Technical content
Large high-concurrency website optimization scheme (actual project) How to build a high performance website details What kind of website needs high performance, high performance index system, what to do to build a high performance website, what details to pay attention to.
SSI technology What is SSI, what are the benefits of using it, what kind of system can use SSI, DETAILED explanation and use of SSI technology, applied to the project.
Generate static page techniques What static pages are, why they are needed, and the benefits they bring, Velocity and Freemark, the template technology for generating static pages, and the access rules for generating static pages.
Caching technology Why to use cache technology, oscache cache technology introduction and use, memcached cache technology introduction and use, the two cache technology comparison and how to use.
Classic Web Server What is web server, what is javaweb server, what relationship they exist, what are commonly used web servers in the current technology mainstream, the application of web server apache and nginx.
Nginx architecture practice What are reverse proxies, load balancing, and clustering, and how to implement these high-performance systems architectures in NGINx.
Practical value This course has led you into the threshold of technical manager and supervisor and architect, a little hard study and practice you are a technical genius, the salary is very high, at the same time you will soon become a technical middle manager of the company, your life has a huge turning point again!