Since the inspirational way in java to go further, we must understand the path of java. Look at Figure
image.png
more refined details are as follows
a: Programming Fundamentals
either C or C ++, Java or whether it is PHP, wanted to be a qualified programmer, basic data structures and algorithms still have the basis. The following articles from idea to realization, as you tease out common data structures and algorithms classic.
1-1 common data structure
an array, linked list, heap, stack, queue, Hash tables, binary trees, etc.
1-2 ALGORITHM
Algorithm Analysis calculated time complexity and spatial complexity
idea of the algorithm: recursive, recursive, exhaustive, greedy, divide and conquer, dynamic programming, iteration, branching boundary
1-3 classical algorithm
classic sort: insertion sort, bubble sort, quick drain (partition exchange sort), direct selection sort, heap sort, merge sort
classic look: sequential search, binary search, binary sort tree lookup
1-4 advanced data structures
+ / B- number B, red-black trees, etc. FIG.
1-5 advanced algorithm
depth-first search, breadth-first search graph, topological sorting, the Dijkstra algorithm (single source shortest path), Huffman coding, Euclidean algorithm, minimum spanning tree and other
two: Java language foundation
was born more than twenty years in the Java language, with its cross-platform, object-oriented, distributed computing characteristics suitable for wide range of applications on Web sites, mobile devices, desktop applications, and has been for many years ranked the forefront of the list of programming languages TOBIE, more recently, Triumphed. Java What are excellent and distinctive place first of all must be clear.
2-1 basic grammar
Overloaded operators, the program flow control Java syntax, constants and variables, variable scope, and a method of, and all the basic data types packaging
2-2 Important: collection classes
Collection and various List, Set, Queue, Map implementation and integration relations and realize the principle of
collections and Arrays
2-3 other JavaAPI
String and StringBuffer, system and Runtime classes, Date and DateFomat class
java.lang package
java.util package (collections system, regular expressions, zip , and time, random numbers, attributes, resources, etc. Timer)
classes in java.math package
java.net package
java.text package (various format etc.)
the java.security package
2-4 object-oriented, oriented interfaces
object three properties: encapsulation, inheritance and polymorphism, advantages and disadvantages of
how to design classes, class design principle
this keyword, final keyword, keyword static
instance of the process object of
rewriting and overloaded methods; parameter transfer process and a method
constructors
internal classes, abstract classes, interfaces
reference conversion between polymorphisms object (and subclasses of the parent class, subclass parent carton ), Abstract classes and interfaces in a multi-state application
2-5 JVM memory model, garbage
2-6 about the exception
Throwable / Error / Exception, Checked Exception vs. Unchecked Exception, unusual catch and throw, catch an exception principle, finally use
2-7 multithreading
concept of threads and processes of
how to create a multi-threaded program, the security thread, communication between threads
thread synchronization
analysis deadlock problems
thread pool
2-8 IO
java.io package, understanding IO system based on features and design ideas of the pipe model and the common use of IO class occasion.
File and related classes, and the OutputStream InputStream byte stream, a character stream Reader and Writer, and the conversion of the corresponding flow and the buffer flow pipe flows, and a character byte, packet stream, and using conventional packaging
Analysis IO performance
2-9XML
familiar SAX , DOM and JDOM advantages and disadvantages and be able to use one of them to complete XML parsing and content processing; principles of these types of analytical methods
2-10 advanced features
reflective, agents, generics, enumerations, Java regular expressions
2 -11 network programming
network communication protocols and principles applicable scenario, Socket programming works wEB server
2-11 JDK1.5, JDK1.6, JDK1.7, JDK1.8 each version than the earlier version which added a new characteristics, which were lifting
three: database-related
speaking in front of the data structures, database simple terms is like an electronic filing cabinet, according to certain data structure to organize, store and manage data warehouses.
3-1 theoretical basis of
design principles and paradigms database
transactions (ACID, working principle, transaction isolation level, locks, transaction propagation mechanism)
3-2 advantages and disadvantages of various databases, using the scene analysis
MySQL / SQLServer / Oracle and a variety of NoSQL (Redis, MongoDB, Memcached, HBase , CouchDB , etc.)
3-2 SQL statements
database creation, distribution rights, to create a table, CRUD, connections, sub-query
triggers, stored procedures, transaction controls
3-3 optimized
indexing works and suitable, large table query optimization, multi-table join query optimization, optimization subqueries
3-4 sub-libraries, sub-table, backup, migration
import, export, sub-libraries, sub-table, cold standby hot backup, the backup master, dual hot standby, longitudinal expansion, scale
3-5 JDBC
use different types of JDBC connection, Statement, PreparedStatement, CallableStatement , ResultSet like
connection pool (configuration used to realize the principle)
the ORM, the DAO
four: JavaWeb core technologies (including a front end portion)
Html5 / Css / JS native / the jQuery
Ajax (cross-domain, etc.)
the JSP / the JavaBean / the Servlet / the EL / the JSTL / TagLib
the JSF
the JSON
the EJB
sequence And de-serialization
The rules engine
search engine
template engine
caches
authentication
test
cluster
persistent
generating static pages of technical
high-performance
security
affairs JTA
else you need to know, such as: management JMX, security JCCA / JAAS, integrated JCA, communication JNDI / JMS / JavaMain / JAF, SSI technology
five, the main frame and tool
Struts1 / the Struts2
the Spring (the IoC, the AOP etc.), SPRINGMVC
persistence: Hibernate / MyBatis
log: Log4j
unit testing: JUnit
message queue: ActiveMQ, RabbitMQ other
load balancing: the Nginx / HaProxy
the Web server: Tomcat, JBoss, Jetty, Resin, WebLogic, WebSphere , etc.
communication: WebService (cxf of soap, restful protocol)
cache: Redis, Memcached
workflow: Activity, JBPM
search engine: lucene, solr based lucene package
template engine: Velocity, FreeMaker
large data : Hadoop (HDFS and MapReduce)
Build tools: Ant / Maven
six, JavaWeb system design and architecture
Java design patterns
JAVA and UML modeling
Service-Oriented Architecture: SOA / SCA / ESB / OSGI / EAI, micro service
-oriented architecture resources: ROA / REST
-oriented cloud architecture: COA / Saas / cloud computing
large site load balancing, system calls classy
seven, More
troubleshooting capability:
it should be based on the cause of abnormal information relatively quickly locate the problem and the approximate location of the
ability to optimize
code specifications, code management:
have their own code norms, good code readability
wide range of knowledge:
to understand a variety of network products and features, to understand a variety of middleware, to know where the pit, well versed in the advantages and disadvantages of various technical solutions, understand and integrate various resources to achieve optimal .. .. understand various technologies and application scenarios, there is enough work experience to solve all kinds of wonderful problems encountered in the integration of
technology management / technical Director:
product management and project management, team building, team upgrade
CTO:
development strategy
summary: current me and my goal there is a big gap, I hope every time over a period of time to look at these things to see To see if they are a step forward. Daren God java and long road, at the foot of the road, come on.
At the same time the need for more information and related java interview tips and videos, please add QQ group: 810 589 193
Free access to more knowledge Java engineered, high-performance and distributed, high performance, architecture, performance tuning, Spring, MyBatis, Netty advanced source code analysis and other advanced dry live free learning videos and related rights, as well as spring and virtual machines scanned book version
Java's road to God
Guess you like
Origin www.cnblogs.com/monkey7788/p/11918900.html
Recommended
Ranking