Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Title Page Copyright and Credits
Java Projects Second Edition
Packt Upsell
Why subscribe? PacktPub.com
Contributors
About the author About the reviewer Packt is searching for authors like you
Acknowledgments Preface
Who this book is for What this book covers To get the most out of this book
Download the example code files Download the color images Conventions used
Get in touch
Reviews
Getting Started with Java 11
Getting started with Java
Version numbers
Installing Java
Installation on Windows Installation on macOS Installation on Linux Setting JAVA_HOME
Executing jshell
Looking at the bytecode
Packaging classes into a JAR file Managing the running Java application Using an IDE
NetBeans Eclipse IntelliJ IDE services
IDE screen structure Editing files Managing projects Building the code and running it Debugging Java
Summary
The First Real Java Program - Sorting Names
Getting started with sorting
Bubble sort
Getting started with project structure and build tools
Make Ant
Installing Ant Using Ant
Maven
Installing Maven Using Maven
Gradle
Installing Gradle
Setting up the project with Maven Coding the sort Understanding the algorithm and language constructs
Blocks Variables Types Arrays Expressions Loops Conditional execution Final variables Classes Inner, nested, local, and anonymous classes Packages Methods Interfaces Argument passing Fields Modifiers Object initializers and constructors
Compiling and running the program Summary
Optimizing the Sort - Making Code Professional
The general sorting program A brief overview of various sorting algorithms
Quicksort
Project structure and build tools
Maven dependency management
Coding the sort
Creating the interfaces Creating BubbleSort Architectural considerations
Creating unit tests
Adding JUnit as a dependency Writing the BubbleSortTest class Good unit tests
A good unit test is readable Unit tests are fast Unit tests are deterministic Assertions should be as simple as possible Unit tests are isolated Unit tests cover the code Refactoring the test
Collections with wrong elements Handling exceptions Generics Test-Driven Development Implementing QuickSort
The partitioning class Recursive sorting Non-recursive sorting Implementing the API class
Creating modules
Why modules are needed What is a Java module?
Summary
Mastermind - Creating a Game
The game The model of the game Java collections
Interface collection Set
Hash functions The equals method The hashCode method Implementing equals and hashCode HashSet EnumSet LinkedHashSet
SortedSet NavigableSet
TreeSet
List
LinkedList ArrayList
Queue Deque Map
HashMap IdentityHashMap
Dependency injection Implementing the game
ColorManager The class color JavaDoc and code comments Row Table Guesser
UniqueGuesser GeneralGuesser
The Game class Creating an integration test Summary
Extending the Game - Run Parallel, Run Faster
How to make Mastermind parallel Refactoring Processes Threads Fibers java.lang.Thread Pitfalls
Deadlocks Race conditions Overused locks Starving
ExecutorService
Completable future ForkJoinPool
Variable access The CPU heartbeat Volatile variables Synchronized block Wait and notify Lock
Condition ReentrantLock ReentrantReadWriteLock
Atomic variables BlockingQueue
LinkedBlockingQueue LinkedBlockingDeque ArrayBlockingQueue LinkedTransferQueue
IntervalGuesser ParallelGamePlayer Microbenchmarking Summary
Making Our Game Professional - Do it as a Web App
Web and network
IP TCP/IP DNS
The HTTP protocol
HTTP methods Status codes
HTTP/2 Cookies Client server and web architecture Writing a servlet
Hello world servlet
JavaServer Pages HTML, CSS, and JavaScript Mastermind servlet
Storing state HTTP session Storing state on the client Dependency injection with Guice The MastermindHandler class Storing state on the server The GameSessionSaver class
Running the Jetty web servlet Logging
Configurability Performance Log frameworks Java logging Logging practice
Other technologies Summary
Building a Commercial Web Application Using REST
The MyBusiness web shop Sample business architecture Microservices Service interface design JSON REST Model View Controller Spring framework
Architecture of Spring Spring core
Service classes Compiling and running the application Testing the application
Integration tests Application tests
Servlet filters Audit logging and AOP Dynamic proxy-based AOP Summary
Extending Our E-Commerce Application
The MyBusiness ordering Setting up the project Order controller and DTOs Consistency checker Annotations
Annotation retention Annotation target Annotation parameters Repeatable annotations Annotation inheritance @Documented annotation JDK annotations
Using reflection
Getting annotations Invoking methods Setting fields
Functional programming in Java
Lambda Streams Functional interfaces Method references
Scripting in Java Summary
Building an Accounting Application Using Reactive Programming
Reactive... what? Reactive programming in a nutshell Reactive systems
Responsive Resilient Elastic Message-driven Back-pressure
Reactive streams Reactive programming in Java
Implementing the inventory
Summary
Finalizing Java Knowledge to a Professional Level
Java deep technologies
Java agent Polyglot programming
Polyglot configuration Polyglot scripting Business DSL Problems with polyglot
Annotation processing
Programming in the enterprise
Static code analysis Source code version-control Software versioning Code review Knowledge base Issue tracking Testing
Types of tests Test automation Black box versus white box
Selecting libraries
Fit for the purpose License Documentation An alive project Maturity Number of users The "I like it" factor
Continuous integration and deployment Release management The code repository Walking up the ladder
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion