Learn Java to do projects need to learn some skills _java

Source: Internet
Author: User
Tags garbage collection object serialization

Java is used to do the project! Java's main area of application is enterprise-level project development! To engage in enterprise-level project development, you need to master the following points:

1, master the basic steps of project development

2, with a strong object-oriented analysis and design skills

3, master use case driven, architecture as the core of the mainstream development method

No one wants to be satisfied with their own life to master a number of code implementation skills, others tell you to achieve what, you use code stack to achieve the requirements of others! You have to learn to think from the perspective of the whole project! You have to learn how to think if you are a project manager! You have to learn how to think if you are an architect! You must have an analytical approach to a particular problem area!

About basic TB Knowledge: You can look at these nouns or points of knowledge to see if you can say a Sanshira.

Javase

--basic syntax, data type, operator, and so on: int, long, Integer, long, if, else, for, while

Object oriented: Class (Class), Object (object), instance (instance), State (status), behavior (behavior), field, method, new, visibility (access control), attribute, property, Package, import, static variable, class variable, instance variable, heap, method area, Stack, GC (garbage Collection), override, Overload, Object Transformation (casting), polymorphism, this, super

-Exception Handling: Understanding the difference between compile-time errors and run-time errors, Exception, runtimeexception, checked Exception, unchecked Exception, try, catch, finally, throw The basic principles of new xxxexception, throws Xxxexception, and exception handling

--Arrays and collections: Array definitions and usage methods, Collection, List, Set, Map, ArrayList, HashSet, HashMap, iterator, Equals, hashcode, comparable, Comparator

--Common classes: String, Intern, Chang, StringBuffer, Java.util.Date, SimpleDateFormat, Regex (regular expression)

--Reflection mechanism: Class, method, Field, Invoke, Newinstance, Beanutils (apache-commons), Propertyutils (apache-commons)

--Input and output streams: InputStream, OutputStream, Reader, Writer, adapter design patterns and primitive flow classes, decorator design patterns and wrapper flow classes, object serialization and deserialization

-Multithreading: Thread, Runnable, sleep, wait, notify, synchronized, lock

Servlet and JSP

--httpservlet, Doget, DoPost, HttpServletRequest, HttpServletResponse, Request.getparameter (), Request.setAttribute ( ), Request.getattribute (), Request.getsession (), ServletContext, Filter, Web.xml, Tomcat, forward and redirect, Stateless, Cookie, JSP Scope Object, <c:out .../>, <c:foreach ...> of HTTP protocol

HTML and JavaScript

--you need to be able to understand common web tags, understand how JavaScript is introduced into a Web page, and the basic syntax and usage of JavaScript.

This is the basic knowledge you must have to learn more about Java. In particular, some terminology and nouns, see these nouns, if you like to see a father as cordial, then you are familiar with the basic knowledge of Java.

Next is SSH:

For beginners, these three frameworks have been given too many mysterious colors, it seems that they are the most important knowledge! But for many years of experience in Java development of professional and technical personnel, for those Java cattle, but the three frame not too cold! Aren't they important?

Now many enterprises are using these three frameworks, so many enterprises also master these three frameworks as a prerequisite for recruitment. It is undeniable that there are many large enterprises do not use these three frameworks, these enterprises after years of development, itself has a certain technology accumulation, but also formed its own unique technical framework system. These three broad frameworks can be said to be important or unimportant.

The important reason is that these three frameworks provide a graceful solution to the common problems that exist in Java EE development, and they contain the efforts and ideas of the most NB developers in the industry, so learning the three broad frameworks You can see how these cows are at the top of the technology. What do people think about a problem, and what kind of design ideas to solve the problem. So, for you, you don't have a lot of project development experience, what is experience? Experience is that you know what problems you might encounter, what you can solve for which problem, in a situation, which solution is better, which method is not very good and so on! If you haven't done anything, you're not even aware of the problems you might encounter, and these are often critical! The solution is not good, will affect the stability of your program, scalability and so on! The three frameworks give beginners an idea of what problems you may encounter later and the solutions to these problems!

When you understand why these three frameworks are important, you can also understand why these three frameworks can be said to be unimportant. If you have ever developed a lot of projects, you have encountered a variety of problems, with your technical skills, one after another to break these problems, in these people's eyes, the three major frames (is there n a frame?). OH) are all clouds!

What kind of person do you belong to? If you don't have a lot of project development experience, then the three broad framework is very important to you! And then you know how to learn these three frameworks. For the three-frame study, the focus is to show you the problem, and trigger your own initiative to think, we encourage you to come up with your own ideas, maybe your idea is very stupid, but that is your own idea, if you do not know the idea of cattle, then how do you know your idea is very stupid? In the course of this kind of thought, you will gradually improve yourself! So, after learning the three frameworks, you should not just see a lot of configuration files, you should not just see some action, some service, some mapping files, you should not only know Session.save/update/delete, You shouldn't just know there's a bunch of interceptor in struts2, you shouldn't just see a bunch of jar bags ...

