The Java language learning began, many students do not know where to start? If you also want to know how to learn Java from scratch? How to learn Java most effective?
Although a lot of things in Java Surface object are packaged directly with, relative to other languages is not so complicated, but the learning of things is not so easy, in short if you are really want to do development, first sank the heart of the foundation to play well, do not think of the first because the software industry has the market, So to come in share of this impatience mentality.
In addition, in the programming industry, technical update speed, so must have the corresponding self-study ability and self-learning awareness, or even now into the job of Java-related work, not active learning, perhaps a few years later you will not be able to keep up with the technology to be laid off. The fastest in the Internet era is the update iteration. Don't say much, let's look at how to learn Java from scratch.
First, to the appropriate training institutions to pay for learning
Don't talk about it. Training institutions are useless, but be sure to find formal training institutions, otherwise easy to be pits. Training institutions inside the curriculum are now in need of work, time is short, so maybe the students do not digest so fast, the foundation may not be so fast consolidation, so need their own efforts.
In the training institutions to pay attention to: practice, Initiative self-study, have problems, do not understand the teacher, or after graduation, there is no such a good opportunity to directly get effective communication.
Second, self-study
Because it is self-study, so from the beginning to the introduction will be very boring, not all people can persist, so if you do not have a deep interest in personal advice or do not teach yourself programming.
Let's add some Java learning ideas to you!
Learning Java In fact should rise to how to learn the design of this realm, in fact, learning program design is to accept a programming idea. The idea of programming in every language is much the same, except for some subtle differences in language characteristics, such as interface in Java, which you have never encountered in your previous studies. Here's a few things I'll tell you carefully:
1. Defining the object-oriented category
We must define a general direction, that is, the object-oriented programming category now. Despite the wave of artificial intelligence (see why Borland has Turbo Prolog), it is widely recognized and accepted by industry in the next 5-10 years as object-oriented programming.
The most popular object-oriented programming language in the industry today is C + + and Java. So basically lock these two directions on it. And you can master it all at once.
2. Mastering the essence of Java
While mastering the essence of Java, be sure to know why. For example, interface and Multi-thread. Using interface is a better model for multiple inheritance, while multi-threading is an important feature of design to the language level. To fully understand why interface is, there are several common programming models used in multithreading.
3. Start the design
After understanding the nature of the language is why, you can try to rise to the level of design, after all, learning language is to use. At present, the better development model is the use of a custom down object-oriented design, coupled with the MVC pattern (you can look at what I introduced about MVC). The first thing to find is the topmost object (which is often the hardest), and then recursively down one layer at a time, remembering that each should conform to the principle of 7+/-2, because our short memory is like this. Generally have a graphical user interface should start from the interface design.
4. Learning Design Patterns
With the basic design model, you can learn some design patterns. This is now proving to be very effective. For example, architecture patterns (layering tiering, pipe/filter pipes or filters), design patterns (there are many, such as Object pool, buffer pool cache, etc.), programming patterns (such as copy-on-write).
Understand these patterns, will have a good grasp of the overall structure of the system, but also academically inclined to a system can be completely composed of various models. The MT mentioned above actually has several modes, so you don't have to spend a lot of time to try it after mastering it. Another important area is the field of parallel and distributed computing, which is about 20 kinds.
5. Practice in programming
The next step is not to talk about, the best way is actually practice. The general textbook example is not a practice, only to let you master the language characteristics used. and the promotion of practical project is not too good, because you have not mastered the ability to synthesize a variety of technology, so you can only become more and more confused.
I think the better way is to find some more classic examples, each example is more focused on a programming idea design, such as in my practice, I have learned a very classic example is the Java implementation of the Hotdraw (from Smalltalk), You can use Rolemodel or Hotdraw on the search engine to find it, I don't remember very well. It's like a website with the original code and some basic design documentation.
Another source can be a good document base. From Hotdraw I learned what the framework is and how to construct it in a rolemodel way so that I can apply it to other places. By the way, this example will definitely not be small, it'll only make you feel big, and he's still a real commercial framework.
6. Learn to modify classic examples
By combining the design patterns you learned earlier, you'll be able to understand these classic examples very well. And you can use him to implement some simple system. If he can be further modified to find out where you feel you can improve performance, plus your own design, it will be a more level, you will really feel the harvest.
As if the above talk is not related to Java, in fact, we should have learned from the simple language to the real learning of the field of good programming. Learning technology is endless, you learn the first language may take half a year, after each language should not be more than two months, otherwise you will feel that learning language is a burden, is pain.
7. Apply
Learning is for the purpose of making your program produce value, and it's easier to hold on to it.
What are the core technologies that Java programmers need to master?
What are the requirements for bat interviewing Java programmers?
What kind of company to learn Java to make more money?
0 Basic Java How long can you get a monthly salary?
How to learn Java programming from scratch