Sentiment:
- Flexible: Let the standard become value, give you a kind of thought and standard, you can have different use, can't merely theorem, we need to solve the problem!
- Reading: Divided into two categories, a class according to the knowledge points listed, and the structure is clear, you can read a chapter has a choice to summarize (not notes, summary is with their own understanding), a kind of is messy but important, need to look at the side of the important points (important point is you have not encountered the pit or knowledge points), and then read
- Do not firmly believe in what way fast, what way slow, must pay attention to the scene. (Existence is reasonable)
- It's all about the scene and the need, but it can be abandoned in some cases. (Performance, optimization)
- Change is the result of using simple basics to adapt, and this change is quite a lot (original aim)
- Algorithm <--> life, one for each, such as find and sort think of the school inside the queue, looking for people how to do, to think of different means to connect to the corresponding method (all the algorithms come from life, and not so complex, even multithreading technology can find living examples in life)
- Algorithm: No matter how complex, can always find a logical background in real life. In this premise, as long as the depth of mining business background, you can be flexible on the basis of the expansion of the algorithm.
- The thought expands horizontally, the thought divergence expands.
- Whether to do the basic program or to do optimization, you need to know its details, to be aware of it.
- Repetitive manufacturing: After understanding the bottom we need to improve our knowledge, know what others provide, and what we need to write ourselves. (Java third-party packages and tools: we should know that there are a lot of other people who write toolkits that can be used directly, and how to find them, and the basics can help us quickly learn new toolkits and get to know the nature of them)
- Source: The main purpose is to understand the meaning and know its pit.
- Java: You want to encapsulate some complex logic details in a tool that makes your code as clean, neat, and easy to maintain as possible. Code is not clean in many places a large number of dirty code needs to be modified in many places to modify, many times we do not know where to change, the code will allow us to constantly switch between technology and business, unable to concentrate on the business details, but also unable to dig deep into the business. Technology itself is a business-driven process, and people can get the best out of their business-driven learning techniques.
- Third-party packages: The correctness and performance of the toolkit used by large companies is verified by many companies, and everyone will know if there are any problems. Pay attention to foundation on the basis of also need a lot of study, spread knowledge, can have choice, but: Know the inner details is our quantitative choice of conditions.
- Redundancy: Not all toolkits can fully meet the requirements, the toolkit meets a subset of requirements, the toolkit meets some of the requirements, and the toolkit is a bit more annoying than writing one, and there is a lot of redundancy, you can consider the expansion at this time.
- Personalization issues: Each scene will have some changes, open source Toolkit is to provide some common processing, while providing a Java packaging ideas, many code is also worth our reference, so when faced with a personalized problem, do not have to write, need to understand the design of the field of business and personalization, This will make a very cool architecture for the business.
Technology:
- The basis of the algorithm is based on the number, only the number can really complete the calculation and comparison operations (such as the object's Hashcode () method).
- In fact, the database can not be separated from these principles, most of the database index will be used in the new B + tree (of course, there is the use of hash algorithm), this idea is a balanced binary tree extension. sql-"Find and Sort algorithms
- Operators: Different operations have multiple implementations, the closer to the bottom the quicker (| & ^)
- To improve overall productivity and conserve resources, you can do things ahead of Time (compilation optimization)
- Understanding the different sides of things from the perspective of others and the scene, deduce them, combine others ' opinions and suggestions, and have the opportunity to know the truth. (If I am the author of a language, how would I design it?) A combination of validation, nature, documentation, and co-guiding us to know the truth)
- The content that can be determined in the compile phase can only come from a constant pool, and the new object is determined at runtime. (Intern () run step process, and equals () efficiency comparison, intern () Save the object in the constant pool, so = = faster, instead of equal () compared to save time, the original new object and the object of comparison is not the same, so can not be compared with = =, The object needs to be stored in a constant pool using intern (), which can be compared with = =, which is analogous to integer int a = 10; Integer int b = 10; A = B;a and B are objects, but saved in a constant pool can be compared with = = Compare memory addresses faster than equals ()
- The condition of the string expansion, the difference from the StringBuilder, the + operator optimization.
- Knowing when to auto-assemble the box simplifies the code, but it's not something that we don't know. (Learn from the source) (how to adjust the unboxing parameters, how to avoid the code you write frequently unboxing)
Way:
- The Ancients cloud: Touches your heart, deep understanding of technology and its inner. Learn the basics of martial arts, and then learn any military study are quick and inner fix will determine how far you can go on the technology path.
- Know it and know its why: guided by the knowledge of the thinking, from the thinking to guide the answer, from the results to confirm the theory, constantly iterative process. In this process, the understanding of the problem will become clearer and more natural in the sense of opinion, but also in their own field full of confidence.
- Many technologies come from life.
- Bug: The so-called we are not afraid to make mistakes, fear is not know what is wrong, more afraid of is that we have been convinced that the right thing is wrong.
- Testing: The test scenario is not guided by the truth and can only guide development under the same scenario (testing can help us to understand the essence, and it is a process of confirming when we know the essence).
- Essence: Know the inside, know the conventional algorithm, know the corresponding method of life, we find it is not so difficult, the key is whether you are willing to see its essence.
- Too fancy technology itself, too look at technology itself, art is boundless, you need to put down to find a new direction.
- Meditation: The foundation is not sky high, anyone can do as long as meditation.
- Summary: After learning must be implemented in the fundamental, review and summary, what all want to learn, the result of learning to lose, no own knowledge of solidification, without their own summary and notes. (summary should include your own understanding and feelings, should be able to explain the process of learning and understanding of pain)
- Not every day to summarize (waste of time, or small summary), if very busy not necessary (if you see a better article, you can first look at the content, it is recorded, write to summarize the content that you want to learn, and other leisure summary may be better)
- Summarize the Technology: technical field you can summarize ideas, summarize what you have learned, summarize the problems encountered, summarize why, summarize the means and methods to solve the problem, analyze the problem and position the idea of the problem, summarize the knowledge used in solving the problem, summarize whether there are related programs in the technical point, and compare the advantages and disadvantages of the relevant knowledge.
- Summary of the business: the business to summarize what they have recently done, those are big things or small things, their own things and a few months ago than improve no, the efficiency of the promotion of No, how the schedule, if too much overtime can not work overtime, their productivity can be further improved, and how to improve, Do some automation through technology or time management to better arrange yourself, what to expect or want to do in the months ahead, and whether you have the ability to participate in more important duties.
- Work and study: Work itself is a kind of learning, more emphasis on practice, based on the work of learning a new knowledge faster, mostly in the use of the level, when encountering some strange problems, it is necessary to look at the intrinsic principle, at this time to look at the source code. This fragmentation of learning is actually the process of accumulation of soil into a mountain, to a certain degree of natural change caused by quantitative change, at this time to look at the knowledge of the cattle cheats the process.
- Based on the present: need to be based on the current business, to do their best to dig, through the business refinement drive technology development, to the extent that we can contact knowledge, the whole study is an iterative process, the foundation is gradually improved.
- Self-confidence: learn to believe in yourself, have the confidence to face difficulties. (have the attitude of facing adversity and the determination to overcome difficulties)
- Challenge others: The first response is to see if your inner world is strong enough. Perhaps at this time we can see how others are cultivated, others can do it, we can do the same.
- Problem: There is a problem with the code, we look at the reason, whether it is not our own problems to tell the real reason. There is no problem, we are not afraid to make mistakes, but afraid of the wrong to change, repeatedly make the same mistakes, may be the same low-level error. If people ask the same questions over and over, and the vast majority of them are not their own, they can be presented in the form of documents that are not written by us and are usually not known by the user.
- Mess: The result is that the more things, the more problems, do one thing to solve the problem, but bring more problems.
- Calmly face the truth of the matter: the objective face of the things we face, coupled with the business itself familiarity, technical skills, calm thinking, quantitative judgments, global impact analysis, and gradually break through the layers of technical and business difficulties, can be very cool to solve most of the problems.
- Experience: As long as the code, there will be a bug, only to see the nature of such problems, in the face of similar problems to locate judgment, rather than directly using the experience summed up by predecessors to solve the problem. With the development of technology, experience will become unreliable. (experience may be used for reference and reference, but experience can not be used when eating, while others tell you is his experience, is also a reference and reference, we have to learn to see the nature of the problem of the methods and habits)
- Frame: The previous thing has not mastered, new come again: Need method, need foundation, understand its fundamental and development direction and mode, basic know what it wants to do, also basically know how to do, oneself also can realize, knowledge not necessary only. Open source software Common parameters will not be too many, when you know the root of it: through the command and document query very fast, the cost of learning should not be too large.
- Pit: We should "stand on the shoulders of others to see the problem, not only to follow the previous written things, but also need to see the pits they encountered ." The new generation of programmers does not have to go through the same pits that the previous generation of programmers have experienced, and that is just continuation, without any development. A new generation of programmers, even though they are going through pits, are going through some newer pits to dig up newer things instead of usual.
Learning methods:each person at different stages should have different learning methods, can not generalize: see more, practice more, think more, practice more, sum up.
- See MORE:
- See what? See how others write code, how to analyze and solve problems, what technology to use, how to face the pressure of work, how to behave, how to coordinate resources and so on.
- What do you think? Surrounded by your colleagues, colleagues must have a master. You have friends on the Internet, there must be a leader in your friends. You'll use a lot of open source frameworks, which certainly contain a lot of classic code and ideas.
- more practice:
- more practice, what should be practiced?
- you want to learn everything you want, no matter how good a program someone writes, what a big thing is not overnight (based on the moment)]
- based on the present: Find your own interests, not others ' interests; Find your own business mining point, Rather than other people's business (not to say not to pay attention to the business of others, but an exchange of experience, do not always feel that others in the bowl of food to be fragrant)
- interest: Based on your understanding of the value of the problem solved, interest can bring you a good income, Interest is that you can deal with some of the problems around people can't handle, week is you good at the point whether you can get the play, in fact, the interest is mine.
- Beginners must practice more, even practice code, is very good, to a certain degree of thinking can be. Even a very high level of people will practice more, but the practice of the code is not the same. Practice can let us have more perceptual knowledge of the problem, many problems will naturally gradually clear up after the practice. On the basis of practice, there will be further rational understanding
- Think more and practise more:
- After a lot of practice, many people go to the corner of technical control, because the control of technology will become a pleasure. At this stage we should think more.
- What are the drawbacks of this technology? What core problems can we solve with it? What are the relevant technologies? What is the difference between them?
- Concatenation: When we go deep into the same thing, we naturally need to learn something else, this is the concatenation of knowledge, fragmentation of learning is not completely fragmented, with deep learning, knowledge will naturally be concatenated together.
- In-depth: How to go deep in practice, on the basis of thought? All kinds of Network blog, official documents, source code, books are a key factor in the accumulation, when the material is a lot of time need to pick the key points.
- Key point: Our focus is on the point of concern. In fact, the key point is the point you want to know the most, this key point for different levels of people will have different concepts, it can be new to a code how to write, a bits within the program how to deal with, can also be coarse to the overall structure of the matter, it is completely related to your work, colleagues and your understanding of the work related. This is a process of accumulation, the more the knowledge and business system, the easier it is to find the key points, so learning, thinking, and time is constantly iterative.
- Thinking: We want to indulge in the expansion of thinking, systematic expansion (but do not go into the dead), in the process of expansion will force themselves to learn a lot of relevant knowledge, and this knowledge will be hard Ming, as knowledge continues to be concatenated, will gradually form a system. If one day you think from your heart that "all stems from the way of thought and life", then you see the Masters of the book, perhaps is a kind of knowledge carding process and experience exchange.
- Multiple Summary
- No matter how hard a person studies, how can think, but if his knowledge does not precipitate, will eventually lose some things.
- When does it precipitate? This is what we are constantly groping, inconclusive, if you think it is helpful to your future development, or if you think it can help you improve your level or broaden your knowledge, then you will precipitate it. Every day we have a small precipitate, weekly will be a little summary, every month there are some sentiment, each quarter will find a few months ago is so "naïve", then they really grow. After 1 or 2 years of persistence, you will probably know more than others and go a lot deeper.
- Some people may say that no matter how you precipitate it is useless, always in place, a few years later or a kind. Then you have to think: Have you considered the method in the process of summing up the question? Perhaps you are always settling the simple, easy things, just to "record" and lack of their own opinions, perhaps in the process of summing up not to consider how to do better than before. Of course how to summarize is the individual's freedom, each summary has its value, even if the "face" on the extension summary, as long as there is no misunderstanding the basic truth, can still "guide others" growth.
- When do you need to precipitate knowledge? When you solve the problem, when you learn the nature of the problem, when you see the things you have not seen before, when you think it is worth summing up, long-term adherence to the summary is the foundation of the thick accumulation of thin hair, this is the eternal truth. From quantitative to qualitative change depends on the summary of the process you can break through and deep, perhaps a little bit less, when the qualitative changes in the attitude and approach to the problem will have a broader space, which is what we usually call "enlightened."
- Precipitate what? We should not only summarize the knowledge points, but also summarize the methods, means, mentality, and the business that can be dug in depth.
Java Commando notes: on Tao