Click on a date to enlist yourself for this course or click here if no suitable date can be found.
Prerequisites
Delegates should have a good grounding in the Java language and its fundamental constructs. This could be a result of at least 6 months hands-on Java development or possibly less if preceded by appropriate training, such as one of our Java programming courses.
Professional Java development requires a lot more then just knowing the language. A developer should know about unit testing, concurrent programming, performance tuning and a lot of APIs. In this course you will learn Java beyond the language or specific frameworks. The course is for every Java developer that has a fair knowledge of the language and wants to move to the next level.
Unit Testing is a proven technique to improve the quality and design of code. It helps finding bugs early, when they are still easy to fix but they also help you finding design flaws. Unit Tests also provides you automated regression tests, which tell you if changes to code break any existing code. Test Driven Development is a development methodology that integrates writing tests deeply into the development process, utilizing unit testing to the maximum. Unit testing has many advantages, but developers also find it hard to use in real projects. In many cases only the easy to test code is unit tested, leaving the hard code, which has the highest potential for mistakes, untested. You will not only learn to write code using the Test Driven Development, but you will also learn to test all your code, even the hard parts, using more advanced techniques such as mocking. You will also learn to create automated integration tests involving the database and GUI testing using DBUnit and HTTPUnit.
Concurrent programming is one of the hardest topics every developer should know about. In a time dominated by multi core and multi CPU systems, concurrency is everywhere. Programming thread safe code is not easy however, and mistakes can be hard to find. In this course you will learn about the problems of concurrent programming and the techniques to program in a thread safe way. You will learn to leverage the concurrency framework added in Java 5, and to test for thread safeness.
Many developers will have to deal with performance problems sooner or later. Performance problems can have various causes, sometimes directly related to badly implemented code, but often related to external factors such as thread or connection pool sizes or memory leaks. The solution to finding those problems is profiling; seeing what your application is doing at runtime. You will learn to use profiling tools, and will practice solving some common performance problems by profiling and tuning your application.
The course also includes the usage of some advanced APIs and concepts, such as reflection, classloading and object management, regular expressions and JMX. Many developers are not familiar with those APIs, but they can help you writing more flexible and manageable code.
The last subject of the course is tooling for Java development in teams. Continious Integration is a concept that helps your team finding problems early, when they are still easy to fix. The course includes an introduction to Maven for defining and building a project.
For more information about our training solutions and the other services of our Knowledge Center,
contact us by phone: For The Netherlands +31 (0)318 - 50 11 19 - For Belgium +32 (0)15 - 28 63 70 or via e-mail: For The Netherlands: training.nl@infosupport.com, for Belgium training.be@infosupport.com