Atjaunināt sīkdatņu piekrišanu

E-grāmata: Exploring Java 9: Build Modularized Applications in Java

  • Formāts: PDF+DRM
  • Izdošanas datums: 01-Dec-2017
  • Izdevniecība: APress
  • Valoda: eng
  • ISBN-13: 9781484233306
  • Formāts - PDF+DRM
  • Cena: 23,78 €*
  • * ši ir gala cena, t.i., netiek piemērotas nekādas papildus atlaides
  • Ielikt grozā
  • Pievienot vēlmju sarakstam
  • Šī e-grāmata paredzēta tikai personīgai lietošanai. E-grāmatas nav iespējams atgriezt un nauda par iegādātajām e-grāmatām netiek atmaksāta.
  • Formāts: PDF+DRM
  • Izdošanas datums: 01-Dec-2017
  • Izdevniecība: APress
  • Valoda: eng
  • ISBN-13: 9781484233306

DRM restrictions

  • Kopēšana (kopēt/ievietot):

    nav atļauts

  • Drukāšana:

    nav atļauts

  • Lietošana:

    Digitālo tiesību pārvaldība (Digital Rights Management (DRM))
    Izdevējs ir piegādājis šo grāmatu šifrētā veidā, kas nozīmē, ka jums ir jāinstalē bezmaksas programmatūra, lai to atbloķētu un lasītu. Lai lasītu šo e-grāmatu, jums ir jāizveido Adobe ID. Vairāk informācijas šeit. E-grāmatu var lasīt un lejupielādēt līdz 6 ierīcēm (vienam lietotājam ar vienu un to pašu Adobe ID).

    Nepieciešamā programmatūra
    Lai lasītu šo e-grāmatu mobilajā ierīcē (tālrunī vai planšetdatorā), jums būs jāinstalē šī bezmaksas lietotne: PocketBook Reader (iOS / Android)

    Lai lejupielādētu un lasītu šo e-grāmatu datorā vai Mac datorā, jums ir nepieciešamid Adobe Digital Editions (šī ir bezmaksas lietotne, kas īpaši izstrādāta e-grāmatām. Tā nav tas pats, kas Adobe Reader, kas, iespējams, jau ir jūsu datorā.)

    Jūs nevarat lasīt šo e-grāmatu, izmantojot Amazon Kindle.

Discover all the new features and changes in Java 9, including module systems—JPMS or Project Jigsaw. This book covers the whole Java application development life cycle. You'll review all the important concepts, including module descriptor, unnamed module, automatic module, and command line tools.

Exploring Java 9 also serves as a practical guide for migration to module systems. Code samples from real-world scenarios solidify a foundation for learning and development and allow you to apply best practices in actual development.

Additionally, you'll learn about concurrency, ECMAScript 6 features in Nashorn and Parser API, stack-walking API, Stream and Optional, utilities classes, and I/O. And it’s now possible to build modularized applications in Java. You'll see how JPMS affects not only the JDK itself, but also applications that are developed upon it.

What You'll Learn

• Build modularized applications in Java
• Migrate to module systems
• Master enhanced method handles

