java architecture knowledge

Ten years java architect teach you how to learn java architecture

A distributed architecture

Architecture of distributed applications and tools, including the current technology mature J2EE, CORBA and DCOM, these techniques involve the content is very broad, related books very much.

Distributed systems is an old broad topic, but in recent years because of the rise of the concept of "big data," and brought out a new youth and vitality.

In addition, a distributed system is a theoretical model and engineering techniques. Distributed learning system students tend to feel: "Getting started is easy, hard-depth" Indeed, distributed learning system almost does not require much mathematical knowledge.

Distributed system or a complex and broad areas of research, learning one or two online courses, see a book or two are probably not fully cover all of its contents. In general, a distributed system is to do multiple tasks combined organic machines connected together, allowed to complete a task cooperative, can be a computing task, the task may be stored.

Distributed systems research, I think it probably consists of three parts:

Distributed Storage System

Distributed computing system

Distributed Management System

Second, micro-services

The current hot micro-services, it is known in the use of micro-services architecture, but what exactly is a micro-service architecture? Micro-service architecture is not the trends?

In order to solve various problems in monomer architecture, micro-architecture came into service. The core idea of ​​micro-services is split and decoupling service, reduce complexity.

Micro-service functions will emphasize reasonable dismantling, as far as possible to ensure that every single function of the service, in accordance with a clear role single responsibility principle. The various services do light to be flexible, reusable, also based on their resource requirements of each service, a separate deployment, separate extension transversely.

Micro Services Architecture is an architectural concept designed to function by breaking down each discrete service to achieve the decoupling of the solution. You can see it as rather than get in the architecture level of service

Many applications on the type SOLID principles. Micro Services Architecture is a very interesting concept, its main role is to break down the various functions among discrete service, thus reducing the coupling of the system, and provide a more flexible service support.

The concept: to a large single applications and services split into several or even dozens of micro-support service that extends the individual components rather than the entire application stack to meet service level agreements.

Definition: to create a business around the component applications that can be developed independently, manage, and use cloud architectures peace iteration desktop deployment, management and service functions in a decentralized components, the product delivery easier.

Nature: some features with relatively clear, relatively concise business services to solve larger, more practical problems.

Third, source code analysis

The source code is a set of characters (program development code) can achieve a particular functionality has a specific meaning.

Analysis is a critical source of knowledge to master this critical knowledge, maintaining the status quo, source code analysis for many people is very boring, jerky and difficult.

Source code, I think the core of three points: technology base + + patience strong thirst for knowledge.

Fourth, the use of tools

工欲善其事必先利其器, tools importance of Java programmer goes without saying that there are a lot of libraries, utilities and procedures of any Java developers choice.

Fifth, performance optimization

Whether it is to deal with the front end of the interview or improved product experience, performance optimization is not immune to the topic.

The purpose of optimization is to allow users to have "fast" feeling, it allows users to feel how fast is it?

Loading speed is really fast, the user opens enter the URL of the page to see immediately press Enter

Loading speed is not faster, but you feel your site quickly

Performance optimization depends on several factors, including garbage collection, and the underlying operating system virtual machine ( the OS) is provided. Use when there are multiple tools available to developers for analysis and optimization, you can use them to learn and optimization and analysis tool by reading the Java source code.

The use of best practices and adhere to the appropriate way to deal with performance optimization. Really want to achieve the highest performance optimization, the need for the Java Virtual Machine (JVM) and the underlying operating system is properly understood.

Performance optimization, that is, without affecting the correct operation of the system to make it run faster, time required to complete a specific function shorter. Performance issues will always be one of the eternal theme, and optimize even more tricky.

Java architecture of the road, long way to go, but not too difficult, as long as willing to learn, is very likely to succeed!

Guess you like

Origin www.cnblogs.com/heqingxiaohuo/p/12112634.html