This course is designed for students familiar with Object Oriented Programming techniques. It covers a large number of advanced topics including software development methodologies using Java tools and APIs, Java core technologies, Java Framework, Java GUIs, Network programming in Java, Java Database Connectivity (JDBC), and Java and XML. The main focus of the course is Advanced Java Technologies and Architecture. Students will learn to use Java technologies in the real world and write numerous, nontrivial programs throughout the curriculum to demonstrate mastery of the concepts discussed in the classroom.
Features and merits of Java Java Environment Java and C++ Application Architecture (Development/Design, Runtime Environment) Security Model Development Kit Tools in JDK Integrated Development Environment Depreciation with Java Java API Documentation.
Overview Environment Setup Basic Syntax Object & Classes Basic Data types Variable Types Modifier Types Basic Operators Loop Control Decision Making Numbers Characters Strings Arrays Date & Time Regular Expressions Methods Files and I/O Exceptions
OOPS Paradigm Basic concepts Objects, Classes, Encapsulation, Abstraction, Inheritance, Polymorphism, Constructors Comparison of Object Oriented Languages
Develop code that uses methods. Develop code that declares both static and non-static methods, and if appropriate use method names that adhere to the JavaBeans naming standards. Also develop code that declares and uses a variable-length argument list. Given a code example, determine if a method is correctly overriding or overloading another method, and identify legal return values (including covariant returns), for the method.
Define classes and super classes, develop constructors for one or more of the classes. Understand a class declaration, determine if a default constructor will be created, and if so, determine the behavior of that constructor. Understand a nested or non-nested class listing, write code to instantiate the class.
Wrapper classes (such as Boolean, Character, Double, Integer, etc.), and/or autoboxing & unboxing The String, StringBuilder, and StringBuffer classes. Standard J2SE APIs dates, numbers, and currency values for a specific locale; and, given a scenario, determine the appropriate methods to use if you want to use the default locale or a specific locale. Describe the purpose and use of the java.util.Locale class.Advantages of localization,Resource bundles, java.util and java.util.regex packages to format or parse strings or streams. Pattern and Matcher classes and the String.split method. Recognize and use regular expression patterns for matching (limited to: . (dot), * (star), + (plus), ?, \d, \s, \w, , ()). Formatter and Scanner classes and the PrintWriter.format/printf methods. Recognize and use formatting parameters (limited to: %b, %c, %d, %f, %s) in format strings.
Develop code that makes use of assertions, and distinguish appropriate from inappropriate uses of assertions. Develop code that makes use of exceptions and exception handling clauses (try, catch, finally), and declares methods and overriding methods that throw exceptions. Recognize the effect of an exception arising at a specified point in a code fragment. Note that the exception may be a runtime exception, a checked exception, or an error. Understand which of these are thrown by the virtual machine and recognize situations in which others should be thrown programatically.
Given a design scenario, determine which collection classes and/or interfaces should be used to properly implement that design, including the use of the Comparable interface. Distinguish between correct and incorrect overrides of corresponding hashCode and equals methods, and explain the difference between == and the equals method. Write code that uses the generic versions of the Collections API, in particular, the Set, List, and Map interfaces and implementation classes. Recognize the limitations of the non-generic Collections API and how to refactor code to use the generic versions. Type inference(diamond).Stack and Deque. Write code that uses the NavigableSet and NavigableMap interfaces. Develop code that makes proper use of type parameters in class/interface declarations, instance variables, method arguments, and return types; and write generic methods or methods that make use of wildcard types and understand the similarities and differences between these two approaches. Use capabilities in the java.util package to write code to manipulate a list by sorting, performing a binary search, or converting the list to an array. Use capabilities in the java.util package to write code to manipulate an array by sorting, performing a binary search, or converting the array to a list. Use the java.util.Comparator and java.lang.Comparable interfaces to affect the sorting of lists and arrays. Furthermore, recognize the effect of the natural ordering of primitive wrapper classes and java.lang.String on sorting.
Given a scenario involving navigating file systems, reading from files, writing to files, or interacting with the user, Directory and File operations,managing file system attributes .develop the correct solution using the following classes (sometimes in combination), from java.io: BufferedReader, BufferedWriter, File, FileReader, FileWriter, PrintWriter, and Console. Develop code that serializes and/or de-serializes objects using the following APIs from java.io: DataInputStream, DataOutputStream, FileInputStream, FileOutputStream, ObjectInputStream, ObjectOutputStream and Serializable.
What are Threads?,write code to define, instantiate, and start new threads using both java.lang.Thread and java.lang.Runnable. Identify the thread properties,Recognize the states in which a thread can exist, and identify ways in which a thread can transition from one state to another-life cycle of a thread. Given a scenario, write code that makes appropriate use of object locking to protect static or instance variables from concurrent access problems Synchronization-when to use synchronized blocks of codeIdentify the scenario in which deadlock is generated,Immutable Objects,The Java.util.concurrency Package,Using an Executor Service.Given a scenario, write code that makes appropriate use of wait, notify, or notifyAll.
Describe the JFC Swing Technology ,Describe the GUI building blocks: containers, components, and layout managers,Describe the swing single threaded model ,Build a GUI using swing components ,Learn in detail about components like Tabbed panes,Jbutton,Check Boxes,Radio Buttons,JScrollPane,Trees etc
Define events and event handling ,Write code to handle events that occur in a GUI Describe the concept of adapter classes, including how and when to use them Determine the user action that originated the event from the event object details Identify the appropriate listener interface for a variety of event types Create the appropriate event handler methods for a variety of event types Use inner classes and anonymous classes in event handling Understand Swing Worker thread and its effect on the GUI performance
Develop code to set up the network connection ,Use ServerSocket and Socket classes for implementation of TCP/IP clients and servers.Describe URL and URLConnection classes
JDBC-JDBC design goals and structure-writing data base programs-driver managers- making connections-uerying data base-prepared statement-callable statement-result sheet JDBC implementation- connecting to JDBC database Using mysql, RowSet 1.1 RowSetProvider and RowSetFactory,The DAO Pattern and JDBC.
Java servlets -Java servlet development kit-servlet life cycle-generic & http servlet-servlets with Netscape web server-writing servlets-handling GET & POST requests-Javax.servlet package-javax.servlets.http packager-servlet program to web server communication-retrieving from data in servlet-servlet program to access database- cookies.
JDBC-distributed application-remote procedure call- distributed object model-remote method interface-RMI architecture-packages for RMI-Java.rmi package- (registry, server & activation)-building RMI application.
Applet Architecture,Understanding the simple Applet Display Methods ,Life Cycle methods of an applet ,Develop code to impement Thread in Applet, Understanding the HTML Applet Tag,Develop code to pass parameters to Applet Describe getdocumentBase() and getCodebase()
Diamond Operator, Using strings in switch statements, Automatic resource management Numeric literals with underscores, Improved exception handling, File change notifications
Overview,Setting up the development environment.,Setting up the Test Server.,Getting Started with Web Applications,
Introduction,The JSP Request Response cycle,Structure of a jsp page,JSP scripting elements and directives,criplets, actions and implicit JSP objects.
Introduction to JavaServer Faces Technology,Introduction to Facelets,What is Expression Language ,Using JavaServer Faces Technology in Web Pages,Using Converters, Listeners, and Validators,Developing with JavaServer Faces Technology JavaServer Faces Technology: Advanced Concepts,Using Ajax with JavaServer Faces Technology,Using Composite Components in web applications,Creating Custom UI Components ,Configuring JavaServer Faces Applications,Introduction to Java Servlet Technology,Uploading Files with Java Servlet Technology,Internationalizing and Localizing Web Applications
Introduction to Web Services,Building Web Services with JAX-WS,Building RESTful Web Services with JAX-RS
Enterprise Beans,Getting Started with Enterprise Beans,Configurations for Running the Enterprise Bean,Working with Message-Driven Beans,Using the Embedded Enterprise Bean Container
Introduction to Contexts and Dependency Injection for the Java EE Platform,Working with the Basic Contexts and Dependency Injection,Learning Contexts and Dependency Injection for the Java EE Platform,Explain the Advanced Contexts and Dependency Injection
Introduction to the Java Persistence API,Working with the Persistence API,The Details of Java Persistence Query Language Using the Criteria API to Create Queries,Creating and Using String-Based Criteria Queries,Controlling Concurrent Access to Entity Data with Locking,Improving the Performance of Java Persistence API Applications by Setting a Second-Level Cache
Introduction to Security in the Java EE Platform,Securing Web Applications,Securing Enterprise Applications
Introduction to Java EE Supporting Technologies,Working with Transactions,Explaining Resources and Resource Adapters Working withthe Resource Adapter ,Java Message Service Concepts,Java Message Service Details,Bean Validation: How to implement ?Using Java EE Interceptors
Overview,Architecture,Environment Setup,IoC Containers,Bean Definition,Bean Scopes,Bean Life Cycle,Bean Post Processors,Bean Definition Inheritance,Dependency Injection,Injecting Inner Beans,Injecting Collection,Spring Beans Auto-Wiring,Annotation Based Configuration,Java Based Configuration,Event Handling in Spring,Custom Events in Spring AOP with Spring Framework,Spring JDBC Framework,Transaction Management,Spring Web MVC Framework,Spring Logging with Log4J,Developer's Best Practices,Computer Glossary
Home,Basic MVC Architecture, Overview, Environment Setup, Architecture, Examples, Configuration, Actions, Interceptors Result Types, Value Stack/OGNL, File Uploads, Database Access, Sending Email, Validations, Localization, Type Conversion, Themes/Templates, Exception Handling, Annotations
Control Tags, Data Tags, Form Tags, Ajax Tags
Spring, Tiles, Hibernate
Hibernate Architecture,Hibernate Application configurations,Hibernate in Netbeans IDE,Understanding Hibernate O/R Mapping,Understanding Hibernate element,Using Hibernate to generate id incrementally
Preparing table for HQL ,Developing POJO class ,HQL from Clause ,HQL Select Clause ,HQL Where Clause ,HQL Group By Clause ,HQL Order By
Introduction to GWT, GWT Components, Comparison with other frameworks.
Introduction to the development environment, Setting up the environment, Starting the coding process developing simple gwt applications.
Module descriptors, Public resources, Client-side code, Server-side code Development samples , using descriptors, and implementing the client server achitechture
Deployment and hosting details, configuring server for GWT
using design technologies with GWT
familiarising the widget library
widgets in detail, Form widgets,Complex widgets, Custom Widgets
designing and implementing the layouts
Event handling in GWT
UIBinder, RPC Communication, JUnit Integration, Debug Application,Internationalization, History Class, Bookmark Support, Logging Framework