Who This Book Is For
Java developers with basic development skills
About the Author xiii
About the Technical Reviewer xv
Chapter 1 Introduction
1(6)
Installation
1(1)
IDE
2(2)
Intellij IDEA
2(1)
Eclipse
2(2)
Build Tools
4(1)
Gradle
4(1)
Apache Maven
4(1)
Javac and Java
4(1)
Docker
5(1)
CI Builds
6(1)
Summary
6(1)
Chapter 2 The Module System
7(50)
Module Introduction
8(1)
Sample Application
8(1)
Module Declaration
9(6)
Requires and exports
9(1)
Transitive Dependencies
9(3)
Static Dependencies
12(1)
Services
12(2)
Qualified Exports
14(1)
Opening Modules and Packages
14(1)
Working with Existing Code
15(2)
Unnamed Modules
15(1)
Automatic Modules
16(1)
JDK Tools
17(10)
Module Paths
17(1)
Module Version
18(1)
The Main Module
18(1)
Root Modules
18(1)
Limiting the Observable Modules
19(1)
Upgrading the Module Path
19(1)
Increasing Readability and Breaking Encapsulation
19(1)
javac
20(1)
jlink
21(3)
Java
24(1)
jdeps
24(3)
Module Java API
27(19)
ModuleFinder
27(1)
ModuleDescriptor
28(3)
Configuration
31(3)
The Module Layers
34(5)
Class Loaders
39(3)
Class
42(1)
Reflection
43(1)
Automatic Module Names
43(3)
Module Artifacts
46(3)
JAR Files
46(1)
JMOD Files
47(2)
JDK Modules
49(1)
Common Issues
49(2)
Migration in Action
51(5)
Building the Project Using Java 9
51(1)
The Migration Path
51(1)
BioJava
52(4)
Summary
56(1)
Chapter 3 jshell
57(10)
Code Completion
58(1)
Classes
58(1)
Methods
59(1)
Commands
59(6)
/list
59(1)
/edit
60(1)
/drop
61(1)
/save
61(1)
/open
61(1)
/imports
62(1)
/vars
62(1)
/types
62(1)
/methods
63(1)
/history
63(1)
/env
63(1)
/set
64(1)
/reset
64(1)
/reload
64(1)
/!
65(1)
/<id>
65(1)
/-<n>
65(1)
/exit
65(1)
Summary
65(2)
Chapter 4 Collections, Stream, and Optional
67(8)
Factory Methods for Collections
67(1)
The List.of() Method
67(1)
The Setoff) Method
67(1)
The Map.of() and Map.ofEntries() Methods
68(1)
Arrays
68(1)
Mismatch() Methods
68(1)
Comparer Methods
69(1)
Equals() Methods
69(1)
Stream
69(2)
The ofNullable() Method
69(1)
The dropWhile() Method
70(1)
The takeWhile() Method
70(1)
The iterate() Method
71(1)
IntStream, LongStream, and DoubleStream
71(1)
Collectors
71(2)
The filtering() Method
71(1)
The flatMapping() Method
72(1)
Optional
73(1)
The ifPresentOrElse() Method
73(1)
The Optional.or() Method
73(1)
The stream() Method
74(1)
Summary
74(1)
Chapter 5 The Process API
75(6)
The ProcessHandle Interface
75(2)
Process
77(1)
Managing Long-Running Processes
78(1)
Summary
79(2)
Chapter 6 The Platform Logging API and Service
81(6)
Default LoggerFinder Implementation
82(1)
Creating Custom LoggerFinder Implementations
83(3)
Summary
86(1)
Chapter 7 Reactive Streams
87(12)
Core Interfaces
87(1)
Flow.Publisher<T>
87(1)
Flow.Subscriber<T>
87(1)
Flow.Subscription
88(1)
Flow.Processor<T,R>
88(1)
SubmissionPublisher
88(7)
Third-Party Libraries
95(2)
RxJava2
95(1)
Reactor
96(1)
Interoperability
97(1)
Summary
97(2)
Chapter 8 Variable Handles
99(10)
Creating Variable Handles
99(1)
findStaticVarHandle
99(1)
findVarHandle
99(1)
unreflectVarHandle
100(1)
Access Modes
100(7)
Memory Ordering
100(1)
VarHandle Methods
101(4)
Arrays
105(1)
Byte[ ] and ByteBuffer Views
106(1)
Memory Fence
107(1)
Summary
107(2)
Chapter 9 Enhanced Method Handles
109(10)
arrayConstructor
109(1)
arrayLength
109(1)
varHandlelnvoker and varHandleExactlnvoker
110(1)
zero
110(1)
empty
111(1)
Loops
111(5)
loop
111(2)
countedLoop
113(1)
iteratedLoop
114(1)
whileLoop and doWhileLoop
115(1)
Try-finally
116(1)
Summary
117(2)
Chapter 10 Concurrency
119(6)
CompletableFuture
119(2)
Async
119(1)
Timeout
119(1)
Utilities
120(1)
TimeUnit and ChronoUnit
120(1)
Queues
121(1)
Atomic Classes
122(1)
Thread.onSpinWait
123(1)
Summary
124(1)
Chapter 11 Nashorn
125(8)
Getting the Nashorn Engine
125(1)
ECMAScript 6 Features
126(2)
Template Strings
126(1)
Binary and Octal Literals
126(1)
Iterators and for of Loops
126(1)
Functions
127(1)
Parser API
128(2)
Basic Parsing
128(1)
Parsing Error
129(1)
Analyzing Function Complexity
130(1)
Summary
131(2)
Chapter 12 I/O
133(6)
InputStream
133(1)
The ObjectInputStream Filter
134(3)
Summary
137(2)
Chapter 13 Security
139(4)
SHA-3 Hash Algorithms
139(1)
SecureRandom
139(2)
Using PKCS12 as the Default Keystore
141(1)
Summary
141(2)
Chapter 14 User Interface
143(8)
Desktop
143(5)
Application Events
143(1)
About Window
144(1)
Preferences Window
144(1)
Open Files
145(1)
Print Files
146(1)
Open URI
146(1)
Application Exit
146(2)
Other Functionalities
148(1)
Multiresolution Images
148(2)
TIFF Image Format
150(1)
Deprecating the Applet API
150(1)
Summary
150(1)
Chapter 15 JVM
151(10)
Unified Logging
151(2)
Tags, Levels, Decorations, and Output
151(1)
Logging Configuration
152(1)
The Diagnostic Command VM.log
153(1)
Remove GC Combinations
154(1)
Making G1 the Default Garbage Collector
154(1)
Deprecating the Concurrent Mark Sweep (CMS) Garbage Collector
154(1)
Removing Launch-Time JRE Version Selection
154(1)
More Diagnostic Commands
155(2)
Removal of the JVM TI hprof Agent
157(1)
Removal of the jhat Tool
157(1)
Removal of Demos and Samples
157(1)
Javadoc
157(2)
Summary
159(2)
Chapter 16 Miscellaneous
161(8)
Small Language Changes
161(1)
Private Interface Methods
161(1)
Resource References in try-with-resources
161(1)
Other Changes
162(1)
The Stack-Walking API
162(2)
Objects
164(1)
Unicode 8.0
165(1)
UTF-8 Property Resource Bundles
166(1)
Enhanced Deprecation
166(1)
NetworkInterface
167(1)
Summary
168(1)
Index 169
Fu Cheng is a software developer living in Auckland, New Zealand with rich experience in applying best practices in real product development and strong problem solving skills.  He is the author of Build Mobile Apps with Ionic 2 and Firebase by Apress and Understanding Java 7: The Core Techniques and Best Practices (Simplified Chinese edition), which covers the new features of Java SE 7 and provides a deep dive of Java platform core features, including JVM internals, byte code manipulation, class loader, generics, security, concurrent programming and serialization.  He is also a regular writer on the IBM developerWorks China and InfoQ China website with more than 50 published technical articles covering various technical topics.