|
|
|
|
LEADER |
10101nmm a2200397 u 4500 |
001 |
EB001928152 |
003 |
EBX01000000000000001091054 |
005 |
00000000000000.0 |
007 |
cr||||||||||||||||||||| |
008 |
210123 ||| eng |
020 |
|
|
|a 9781786464514
|
050 |
|
4 |
|a QA76.73.J38
|
100 |
1 |
|
|a Verhas, Peter
|
245 |
0 |
0 |
|a Java 9 programming by example
|b your guide to software development
|c Peter Verhas
|
246 |
3 |
1 |
|a Java nine programming by example
|
260 |
|
|
|a Birmingham, UK
|b Packt Publishing
|c 2017
|
300 |
|
|
|a 1 volume
|b illustrations
|
505 |
0 |
|
|a HTTP methods -- Status codes -- HTTP/2.0 -- Cookies -- Client server and web architecture -- Writing servlets -- Hello world servlet -- Java Server 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 9 logging -- Logging practice -- Other technologies -- Summary -- Chapter 7: 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 test -- Application test -- Servlet filters -- Audit logging and AOP -- Dynamic proxy-based AOP -- Summary -- Chapter 8: 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 annotations -- JDK annotations -- Using reflection -- Getting annotations -- Invoking methods -- Setting fields -- Functional programming in Java -- Lambda -- Streams -- Functional interfaces -- Method references -- Scripting in Java 9 -- Summary -- Chapter 9: 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
|
505 |
0 |
|
|a Cover -- Copyright -- Credits -- About the Author -- About the Reviewer -- www.PacktPub.com -- Customer Feedback -- Table of Contents -- Preface -- Chapter 1: Getting Started with Java 9 -- Getting started with Java -- Installing Java -- Installation on Windows -- Installation on MAC OS X -- Installation on Linux -- Setting JAVA_HOME -- Executing jshell -- Looking at the byte code -- 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 -- Build the code and run it -- Debugging Java -- Summary -- Chapter 2: 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 -- Chapter 3: Optimizing the Sort -- Making Code Professional -- The general sorting program -- A brief overview of various sorting algorithms -- Quick sort -- Project structure and build tools -- Maven dependency management -- Code the sort -- Creating the interfaces -- Creating BubbleSort -- Amending the interfaces -- Architectural considerations -- Creating unit tests -- Adding JUnit as dependency -- Writing the BubbleSortTest class -- Good unit tests -- A good unit test is readable
|
505 |
0 |
|
|a Unit tests are fast -- Unit tests are deterministic -- Assertions should be as simple as possible -- Unit tests are isolated -- Unit tests cover the code -- Refactor 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 -- Chapter 4: Mastermind -- Creating a Game -- The Game -- The model of the game -- Java collections -- Interface collection -- Set -- Hash functions -- Method equals -- Method hashCode -- 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 -- Chapter 5: 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 -- ForkJoinPool -- Variable access -- The CPU heartbeat -- Volatile variables -- Synchronized block -- Wait and notify -- Lock -- Condition -- ReentrantLock -- ReentrantReadWriteLock -- Atomic classes -- BlockingQueue -- LinkedBlockingQueue -- LinkedBlockingDeque -- ArrayBlockingQueue -- LinkedTransferQueue -- IntervalGuesser -- ParallelGamePlayer -- Microbenchmarking -- Summary -- Chapter 6: Making Our Game Professional -- Do it as a Webapp -- Web and network -- IP -- TCP/IP -- DNS -- The HTTP protocol
|
505 |
0 |
|
|a Implementing inventory -- Summary -- Chapter 10: 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 -- Project alive -- Maturity -- Number of users -- The -- Continuous integration and deployment -- Release management -- Code repository -- Walking up the ladder -- Summary -- Index
|
653 |
|
|
|a Java (Langage de programmation)
|
653 |
|
|
|a Java (Computer program language) / http://id.loc.gov/authorities/subjects/sh95008574
|
653 |
|
|
|a COMPUTERS / Programming Languages / Java / bisacsh
|
653 |
|
|
|a Java (Computer program language) / fast
|
041 |
0 |
7 |
|a eng
|2 ISO 639-2
|
989 |
|
|
|b OREILLY
|a O'Reilly
|
015 |
|
|
|a GBB790373
|
776 |
|
|
|z 9781786464514
|
776 |
|
|
|z 9781786468284
|
776 |
|
|
|z 1786464519
|
856 |
4 |
0 |
|u https://learning.oreilly.com/library/view/~/9781786468284/?ar
|x Verlag
|3 Volltext
|
082 |
0 |
|
|a 005.133
|
520 |
|
|
|a Get the steps you need to discover the world of Java 9 programming using real-world examples About This Book We bridge the gap between "learning" and "doing" by providing real-world examples that will improve your software development Our example-based approach will get you started quickly with software programming, get you up-to-speed with Java 9, and improve your Java skills This book will show you the best practices of Java coding and improve your productivity Who This Book Is For This book is for anyone who wants to learn the Java programming language. You are expected to have some prior programming experience with another language, such as JavaScript or Python, but no knowledge of earlier versions of Java is assumed.
|
520 |
|
|
|a You will be able to use the Java runtime tools, understand the Java environment, and create Java programs. We then cover more simple examples to build your foundation before diving to some complex data structure problems that will solidify your Java 9 skills. With a special focus on modularity and HTTP 2.0, this book will guide you to get employed as a top notch Java developer. By the end of the book, you will have a firm foundation to continue your journey towards becoming a professional Java developer. Style and approach Throughout this book, our aim is to build Java programs. We will be building multiple applications ranging from simpler ones to more complex ones. Learning by doing has its advantages as you will immediately see the concepts explained in action
|
520 |
|
|
|a What You Will Learn Compile, package and run a trivial program using a build management tool Get to know the principles of test-driven development and dependency management Separate the wiring of multiple modules from the application logic into an application using dependency injection Benchmark Java execution using Java 9 microbenchmarking See the workings of the Spring framework and use Java annotations for the configuration Master the scripting API built into the Java language and use the built-in JavaScript interpreter Understand static versus dynamic implementation of code and high-order reactive programming in Java In Detail This book gets you started with essential software development easily and quickly, guiding you through Java's different facets. By adopting this approach, you can bridge the gap between learning and doing immediately. You will learn the new features of Java 9 quickly and experience a simple and powerful approach to software development.
|