Java advanced path-from junior programmers to architects, from small to expert

Source: Internet
Author: User
Tags connection pooling

How to learn to grow from a Java Junior programmer to a qualified architect, or what kind of technical knowledge a qualified architect should have, is not only a novice programmer who has just entered the workplace, but also a problem often asked by old programmers who have been confused after 35 years of work. I hope this article will be the most comprehensive and authoritative answer you have ever seen.

One: Programming Basics

Whether it's C or C + +, whether Java or PHP, want to be a qualified programmer, basic data structure and algorithm Foundation is still to have. The following articles from ideas to implementation, for you to comb out the commonly used data structures and classical algorithms.

1-1 Common data structures

Array, linked list, heap, stack, queue, hash table, binary tree, etc.

1-2 Algorithmic Thinking

Analysis and calculation of algorithm time complexity and space complexity

Algorithmic thinking: Recursive, recursive, exhaustive, greedy, divided, dynamic programming, iterative, branching boundaries

1-3 Classical Algorithms

Classic sort: Insert sort, bubble sort, quick row (split swap sort), direct select sort, heap sort, merge sort

Classic Find: Order lookup, binary lookup, binary sort tree Lookup

1-4 Advanced Data Structures

b+/b-number, red-black tree, figure, etc.

1-5 Advanced Algorithms

Depth-first search of graphs, breadth-first search of graphs, topological ordering, Dijkstra algorithm (single source shortest path), Huffman coding, Euclidean method, minimum spanning tree, etc.

Second: the Java Language Foundation

The more than 20-year-old Java language, with its cross-platform, object-oriented, distributed computing features, is widely used in Web sites, mobile devices, desktop applications, and has been in the forefront of Tobie programming languages for many years, and has recently topped the throne. It's important to know what's good and what's different in Java first.

2-1 Basic Syntax

Java syntax formats, constants and variables, scope of variables, overloads of methods and methods, operators, program flow control, various basic data types and wrapper classes

2-2 Important: Collection classes

Collection and the implementation of various list, Set, Queue, map, and integration relationships, the principle of implementation

Collections and Arrays

2-3 other Javaapi

String and Stringbuffer,system and runtime classes, date and Datefomat classes

Java.lang Bag

Java.util Package (Collection class system, regular expressions, zip, and time, random number, attributes, resources, timer, etc.)

Java.math Bag

Java. NET Package

Java.text package (various formatting classes, etc.)

Java.security Bag

2-4 object-oriented, interface-oriented

Three main features of an object: encapsulation, inheritance, and polymorphism, pros and cons

How to design the class, the design principle of the class

This keyword, final keyword, static keyword

Instantiation process of an object

Method overrides and overloads; method and method parameter passing procedure

constructor function

Inner class, abstract class, interface

Object polymorphism (conversions between subclasses and parent classes, references to parent paper box classes), abstract classes and interfaces in polymorphic applications

2-5 JVM memory model, garbage collection

2-6 about exceptions

Throwable/error/exception,checked Exception vs. unchecked Exception, exception catching and throwing, exception catching principles, finally using

2-7 Multi-Threading

Concepts of threads and processes

How to create multi-threading, thread-safe issues, communication between threads in a program

Synchronization of Threads

Analysis of the deadlock problem

Thread pool

2-8 IO

java.io package, understanding the IO system based on the pipeline model design ideas and commonly used IO class characteristics and applications.

File and related classes, byte stream InputStream and OutputStream, character stream reader and writer, and corresponding buffer stream and pipeline flow, bytes and characters of the conversion stream, wrapper flow, and common wrapper class use

Analyzing IO Performance

2-9xml

Familiarity with the advantages and disadvantages of sax, Dom, and Jdom, and the ability to use one of the parsing and content processing of XML, the principles of these analytic methods

2-10 some advanced features

Reflection, Proxy, generics, enumeration, Java regular expressions

2-11 Network Programming

Principles and application Scenarios of network communication protocols, socket programming, how Web servers work

2-11 JDK1.5, JDK1.6, JDK1.7, JDK1.8 What are the new features that each version adds to the previous version, and what improvements are made

Three: Database-related

In front of the data structure, the database is simply like an electronic filing cabinet, is to organize, store and manage data warehouse according to a certain data structure.

3-1 Theoretical basis

Database design principles and paradigms

Transactions (ACID, working principle, isolation level of transactions, locks, propagation mechanism of transactions)

3-2 various database advantages and disadvantages, usage scenario analysis

Mysql/sqlserver/oracle and various NoSQL (Redis, MongoDB, Memcached, Hbase, COUCHDB, etc.)

3-2 SQL statements

Database creation, permission assignment, creation of tables, additions and deletions, connection, sub-query

Triggers, stored procedures, transaction control

3-3 optimization

Index principle and application, large table query optimization, multi-table Connection query optimization, sub-query optimization, etc.

3-4 Library, sub-table, Backup, migration

Import, export, sub-Library, table, cold standby hot standby, master-slave backup, dual standby, vertical expansion, scale-out

3-5 JDBC

Use of different classes such as JDBC Connection, Statement, PreparedStatement, callablestatement, resultset, etc.

Connection pooling (configuration usage, implementation principle)

Orm,dao


Java advanced path-from junior programmers to architects, from small to expert

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.