Java's road to God

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

Guess you like

Origin www.cnblogs.com/monkey7788/p/11918900.html