Java Fundamentals

Java Fundamentals

Богатата и уникална архитектура на Java дава възможност на софтуерните разработчици да създават приложения, които да работят лесно и стабилно на различни платформи. В този курс вие ще придобиете знания и умения с Java и Swing. Ще се научите да създавате богати графични приложения, да съхранявате и извличате данни от файлове, да работите с Java колекции и да създавате Applet-и. Ще се запознаете с клиент/сървър приложения, JSF и Web Services.

Ще се научите да:

  • Разработвате богати графични приложения (GUI) със Swing
  • Изграждате клиент/сървър приложения
  • Създавате заявки на основата на SQL и да работите с бази от данни
  • Ползвате JSF и Web Services
  • Създавате Applet-и
  • Обработвате събития в графичния потребителски интерфейс (GUI) – клавиши, мишка и др.
  • Използвате колекции за лесна обработка на сложни данни
  • Използвате файлове за четене и запис на данни
  • Обработвате run time грешки чрез изключения
  • Работите с регулярни изрази и XML
  • Прилагате нишки (Multithreading)

Програма на курса

1.GUI Components: Part 1.

  • Java’s Nimbus Look-and-Feel
  • Simple Input/Output with JOptionPane
  • Displaying Text and Images (Icons)
  • Text Fields
  • Event Handling with Nested Classes
  • Common GUI Event Types and Listener Interfaces
  • JButton
  • JCheckBox
  • JRadioButton
  • JComboBox
  • Using an Anonymous Inner Class for Event Handling
  • JList
  • Multiple-Selection Lists
  • Mouse Event Handling
  • Adapter Classes
  • JPanel Subclass for Drawing with the Mouse
  • Key Event Handling
  • FlowLayout
  • BorderLayout
  • GridLayout
  • Using Panels to Manage More Complex Layouts
  • JTextArea

2. Exception Handling.

  • Handling Arithmetic Exceptions and Input Mismatch Exceptions
  • When to Use Exception Handling
  • Java Exception Hierarchy
  • finally Block
  • Stack Unwinding
  • Chained Exceptions
  • Declaring New Exception Types
  • Preconditions and Postconditions
  • Assertions
  • Handling Multiple Exceptions in One catch
  • Automatic Resource Deallocation

3. Regular Expressions and Working with XML

  • The regular expressions language – literals and meta-characters, character classes, quantifiers, grouping characters, etc.
  • Regular expressions in Java
  • Searching, extracting, validating, splitting and replacing text by regular expressions
  • XML
  • Parsing XML

4. Files, Streams and Object Serialization.

  • Files and Streams
  • Class File
  • Text Files - creating, reading, updating
  • Object Serialization
  • Creating a File Using Object Serialization
  • Reading and Deserializing Data from a File
  • Additional java.io Classes
  • Opening Files with JFileChooser

5. Generic Collections.

  • CollectionsOverview
  • Type-Wrapper Classes for Primitive Types
  • Autoboxing and Auto-Unboxing
  • Interface Collection and Class Collections
  • Lists
  • ArrayList and Iterator
  • LinkedList
  • Collections Methods - sort, shuffle, reverse, fill, copy, max, min, binarySearch, addAll, frequency and disjoint
  • Stack Class of Package java.util
  • Class PriorityQueue and Interface Queue
  • Sets
  • Maps
  • Properties Class
  • Synchronized Collections
  • Unmodifiable Collections
  • Abstract Implementations

6. Generic Classes and Methods.

  • Generic Methods: Implementation and Compile-Time Translation
  • Methods That Use a Type Parameter as the Return Type
  • Overloading Generic Methods
  • Generic Classes
  • Raw Types
  • Wildcards in Methods That Accept Type Parameters
  • Generics and Inheritance: Notes

7. Applets.

  • Sample Applets Provided with the JDK
  • Simple Java Applet: Drawing a String
  • Executing WelcomeApplet in the appletviewer
  • Executing an Applet in a Web Browser
  • Applet Life-Cycle Methods
  • Initialization with Method init
  • Sandbox Security Model

8. GUI Components: Part 2.

  • JSlider
  • Windows: Additional Notes
  • Using Menus with Frames
  • JPopupMenu
  • Pluggable Look-and-Feel
  • JDesktopPane and JInternalFrame
  • JTabbedPane
  • Layout Managers: BoxLayout and GridBagLayout

9. Multithreading. Multithreading with GUI.

  • Thread States: Life Cycle of a Thread
  • Creating and Executing Threads with Executor Framework
  • Thread Synchronization
  • Unsynchronized Data Sharing
  • Synchronized Data Sharing—Making Operations Atomic
  • Producer/Consumer Relationship without Synchronization
  • Producer/Consumer Relationship: ArrayBlockingQueue
  • Producer/Consumer Relationship with Synchronization
  • Producer/Consumer Relationship: Bounded Buffers
  • Producer/Consumer Relationship: The Lock and Condition Interfaces
  • Concurrent Collections Overview
  • Multithreading with GUI
  • Performing Computations in a Worker Thread
  • Processing Intermediate Results with SwingWorker

10. Networking.

  • Manipulating URLs
  • Reading a File on a Web Server
  • Establishing a Simple Server Using Stream Sockets
  • Establishing a Simple Client Using Stream Sockets
  • Client/Server Interaction with Stream Socket Connections
  • Client/Server Tic-Tac-Toe Using a Multithreaded Server

11. Accessing Databases with JDBC.

  • Relational Databases
  • SQL
  • Basic SELECT Query
  • WHERE Clause
  • ORDER BY Clause
  • Merging Data from Multiple Tables: INNER JOIN
  • INSERT Statement
  • UPDATE Statement
  • DELETE Statement
  • Manipulating Databases with JDBC
  • Connecting to and Querying a Database
  • RowSet Interface
  • Java DB/Apache Derby
  • PreparedStatements
  • Stored Procedures
  • Transaction Processing

12. JavaServer™ Faces Web Apps.

  • Multitier Application Architecture
  • Model-View-Controller Architecture of JSF Apps
  • Common JSF Components
  • Validation Using JSF Standard Validators
  • Session Tracking
  • Accessing Databases in Web Apps
  • Ajax
  • Adding Ajax Functionality to the Validation App

13. Web Service Basics.

  • SimpleObject Access Protocol (SOAP)
  • Representational State Transfer (REST)
  • JavaScript Object Notation (JSON)
  • Publishing and Consuming SOAP-Based Web Services
  • Publishing and Consuming REST-Based XML Web Services
  • Publishing and Consuming REST-Based JSON Web Services
  • Session Tracking in a SOAP Web Service
  • Consuming a Database-Driven SOAP Web Services

За записване и/или въпроси, свържете се с нас.