Go-How to learn Java

Source: Internet
Author: User
Tags filter interface
: (How to learn Java?) ) Maple Leaf Country Wanderer 2001-07-04 12:37:58
I can combine my experience to say to you roughly, hope to help you, less take detours.

Learning Java In fact should rise to learn how to design this realm, in fact, learning program design is to accept a programming idea. The programming ideas of each language are similar, but some nuances, such as the interface in Java, that you have never encountered in your previous studies. I'll tell you a few things carefully:

1. We have to make a clear general direction, that is, now object-oriented programming category. Although artificial intelligence has had a tidal wave (see why Borland has a turbo Prolog), it will be widely recognized and accepted by industry in the next 5-10 years as object-oriented programming.

2. The most popular object-oriented programming language in industry is C + + and Java. So basically locking these two directions is OK. And can be mastered at the same time.

3. Master the essence of Java and be sure to know why. For example, interface and Multi-thread. Using interface is a better model for multiple inheritance, while multithreading is an important feature designed to the language level. To fully understand why interface is, there are several common programming models with multithreading.

4. Understand the characteristics of the language is why, you can try to rise to the design level, after all, learning language is to use. The better development model is to adopt a custom downward object-oriented design, plus the MVC pattern (you can look at what I've introduced about MVC). The first thing to do is to find the topmost object (which is often the hardest), and then recursion down one layer at a time, remembering that each one should conform to the principles of 7+/-2, as our short memory is. Generally have a graphical user interface from the interface began to design.

5. With the basic design model, you can learn some design patterns. This is now proving to be very effective. For example, architecture pattern (layering layering, pipe/filter pipe or filter), design pattern (there are many, such as Object pool, buffer pool cache, etc.), programming mode (such as Copy-on-write). Understand these patterns, you will have a good grasp of the overall structure of the system, and the academic trend of a system can be completely composed of various models. The MT mentioned above actually has several patterns, so you don't have to spend a lot of time trying it. Another important area is the field of parallel and distributed computing, which is about 20 kinds.

6. The next step is not to talk about, the best way is actually practice. The examples in general textbooks are not practical, they can only be used to master the characteristics of language. It's not too good to advocate for actual project, because you don't have the skills to synthesize a variety of technologies, so you're just getting confused. I think the better way is to find some classic examples, each example is more focused on a programming idea and design, such as in my practice, I have learned a classic example is the Java implementation of the Hotdraw (from Smalltalk), You can find it on the search engine with Rolemodel or hotdraw, which I don't remember very well. It looks like Rolemodel.com is a website with the original code and some basic design documents. Another source can go to www.umlchina.com is a good documentation base. From the 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 you will never feel small, only feel big, and he is still the real commercial framework.

7. You can understand these classic examples well by combining the design patterns you learned earlier. And I can use him to implement some simple system. If you can make further changes to him and find out where you think you can improve your performance and your own design, that's a more level, and you'll really feel something.

8. As if the above talk with Java has nothing to do with, in fact, we should have learned from the simple language to real learning good programming areas. Learning technology is endless, you learn the first language may take six months, after each language should not be more than two months, otherwise you will feel that learning language is a burden, is pain.

9. Learning is for use, is to let your program produce value, hold this principle will be more relaxed point.

No 10th, because no thing is perfect, haha ~ ~.

Happy programming!



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.