Based on experiences in the field and in the classroom, here are the top 10 things Intertech consultants and instructors have identified that separate experienced and seasoned Java developers from "newbies." Experienced Java developers know and understand these concepts, topics and APIs. Newbies do not know or are weak in these areas.
Few of the items are core to any application, but many are used all the time in every-day applications. Junior developers often use these items without fully understanding what they do, how they work, or what impact is made without them. Java Masters fully understand them and know how and how not to apply them.
1. Serializable
- an understanding of this marker interface usually indicates the developer has experience in I/O, persistence, and/or distributed technologies.
2. XML Namespaces
- an understanding of namespaces usually indicates the developer has experience in XML configuration and/or SOAP based Web services.
3. Default and no argument constructor
- an understanding of what a no argument/default constructor is and when it exists (or doesn't) is important to working with basic Java as well as JavaBean-based API's like Hibernate and Spring.
4. equals() vs. ==
- a concept that indicates a person's understanding of object oriented technology and basic Java. An understanding of different forms of equal is the foundation for also having an understanding of how other things like HashSet and object identity in Hibernate work.
5. JSTL
- now part of the Java EE spec and one of the most widely used tag libraries; one that demonstrates a basic understanding of JSPs and tag libraries.
6. New Java 5 language features
- to include:
- Annotations - a powerful feature added to Java 5 and one that indicates how current a developers skills are. Now used in almost every API from Hibernate to Spring.
- for-each loop - a new loop syntax added in Java 5 that indicates how current a developer's skills are as well as an understanding of basic iteration.
- generics – provide type information to collections and reduce the need for casts in code.
7. Unified Expression Language
- now part of basic JSP development but also used in JSF and Spring and indicates a developer's experience in Web development.
8. Design Patterns
- few people have memorized every pattern, but experienced developers know, understand and use the most popular of the patterns like Singleton, Factory Method, Chain of Responsibility. These patterns permeate most of the popular Java APIs like Hibernate, Spring, JSF, etc. If you understand basic design patterns, you have a better chance and understanding the construction (and often the documentation) of these now-important Java application cornerstones.
9. Regular Expressions
- regular expressions are used in String processing, validators, data converters, Web service processing and many other areas.
10. Runtime vs. Checked exceptions
- exception handling is a basic Java function. Many frameworks have started moving to runtime-based exceptions. Experienced Java developers understand the difference and when try-catch blocks or rethrowing exceptions are required.
If you are new to Java development, after you think you have grasped basic Java development, scan this list and see how you stack up. Not that an understanding of these topics graduates you to "Guru" status, but having these probably puts you in good company to tackle today’s application development. Need some help with these topics?
Take a look at Intertech’s curriculum. Give us a chance to knock off a few of these items from your need-to-know list.
400a0453-49c3-426d-8950-321b2c9e5b10|1|5.0