Current location - Quotes Website - Excellent quotations - Freshman software freshman is a little confused. Freshman studied C in a muddle last semester, and taught himself JAVA next semester. At present, I plan to get in touch with HTML to solve my doubts.
Freshman software freshman is a little confused. Freshman studied C in a muddle last semester, and taught himself JAVA next semester. At present, I plan to get in touch with HTML to solve my doubts.
Freshmen majoring in software engineering will study C for one semester, and sophomores will study C++ and java. Brother, please remember that you must master one of these three languages, and don't learn everything. Several important subjects of software engineering are: computer algorithm, data structure (especially important), operating system, computer network and distributed system. You must listen carefully to these theories and master them well. They determine how far you can go in the future. As for the programming languages above, they are only their realization. It is up to you to decide which language to learn. If you study java or C++, you should be proficient in "design pattern" and "object-oriented theory". The following is my roadmap for learning java.

1. First, find a simple textbook, and have a basic understanding of java (about half a month is enough, just download an introductory book casually)

2. Then I recommend you to read it <; < Java core technology > > , divided into two volumes, is the eighth edition, about 167 pages; When you finish reading, you have mastered the basic knowledge of java (remember, you must practice more) (but you have to understand it, hehe, read it at least three or four times, and these two books will be very good as long as you can understand 7%)

3. You can read it at this time <; < thinking in java> > The Chinese name "java programming ideas" is difficult to write. If you read it and understand it, it proves that the java level has reached a medium level. (I can handle all the java knowledge I asked when I went to the interview.) (Or I can read the following book first, while reading the book thinking in java, which is also possible, and the learning efficiency should be higher.)

4. Then java will be divided into directions, and j2me (mobile phone programming) is out of date; J2ee direction (Web programming), first learn html,javaScript,css (there are countless books), then learn Servlet, jsp and tomcat server. The books "jsp application development details" (introduction), "servlet and JSP core programming" (core) and "Tomcat and Java Web development technology details" are not bad. Then you can learn SSH

5. Learn database theory and JDBC (it is best to learn oracle well). When learning struts, it is recommended to learn "Mastering Struts Java Web Design and Development Based on MVC" from struts1, and then you can learn Struts 2 "Struts 2 Authoritative Guide". Next, learn Hibernate's Mastering Hibernate: Detailed Description of java Object Persistence Technology, and finally learn Spring's Technical Manual of Spring《spring2. and EJB's Enterprise JavaBeans, 2nd Edition (hint: as long as you learn the basics of Java well, these things will be learned quickly)

6. At this time, you should pay attention to design patterns (especially important for application), data structures and computer algorithms. < Simple design pattern > > Then look at <; < Java and patterns >; > The data structure can be seen in the textbook written by Tsinghua University Yan Weimin; Computer algorithms should understand the basic sorting, and if there is enough time, you can look at that <; < Introduction to algorithms > . (Design patterns, data structures and algorithms are the real essence, and it is not enough to understand them, so you must practice and think more.) Theoretically, you can understand the design patterns for code with more than 5, lines, and you can use the design patterns for code with more than 2, lines (first emphasis)

7. After mastering the above knowledge, it is recommended to read <; < effective java> > This book is recognized as an advanced book in the java field at present. You will definitely encounter some front-end knowledge in the project, so you must be proficient in javascript and Ajax, <; < Authoritative guide to JavaScript > > (Introduction), <; < Advanced programming of JavaScript >: > (advanced), these two books are understood, so learning jquery and extjs will be very fast <; < ExtJS> > And sharp jQuery.

8. Learn the SSH source code. There are too many ideas in it, which are too useful. Don't be impatient, don't be quick, all books should be read slowly and read several times (a book can become a master after reading it four or five times, hehe).

9. The Java Foundation (j2se) focuses on inheritance, polymorphism, streaming, threading, network programming, reflection, collection, database connection, generics, JNI technology, distributed technology and parsing xml. If you want to learn android mobile phone programming, SWING and AWT should be familiar with it. Introduction and actual combat of Google+android development (introduction) and encyclopedia of Google Android SDK development examples (in-depth) (it is suggested that Android should be regarded as a hobby and web programming should be the main direction, because j2ee contains a lot of framework knowledge), and there are many books, so you can search them yourself. It is king to think more and practice more. Don't trust any training institutions. These are useless. You can only learn by yourself.

1. With object-oriented thinking +java Foundation (j2se)+ data structure+design pattern+computer algorithm as the core, undergraduates can learn nothing well, but these subjects must be well studied, remember to remember! (the second point)

11. After learning the above knowledge, you can make an ERP system, but these are still in the stage of Web application, which is also the watershed between undergraduate and graduate students!

12. the commanding height of the internet is Web Service, with J2EE+ mobile terminals (Android, IOS, blackberry) at the front end and linux operating system at the back end.

12. so how to integrate a large number of servers? How to divide a job into multiple tasks and distribute them to multiple servers for processing? How to solve the problem of communication between multiple servers? How to solve the problem of high concurrency between servers?

how to establish a Web Service interface for the outside world to call? (These are the contents of postgraduate study)/education/Java/j-cxf/section2.html

13. Deeply understand the principle knowledge of computer network, operating system and distributed system. Learning RMI, JMS, JAVA Message Service and JAVA Concurrent Programming Practice have a preliminary introduction and realization of these problems

14. Learning linux operating system "Bird Brother's Private Kitchen"

15. Learning Hadoop authoritative guide for processing massive data on the server side

16. When integrating systems, it is possible that upstream enterprises use other ones.

17. Mastering a scripting language, such as ruby

18. The famous saying of software engineering "What is a major? Profession means that you spend more time than others! " (Spend more time) "The best and most powerful move is no move!" (the highest level of design mode)