If you just know to copy a bunch of jar packages, define a series of configuration files, the SSH three framework will be able to run up, you can also work for you, then, sadly, you still do not grasp the essence of the three major frameworks! Please answer the following questions:

STRUTS2:

Why do I have to create an action object for every request?

What problems are refreshmodelbeforeresult resolved in the configuration of the Modeldriven interceptor?

Why is the strutsprepareandexecutefilter configured in Web.xml to filter all requests?

Would you please talk to me about Valuestack?

How does the Struts2 implement the MVC design pattern?

Spring:

Why do you want to use spring?

Would you please talk about Ioc/di?

What is declarative transaction management? Why use declarative transaction management? How does spring implement declarative transaction management?

When you integrate spring and hibernate to define transaction management features, why would you define a method other than adding, deleting, and updating, that is, a method that primarily executes a query task as read-only?

Hibernate:

Would you like to talk about your understanding of or mapping?

Many people say hibernate is not suitable for big projects, performance problems, how do you understand?

Hibernate Why must you define a database identity?

Why hibernate recommend that your entity classes implement hashcode and Equals methods?

What do you know about the relationship between database identity and database primary key in the Hibernate entity class?

What do you know about the relationship between Hibernate Association mapping and database foreign key?

Call the Session.save () method, Hibernate must emit an INSERT statement? Let's talk about your understanding.

Call the Session.update () method, Hibernate will definitely issue an UPDATE statement? Let's talk about your understanding.

Please talk about the following nouns, concepts or usages: lazy, lazy= "extra", inverse, Fetch, fetch= "join", fetch= "Subselect", batch-size

Does configuring Lazy= "true" make it lazy to load?

Please talk about the "n+1" problem in Hibernate

Would you please talk about the best practices in hibernate?

These are not all of the key points in ssh, but they can look at your flexibility to use the SSH framework! If you can deeply understand these problems, and then with the appropriate combat program training, you will gradually become a cow!

Finally, the project development capacity:

Whether you are learning Java or other technology, your fundamental goal is to create value for customers! Otherwise, you work hard to learn things, with the technological progress and update, will soon become obsolete! So, the core of technology is to use technology to create valuable results! In other words, what the customer needs, you need to use technology to the customer needs to create something for him! A company to use a variety of welfare conditions to try to retain you, because you can bring the company a very high interest! So, what can you use for the company? What kind of ability does the company value most in you?

The ability to do a project requires a lot of, the most basic of which is modeling ability (now the most mainstream is object-oriented modeling!) )。 What is modeling capability?

I give you an interview question:

Insurance Card Management module of an insurance company: The sales person receives the insurance card information (insurance card quantity, card number, collect date), then sells directly to the customer, after the sale, will enter the insurance card information into the insurance company system internal (salesperson information, the purchaser information, buys the insurance card quantity, the card number and so on), Customer Login to the insurance company website Activation Insurance Card, need to fill in (Insurance card number, activation password, insured information, beneficiary information)

The requirement is: If this module is for you to do, what would you do? What problems are you going to solve? Can you draw a picture and give me a description of what you think?

This is just a face test, because there is only a few words, so I put it here, let us feel the so-called modeling to solve what problems. and the business area of the problem is too much! Maybe a dozens of of hundreds of pages of requirements documents can describe a business area of the problem clearly, and your responsibility is to achieve them!

A company to develop an attendance management system, requirements and the existing human resources system docking, you are the main technical director, then, what do you want to do?

An ERP project to implement a scheduling management module, to you to complete, how do you do it?

Don't complain that the project manager is giving you too little information (just a few words) and don't complain that the customer is not describing their needs ... Your value is to straighten out all the problems of TB, with a variety of means to get the information you want, according to a certain amount of ideas, and in a specific time to solve it one after the other!

You should realize that learning Java is not a tank war, a network speed, a CMS, a DRP, an OA so simple, you do not indulge in those technical details (although it is necessary, but do not turn to Niu Jiao Jian), not satisfied with the implementation of the CRUD-type project requirements (although this is the basis of the foundation), In front of you, always have a goal there, need you to try to catch up!

You will face more complex needs in the future, the only purpose of your study project is to learn how to translate requirements into implementation, how to analyze requirements, how to build conceptual models, how to rationalize the relationships between various concepts, how to design, how to choose the right technology to achieve your design plan, How to test your implementation, how to solve all kinds of problems you encounter (performance, requirements change, etc.). When you actually go into the company for a few years to develop, you will agree with me!

Using Java to find work, the need is Project experience, project experience is to understand the basic process of project development, understanding the project analysis methods, understanding the project design ideas, understanding the project implementation skills, understanding the project testing methods, understanding the project problems in the solution!!!

So, you should know your goal!

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.