2018 Programming Technology Learning list, 2018 Programming Technology list

Source: Internet
Author: User
Tags hadoop ecosystem

2018 Programming Technology Learning list, 2018 Programming Technology list
Programming General Data Storage essential encoding essential compression essential encryption essential serialization essential CDN essential DNS essential Internet Protocol entry: reprinting protocols at various layers

The essence of CPU IO

Essence of CPU computing


Essence of concurrency

Essence of Data Types

Differences between disk and Memory Data Reading and computing

Performance Tuning https://www.toutiao.com/i6533104240003383822/

Essence of network communication

Essence of communication protocols

Comparison of Data Storage Methods: json, parquet, and xml


What is digital signature and digital certificate?


Architecture and concept web service Architecture-Java basics of render http://www.ruanyifeng.com/blog/2014/07/database_implementation.html

Basic Structure of Java classes

Access control permission

Class Loading Mechanism

Java data type Implementation Mechanism

Use of enumeration classes

Internal classes and callback Functions

Exception Handling Mechanism

The essence of IO streams: understanding IO streams from the design perspective

NIO: NIO (New Input/Output) class introduces an I/O Method Based on Channel and Buffer.You can use the Native function library to directly allocate off-heap memory.And then use a DirectByteBuffer object stored in the Java heap as a reference to the memory. This can significantly improve performance in some scenarios, becauseAvoid copying data back and forth between Java heap and Native heap (off-heap memory).


Generic Mechanism

Reflection mechanism

Annotation Mechanism

Usage of JDK Functions

JVM memory allocation, memory management, and underlying resource control

Garbage Collection

Concurrent multithreading: java. util. concurrent. forkjoin Learning

Network Programming

Data Structure and algorithm: Chapter 13 of java basic volume

How is the data structure implemented?


Java framework technology of application Recommendation System

Spring Ecosystem

Elastic Ecosystem

Hadoop Ecosystem

Communication Framework

Doctor container Technology

Basic functions of the Java framework

Reusability design modular thinking



I often hear such complaints from programmers who have been writing programs for several years and become skilled workers. Every day, I repeatedly write code without any new ideas. In reusability design, modular thinking means that programmers should think more about every functional module or function, rather than simply thinking about how to complete the current task, think about whether the module can be detached from the system, and whether it can be directly referenced in other systems and application environments by simply modifying parameters, which can greatly avoid repetitive development work, if a software R & D organization and working group can consider these issues during every R & D process, programmers will not delay too much time in repetitive work, more time and energy will be invested in innovative code work.



Log Module

Thread Pool

Connection Pool

Exception Handling Module ()

Technical Solution level


Transaction rollback


Design Problems

Design Mode

Multiplexing and modularization


Test Methodology


1. Basic Java technology system, JVM memory allocation, garbage collection, Class Loader system, performance optimization, reflection mechanism, multithreading, network programming, common data structures and related algorithms.

2. Have a clear understanding of object-oriented software development ideas and be familiar with common design patterns.

3. Master the popular open-source frameworks (spring, springmvc, and ibatis), and have some knowledge of their core ideas and implementation principles.

4. Familiar with the development and design of Oracle, MySQL, and other databases, as well as the design and development of the cache system Redis or Memcached.

5. Familiar with underlying middleware and distributed technologies (including cache, message system, and hot deployment), message middleware: ActiveMQ, RabbitMQ, and workflow middleware: JBPM.

6. proficient in shell programming and familiar with Common commands such as awk, sed, grep, strace, tcudump, and gdb.

7. Experience in designing and developing large distributed systems, high concurrency, high load (large data volume), and high availability systems.

8. Have some knowledge about configuration management and agile R & D modes (svn and git ).

9. Familiar with common solutions and their principles: Single Sign-On, distributed cache, SOA, full-text retrieval, message middleware, Server Load balancer, connection pool, and streamcompute.

10. Be familiar with the features and business Bottlenecks of mainstream technologies on the market.

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.