Core Java, Volume II--Advanced Features

Series
Prentice Hall
Author
Cay S. Horstmann  
Publisher
Pearson
Cover
Softcover
Edition
10
Language
English
Total pages
1088
Pub.-date
December 2016
ISBN13
9780134177298
ISBN
0134177290
Related Titles


Product detail

Title no longer available

Description

Fully updated to reflect Java SE 8 language changes, Core Java®, Volume II—Advanced Features, Tenth Edition, is the definitive guide to Java’s most powerful features for enterprise and desktop application development. Designed for serious programmers, this reliable, unbiased, no-nonsense tutorial illuminates advanced Java language and library features with thoroughly tested code examples. All code is easy to understand and displays modern best-practice solutions to the real world challenges faced by professional developers.

Features

  • The classic code-rich guide to Java's advanced user interface and enterprise features, fully updated for Java SE 8 and modern Java
  • Practical solutions, realistic code, and modern best practices for advanced Java development
  • Reflects major shifts in the programming landscape, including the rapid evolution of mobile and web programming
  • Covers lambda expressions, streams, files, networking, databases, XML, JNDI, LDAP, JavaFX, security, web services, collections, annotations, native methods, internationalization and more

New to this Edition

Complete coverage of new Java SE 8 features and APIs including:
--How to use lambda expressions (closures) to write computation “snippets” that can be passed to utility functions
--The brand-new streams API that makes Java collections far more flexible and efficient
--Major updates to concurrent programming that make use of lambda expressions (filter/map/reduce) and that provide dramatic performance improvements for shared counters and hash tables
--An introduction to the new date/time/calendar library (JSR 310)
--JavaFX, which is positioned to replace Swing GUIs, and to the Nashorn Javascript engine

Table of Contents

Preface xv

Acknowledgments xix

 

Chapter 1: The Java SE 8 Stream Library 1

1.1 From Iterating to Stream Operations 2

1.2 Stream Creation 5

1.3 The filter, map, and flatMap Methods 9

1.4 Extracting Substreams and Concatenating Streams 10

1.5 Other Stream Transformations 11

1.6 Simple Reductions 12

1.7 The Optional Type 13

1.8 Collecting Results 19

1.9 Collecting into Maps 24

1.10 Grouping and Partitioning 28

1.11 Downstream Collectors 29

1.12 Reduction Operations 33

1.13 Primitive Type Streams 36

1.14 Parallel Streams 41

 

Chapter 2: Input and Output 47

2.1 Input/Output Streams 48

2.2 Text Input and Output 60

2.3 Reading and Writing Binary Data 69

2.4 Object Input/Output Streams and Serialization 80

2.5 Working with Files 100

2.6 Memory-Mapped Files 116

2.7 Regular Expressions 128

 

Chapter 3: XML 143

3.1 Introducing XML 144

3.2 Parsing an XML Document 149

3.3 Validating XML Documents 162

3.4 Locating Information with XPath 190

3.5 Using Namespaces 196

3.6 Streaming Parsers 199

3.7 Generating XML Documents 208

3.8 XSL Transformations 222

 

Chapter 4: Networking 233

4.1 Connecting to a Server 233

4.2 Implementing Servers 241

4.3 Interruptible Sockets 250

4.4 Getting Web Data 257

4.5 Sending E-Mail 277

 

Chapter 5: Database Programming 281

5.1 The Design of JDBC 282

5.2 The Structured Query Language 285

5.3 JDBC Configuration 291

5.4 Working with JDBC Statements 297

5.5 Query Execution 309

5.6 Scrollable and Updatable Result Sets 321

5.7 Row Sets 328

5.8 Metadata 333

5.9 Transactions 344

5.10 Advanced SQL Types 347

5.11 Connection Management in Web and Enterprise Applications 349

 

Chapter 6: The Date and Time API 351

6.1 The Time Line 352

6.2 Local Dates 355

6.3 Date Adjusters 358

6.4 Local Time 360

6.5 Zoned Time 361

6.6 Formatting and Parsing 365

6.7 Interoperating with Legacy Code 369

 

Chapter 7: Internationalization 371

7.1 Locales 372

7.2 Number Formats 378

7.3 Currencies 384

7.4 Date and Time 385

7.5 Collation and Normalization 393

7.6 Message Formatting 400

7.7 Text Input and Output 404

7.8 Resource Bundles 408

7.9 A Complete Example 413

 

Chapter 8: Scripting, Compiling, and Annotation Processing 429

8.1 Scripting for the Java Platform 430

8.2 The Compiler API 443

8.3 Using Annotations 455

8.4 Annotation Syntax 462

8.5 Standard Annotations 470

8.6 Source-Level Annotation Processing 475

8.7 Bytecode Engineering 481

 

Chapter 9: Security 491

9.1 Class Loaders 492

9.2 Security Managers and Permissions 509

9.3 User Authentication 530

9.4 Digital Signatures 546

9.5 Encryption 567

 

Chapter 10: Advanced Swing 581

10.1 Lists 582

10.2 Tables 599

10.3 Trees 639

10.4 Text Components 681

10.5 Progress Indicators 719

10.6 Component Organizers and Decorators 731

 

Chapter 11: Advanced AWT 765

11.1 The Rendering Pipeline 766

11.2 Shapes 769

11.3 Areas 786

11.4 Strokes 788

11.5 Paint 797

11.6 Coordinate Transformations 799

11.7 Clipping 805

11.8 Transparency and Composition 807

11.9 Rendering Hints 817

11.10 Readers and Writers for Images 823

11.11 Image Manipulation 834

11.12 Printing 851

11.13 The Clipboard 887

11.14 Drag and Drop 903

11.15 Platform Integration 921

 

Chapter 12: Native Methods 939

12.1 Calling a C Function from a Java Program 940

12.2 Numeric Parameters and Return Values 947

12.3 String Parameters 949

12.4 Accessing Fields 956

12.5 Encoding Signatures 961

12.6 Calling Java Methods 963

12.7 Accessing Array Elements 970

12.8 Handling Errors 974

12.9 Using the Invocation API 980

12.10 A Complete Example: Accessing the Windows Registry 985

 

Index 1002

Author

Cay S. Horstmann is author of Core Java® for the Impatient (2015), Java SE 8 for the Really Impatient (2014), and Scala for the Impatient (2012), all from Addison-Wesley. He has written more than a dozen other books for professional programmers and computer science students. He is a professor of computer science at San Jose State University and is a Java Champion.