Transitioning to Java kickstart your polyglot programming journey by getting a clear understanding of Java

Develop your Java coding skills by exploring object-oriented methodologies, functional programming, software design patterns, and more Purchase of the print or Kindle book includes a free PDF eBook Key Features Get started with programming in Java with this step-by-step guide for experienced program...

Descripción completa

Detalles Bibliográficos
Otros Autores: Fogel, Ken, author (author), Wielenga, Geertjan, author
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham, England : Packt Publishing [2023]
Edición:1st ed
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009742736006719
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright and Credits
  • Contributors
  • About the reviewers
  • Table of Contents
  • Preface
  • Part 1: The Java Development Environment
  • Chapter 1: Understanding Java Distributions
  • Technical requirements
  • A little history
  • What makes Java special?
  • Why are there many distributions of Java?
  • Which Java should you get?
  • How is Java licensed?
  • Why are there so many versions of Java?
  • Installing Java
  • As an admin
  • As a non-admin
  • What is in the box?
  • Compiling and executing a Java program
  • Assembling and packaging a Java application
  • Documenting Java classes
  • REPL
  • Summary
  • Further reading
  • Chapter 2: Code, Compile, and Execute
  • Technical requirements
  • The first program
  • JShell - REPL in Java
  • The two-step compile and execute process - javac and java/javaw
  • Launch Single-File Source-Code Programs
  • For Windows, macOS, and Linux
  • For macOS and Linux - Shebang files
  • Integrated development environments
  • Eclipse Foundation - Eclipse
  • Apache NetBeans
  • Microsoft Visual Studio Code
  • JetBrains IntelliJ IDEA
  • Which IDE should you use?
  • Summary
  • Further reading
  • Chapter 3: The Maven Build Tool
  • Technical requirements
  • Installing Maven
  • Windows
  • Linux
  • macOS
  • Overview of Maven functionality
  • Dependency management
  • Maven plugins
  • Maven project layout
  • Java source code packages
  • The pom.xml configuration file
  • jar - Java archive
  • War - web archive
  • ear - enterprise archive
  • pom - POM
  • The build section
  • Running Maven
  • Command-line Maven
  • Running Maven in an IDE
  • Summary
  • Further reading
  • Part 2: Language Fundamentals
  • Chapter 4: Language Fundamentals - Data Types and Variables
  • Technical requirements
  • Primitive data types
  • Type safety
  • Literal values
  • Integers
  • Floating point
  • Boolean
  • char.
  • A special case - String
  • Naming identifiers
  • Constants
  • Operators
  • Casting
  • Overflow and underflow
  • Wrapper classes
  • The math library
  • Summary
  • Further reading
  • Chapter 5: Language Fundamentals - Classes
  • Technical requirements
  • Class fields
  • Understanding access control
  • Packages
  • The public specifier
  • The private specifier
  • The protected specifier
  • The package specifier
  • Understanding classes
  • constructor and finalize methods
  • Revising the compound interest program
  • Class organization based on functionality
  • Summary
  • Further reading
  • Chapter 6: Methods, Interfaces, Records, and Their Relationships
  • Technical requirements
  • Understanding methods
  • Access control designation
  • Static or non-static designation and the this reference
  • Override permission - final
  • Override required - abstract
  • Return type
  • Method name
  • Parameter variables
  • Annotations
  • Exception handling - throws
  • Thread setting
  • Generic parameters
  • Understanding inheritance
  • The superclass of all objects, the Object class
  • Understanding the class interface
  • Abstract class versus interface
  • Sealed classes and interfaces
  • Understanding the record class
  • Understanding polymorphism
  • Understanding composition in classes
  • Association
  • Aggregation
  • Summary
  • Chapter 7: Java Syntax and Exceptions
  • Technical requirements
  • Understanding coding structures
  • Code blocks
  • Statements
  • Expressions
  • Operators
  • Iteration
  • Decision-making
  • Handling exceptions
  • The stack trace
  • Ending the program
  • The throw and throws statements
  • The finally block
  • Creating your own exception classes
  • Summary
  • Further reading
  • Chapter 8: Arrays, Collections, Generics, Functions, and Streams
  • Technical requirements
  • Understanding the array data structure.
  • Understanding the Collections Framework
  • Using sequential implementations and interfaces
  • ArrayList
  • LinkedList
  • ArrayDeque
  • The Collection interface
  • How to declare a collection
  • Understanding Generics in the Collections Framework
  • Using sequential implementations and interfaces with Generics
  • Understanding Collections Framework map structures
  • HashMap
  • LinkedHashMap
  • TreeMap
  • Understanding functions in Java
  • Using streams in collections
  • Summary
  • Further reading
  • Chapter 9: Using Threads in Java
  • Technical requirements
  • Creating Java native OS threads
  • Extending the Thread class
  • Implementing the Runnable interface
  • Creating a thread pool with ExecutorService
  • Implementing the Callable interface
  • Managing threads
  • Daemon and non-daemon threads
  • Thread priority
  • Preventing race and deadlock conditions in threads
  • Race condition
  • Deadlock condition
  • Creating new virtual threads
  • Summary
  • Further reading
  • Chapter 10: Implementing Software Design Principles and Patterns in Java
  • Technical requirements
  • SOLID software design principles
  • S - Separation of concerns/single responsibility
  • O - Open/closed
  • L - Liskov substitution
  • I - Interface segregation
  • D - Dependency inversion
  • Software design patterns
  • Singleton
  • Factory
  • Adapter
  • Observer
  • Summary
  • Further reading
  • Chapter 11: Documentation and Logging
  • Technical requirements
  • Creating documentation
  • Comments
  • Javadocs
  • Using logging
  • java.util.logging
  • Log4j2
  • Summary
  • Further reading
  • Chapter 12: BigDecimal and Unit Testing
  • Technical requirements
  • Using BigDecimal
  • What is JUnit 5?
  • Testing with JUnit 5
  • Performing parameterized testing
  • Summary
  • Further reading
  • Part 3: GUI and Web Coding in Java.
  • Chapter 13: Desktop Graphical User Interface Coding with Swing and JavaFX
  • Technical requirements
  • A brief history of Java GUIs
  • Financial calculator program design
  • Internationalization - i18n
  • Using the Swing GUI framework
  • Jframe
  • Jpanel
  • Event handlers
  • Document filter
  • Pattern matching with regular expressions
  • Controls and panels
  • Using the JavaFX GUI framework
  • Application
  • PrimaryStage
  • Pane
  • Scene
  • CSS style sheets
  • JavaFX bean
  • BigDecimalTextField
  • Controls
  • Binding
  • Summary
  • Further reading
  • Chapter 14: Server-Side Coding with Jakarta
  • Technical requirements
  • Understanding the role of the Java application server
  • GlassFish 7.0
  • Configuring a web project with Maven
  • Changes to the pom.xml file
  • Understanding what a servlet does and how it is coded
  • What happens when a servlet is requested?
  • How does a servlet access the query string in a request?
  • How does a servlet remember my data?
  • Configuring deployment with the web.xml file
  • Summary
  • Further reading
  • Chapter 15: Jakarta Faces Application
  • Technical requirements
  • Configuring a Faces application
  • Creating an object managed by Context Dependency Injection and validated with Bean Validation
  • FinanceBean
  • Scopes
  • Calculations
  • Using XHTML, Facelets, and Expression Language for rendering pages
  • Deploying a Faces web application
  • Understanding the life cycle of a Faces page
  • Summary
  • Further reading
  • Part 4: Packaging Java Code
  • Chapter 16: Deploying Java in Standalone Packages and Containers
  • Technical requirements
  • Exploring what modular Java is
  • Creating a custom JRE with jlink
  • Packaging with an installer using jpackage
  • Using the Docker container system
  • Working with Docker images
  • Creating a Docker image
  • Publishing an image
  • Summary
  • Further reading
  • Index.
  • Other Books You May Enjoy.