جاوا JAVA یکی از محبوبترین زبانهای برنامهنویسی دنیا است و بدون اغراق میتوان آن را از کارآمدترین زبانهای برنامهنویسی سطح بالا دانست. ماشین مجازی جاوا (JVM) برنامهای است که بایتکدهای زبان جاوا را مطابق با سیستمعاملی خاص کامپایل کرده و آنها را برای اجرا در سطح سیستمعامل آماده میکند. شعار اصلی جاوا این است: "یک بار بنویس، همه جا اجرا کن". در حقیقت شما یک بار برنامه را مینویسید و به کمک ماشین مجازی جاوا (JVM) آن را در سایر پلتفرمها اجرا میکنید. به همین دلیل است که میگوییم جاوا یک زبان چندسکویی (Cross Platform) است.
Java SE (Standard Edition) که در اصل Java SE API است، به نوعی هسته تمام پلتفرم های جاوا است و به همین دلیل قابلیت های پایه ای دو پلتفرم دیگر، توسط SE فراهم میشود. این پلتفرم که با نام J2SE نیز شناخته شده است، شامل کتابخانه های اصلی زبان برنامه نویسی جاوا است. مولفههای این پلتفرم، شامل کیت توسعه جاوا (JDK)، محیط زمان اجرای جاوا (JRE) و رابط برنامهنویسی کاربردی (API) این پلتفرم است. کیت توسعه جاوا، شامل JRE، کامپایلرها و اشکال زداهایی است که برای توسعه اپلتها و برنامههای کاربردی موردنیاز است. محیط زمان اجرا هم کتابخانهها، ماشین مجازی جاوا و سایر مولفههای موردنیاز برای اجرای اپلت و برنامههای جاوا را شامل میشود. از ویژگیهای این پلتفرم، قابلیت استفاده در ساخت برنامه های گرافیکی و بازی ها، کیت های درون تلفن ها و لوازم خانگی و برنامه های دسکتاپ و برنامه های همگانی است.
علاقه مندان و متخصصان این حوزه، می توانند در این دوره ی تخصصی شرکت نموده، پس از اخذ آموزش های تخصصی و تجربه عملی، مدرک معتبر دریافت نمایند.
محتوا: آموزش java core
هدف : کسب دانش و توانایی برنامه نویسی به زبان جاوا
مدت دوره : ۶۰ ساعت
پیش نیاز: علاقه به تولید برنامه های به زبان جاوا
زمان برگزاری: لطفا به تقویم آموزشی مراجعه فرمایید.
سرفصل دوره:
The History and Evolution of Java •
o Why open source
o What is Java
o Features of Java
o What happens at compile time
o Java Development Kit
o Java Runtime Environment
o Installing java
o Installing intellij
o Comments
o First program
o Compile java (javac)
o Classes vs. Files
o Overview Jvm internals
Data Types, Variables and Arrays •
o The Primitive Types
o Reference Types
o Declaring Multiple Variables
o Identifiers
o Local Variables
o Instance and Class Variables
o Understanding Variable Scope
o Literals
o Declaring a Variable
o Dynamic Initialization
o The Scope and Lifetime of Variables
o Type Conversion and Casting
o Arrays
o One-Dimensional Arrays
o Multidimensional Arrays
o Alternative Array Declaration Syntax
o Sorting
o Searching
Operators •
o Arithmetic Operators
o Numeric Promotion
o Increment and Decrement Operators
o Logical Complement and Negation Operators
o Assignment Operators
o Logical Operators
o Equality Operators
o Relational Operators
o Short-Circuit Logical Operators
o The ? Operator
o Operator Precedence
Control Statements •
o If
o if-else-if
o switch
o while
o do-while
o for
o For-Each
o Enhanced for
o Using break
o Using continue
o Return
Introducing Classes •
o Class Fundamentals
o The General Form of a Class
o Declaring Objects
o Closer Look at new
o Assigning Object Reference Variables
o Introducing Methods
o Returning a Value
o Constructors
o Parameterized Constructors
o The this Keyword
o Garbage Collection
o The finalize( ) Method
o Stack Class
o Ordering Elements in a Class
Closer Look at Methods and Classes •
o Overloading Methods
o Overloading Constructors
o Using Objects as Parameters
o Closer Look at Argument Passing
o Returning Objects
o Recursion
o Introducing Access Control
o Understanding static
o Introducing final
o Arrays Revisited
o Nested and Inner Classes
o Exploring the String Class
o Using Command-Line Arguments
o Varargs: Variable-Length Arguments
o Overloading Vararg Methods
o Varargs and Ambiguity
o Order of Initialization
o Instance Initializer Blocks
o Static Imports
o Static Initialization
o Creating Immutable Classes
o Casting Objects
o Clone
o autoCloseAble
OOPs Concepts •
o Object
o Class
o Inheritance
o Polymorphism
o Abstraction
o Encapsulation
Java Naming conventions •
Inheritance •
o Inheritance Basics
o Types of inheritance
o Member Access and Inheritance
o Superclass Variable Can Reference a Subclass Object
o Using super
o Using super to Call Superclass Constructors
o Creating a Multilevel Hierarchy
o Method Overriding
o Dynamic Method Dispatch
o Applying Method Overriding
o Using Abstract Classes
o Using final with Inheritance
o Using final to Prevent Overriding
o Using final to Prevent Inheritance
o The Object Class
o Aggregation in Java
Interfaces •
o Interfaces
o Defining an Interface
o Implementing Interfaces
o Accessing Implementations Through Interface References
o Partial Implementations
o Nested Interfaces
o Applying Interfaces
o Variables in Interfaces
o Interfaces Can Be Extended
o Default Interface Methods
o Multiple Inheritance Issues
o Use static Methods in an Interface
o Final Thoughts on Packages and Interfaces
Packages •
o Packages
o Defining a Package
o Finding Packages and CLASSPATH
o Access Protection
o Importing Packages
Exception Handling •
o Exception-Handling Fundamentals
o Exception Types
o Uncaught Exceptions
o Using try and catch
o Multiple catch Clauses
o Nested try Statements
o Throw
o Throws
o Finally
o Java’s Built-in Exceptions
o Creating Your Own Exception Subclasses
o Chained Exceptions
Functional Programming •
o Using Variables in Lambdas
o Working with Built-In Functional Interfaces
o Implementing Supplier
o Implementing Consumer and BiConsumer
o Implementing Predicate and BiPredicate
o Implementing Function and BiFunction
o Implementing UnaryOperator and BinaryOperator
o Checking Functional Interfaces
o Returning an Optional
o Using Streams
o Creating Stream Sources
o Using Common Terminal Operations
o Using Common Intermediate
o Putting Together the Pipeline
o Printing a Stream
o Working with Primitives
o Creating Primitive Streams
o Using Optional with Primitive Streams
o Summarizing Statistics
o Learning the Functional Interfaces for Primitives
o Working with Advanced Stream Pipeline Concepts
o Linking Streams to the Underlying Data
o Chaining Optionals
o Collecting Results
Enumerations, Autoboxing,and Annotations (Metadata) •
o Enumerations
o Enumeration Fundamentals
o The values( ) and valueOf( ) Methods
o Java Enumerations Are Class Types
o Enumerations Inherit Enum
o Type Wrappers
o Autoboxing
o Autoboxing and Methods
o Autoboxing/Unboxing Occurs in Expressions
o Autoboxing/Unboxing Boolean and Character Values
o Autoboxing/Unboxing Helps Prevent Errors
o Annotations (Metadata)
o Annotation Basics
o Specifying a Retention Policy
o Obtaining Annotations at Run Time by Use of Reflection
o Obtaining All Annotations
o The AnnotatedElement Interface
o Using Default Values in annotation
o Marker Annotations
o Single-Member Annotations
o The Built-In Annotations
o Type Annotations
o Repeating Annotations
o Some Restrictions of annotation
Multithreaded Programming and Concurrency •
o Java Thread Model
o Understanding Thread Concurrency
o Creating Threads with the ExecutorService
o Introducing the Single-Thread Executor
o Shutting Down a Thread Executor
o Submitting Tasks
o Waiting for Results
o Scheduling Tasks
o Increasing Concurrency with Pools
o Thread Priorities
o Synchronization
o Messaging
o The Thread Class and the Runnable Interface
o The Main Thread
o Creating a Thread
o Implementing Runnable
o Extending Thread
o Creating Multiple Threads
o Using isAlive( ) and join( )
o Thread Priorities
o Synchronization
o Using Synchronized Methods
o Protecting Data with Atomic Classes
o Improving Access with Synchronized Blocks
o Understanding the Cost of Synchronization
o The synchronized Statement
o Interthread Communication
o Deadlock
o ThreadLocal
o Suspending, Resuming, and Stopping Threads
o Obtaining A Thread’s State
o Using Concurrent Collections
o Working with Parallel Streams
o Managing Concurrent Processes
o Identifying Threading Problems
I/O, file •
o File
o Path and Path
o Temporary File
o I/O Basics
o Streams
o InputStream
o FileInputStream
o FileOutputStream
o BufferedInputStream
o BufferedOutputStream
o Byte Streams and Character Streams
o The Byte Stream Classes
o The Character Stream Classes
o The Predefined Streams
o Reading Console Input
o Reading Characters
o Reading Strings
o Writing Console Output
o The PrintWriter Class
o Reading and Writing Files
o Automatically Closing a File
o Exploring java.io
o Exploring java nio
o Java Serialization
Generics •
?o What Are Generics
o Generics Work Only with Reference Types
o Generic Types Differ Based on Their Type Arguments
o How Generics Improve Type Safety
o A Generic Class with Two Type Parameters
o The General Form of a Generic Class
o Bounded Types
o Using Wildcard Arguments
o Bounded Wildcards
o Creating a Generic Method
o Generic Constructors
o Generic Interfaces
o Raw Types and Legacy Code
o Generic Class Hierarchies
o Using a Generic Superclass
o A Generic Subclass
o Run-Time Type Comparisons Within a Generic Hierarchy
o Casting
o Overriding Methods in a Generic Class
o Type Inference with Generics
o Erasure
o Bridge Methods
o Ambiguity Errors
o Some Generic Restrictions
o Type Parameters Can’t Be Instantiated
o Restrictions on Static Members
o Generic Array Restrictions
o Generic Exception Restriction
Dates and Times •
o Creating Dates and Times
o Manipulating Dates and Times
o Working with Periods
o Formatting Dates and Times
o Parsing Dates and Times
o Working with Periods
o Working with Durations
Localization •
o Adding Internationalization
o and Localization
o Picking a Locale
o Using a Resource Bundle
o Formatting Numbers
o Formatting Dates and Times
Lambda Expressions •
o Lambda Expression Fundamentals
o Functional Interfaces
o Some Lambda Expression Examples
o Block Lambda Expressions
o Generic Functional Interfaces
o Passing Lambda Expressions as Arguments
o Lambda Expressions and Exceptions
o Lambda Expressions and Variable Capture
o Method References
o Method References to static Methods
o Method References to Instance Methods
o Method References with Generics
o Constructor References
o Predefined Functional Interfaces
Java Networking •
o Networking Concepts
o Socket Programming
o URL class
o URLConnection class
o HttpURLConnection
o InetAddress class
o DatagramSocket class
Java Collections Framework •
o ArrayList
o LinkedList
o .Set
o .HashSet
o .Map
o .HashMap
String Handling •
o Java String
o Java String Methods
Java Regex •
o MatchResult interface
o Matcher class
o Pattern class
o PatternSyntaxException class
Java Documentation Comments •
o Comment & Description
?o What is Javadoc
o The javadoc Tags
Java Reflection API •
Java Unit test (Junit) •
Jasper Report •
Java RMI •
Exploring java.lang •
o Collection framework
o Utility classes
Json , Xml , properties •
o Create, read, write and apply changes to XMS files by JDOM
o Create, read, write and apply changes to json by simpleJson and GSON
o Json application
o Make transactions on Json
o Use Properties in Java and internationalization
o Learn how to manage software communication with multiple DataBase servers through XML
JDBC •
Database and SQL Fundamentals •
o Relational Databases and SQL
o SQL Versions and Code Portability
o Database, Schema, Tables, Columns and Rows
o DDL -- Creating and Managing Database Objects
o DML -- Retrieving and Managing Data
o Sequences
o Stored Procedures
o Result Sets and Cursors
o Using SQL Terminals
JDBC Fundamentals •
?o What is the JDBC API
o JDBC Drivers
o Making a Connection
o Creating and Executing a Statement
o Retrieving Values from a ResultSet
o SQL and Java Datatypes
o SQL NULL Versus Java null
o Creating and Updating Tables
o Handling SQL Exceptions and Proper Cleanup
o Handling SQLWarning
o The JDBC 4.0 Cause Facility
Advanced JDBC •
o SQL Escape Syntax
o Using Prepared Statements
o Using Callable Statements
o Scrollable Result Sets
o Updatable Result Sets
o Transactions
o Commits, Rollbacks, and Savepoints
o Batch Processing
o Alternatives to JDBC
o Getting a Database Connection
o Obtaining a Statement
o Choosing a ResultSet Concurrency Mode
o Executing a Statement
o Getting Data from a ResultSet
o Reading a ResultSet
o Getting Data for a Column
o Closing Database Resources
o Dealing with Exceptions
o ConnectionPool