Java 17 for Absolute Beginners : Learn the Fundamentals of Java Programming
معرفی کتاب «Java 17 for Absolute Beginners : Learn the Fundamentals of Java Programming» نوشتهٔ Jenny Offill و Iuliana Cosmina، منتشرشده توسط نشر Apress : Imprint: Apress در سال 2022. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
Write your first code in Java 17 using simple, step-by-step examples that model real-word objects and events, making learning easy. With __Java 17 for Absolute Beginners__ you’ll be able to pick up the concepts without fuss. It teaches Java development in language anyone can understand, giving you the best possible start. You’ll see clear code descriptions and layout so that you can get your code running as soon as possible. Author Iuliana Cosmina focuses on practical knowledge and getting you up to speed quickly―all the bits and pieces a novice needs to get started programming in Java. First, you’ll discover what type of language Java is, what it is good for, and how it is executed. With the theory out of the way, you’ll install Java, choose an editor such as IntelliJ IDEA, and write your first simple Java program. Along the way you’ll compile and execute this program so it can run on any platform that supports Java. As part of this tutorial you’ll see how to write high-quality code by following conventions and respecting well-known programming principles, making your projects more professional and efficient. __Java 17 for Absolute Beginners__gives you all you need to start your Java programming journey. No experience necessary. After reading this book, you'll come away with the basics to get started writing programs in Java. **What You Will Learn** * Get started with Java 17 from scratch Use data types, operators, and the stream API * Install and use the IntelliJ IDEA and the Gradle build tool * Exchange data using the new JSON APIs * Play with images using multi-resolution APIs * Implement the publish-subscribe architecture **Who This Book Is For** Those who are new to programming and who want to start with Java. Table of Contents 5 About the Author 12 About the Technical Reviewer 13 Acknowledgments 14 Chapter 1: An Introduction to Java and Its History 15 Who This Book Is For 16 How This Book Is Structured 18 Conventions 19 When Java Was Owned By Sun Microsystems 19 How Is Java Portable? 22 Sun Microsystem’s Java Versions 25 Oracle Takes Over 30 Java 7 30 Java 8 32 Java 9 33 Java 10 35 Java 11 36 Java 12 38 Java 13 39 Java 14 39 Java 15 41 Java 16 41 Java 17 42 Prerequisites 44 Summary 45 Chapter 2: Preparing Your Development Environment 46 Installing Java 47 The JAVA_HOME Environment Variable 51 JAVA_HOME on Windows 52 JAVA_HOME on macOS 56 JAVA_HOME on Linux 58 Installing Maven 59 Installing Git 60 Installing a Java IDE 60 Summary 64 Chapter 3: Getting Your Feet Wet 65 Core Syntax Parts 65 Using JShell 67 Java Fundamental Building Blocks 73 Packages 73 Access Modifiers 79 Modules 89 Advanced Module Configurations 93 How to Determine the Structure of a Java Project 97 The “HelloWorld!” Project in IntelliJ IDEA 97 The “HelloWorld!” Project Compiled and Executed from the Command Line 106 Putting the “HelloWorld” Class in a Package 108 Configuring the “com.sandbox” Module 110 Java Projects Using Build Tools, Mostly Maven 113 Explaining and Enriching the “Hello World!” Class 116 Summary 124 Chapter 4: Java Syntax 125 Base Rules of Writing Java Code 126 Package Declaration 127 Import Section 128 Java Grammar 132 Java Identifiers and Variables 135 Java Comments 136 Java Types 137 Classes 137 Fields 138 Class Variables 140 Encapsulating Data 142 Methods 146 Constructors 149 Abstraction and Inheritance 153 Enums 158 Interfaces 163 Default Methods in Interfaces 169 Static Methods and Constants in Interfaces 173 Private Methods in Interfaces 175 Records 176 Sealed Classes 181 Hidden Classes 184 Annotation Types 184 Lambda Expressions 185 Exceptions 187 Generics 196 var and the Diamond Operator 199 Summary 200 Java Keywords 202 Chapter 5: Data Types 206 Stack and Heap Memory 206 Introduction to Java Data Types 214 Primitive Data Types 214 Reference Data Types 216 Java Primitive Types 221 The boolean Type 221 The char Type 223 Numeric Primitive Types 224 Java Integer Primitive Types 226 Java Real Primitive Types 227 Java Reference Types 231 Arrays 237 The String Type 247 Escaping Characters 255 Wrapper Classes for Primitive Types 262 Date Time API 265 Collections 271 Concurrency Specific Types 282 Summary 288 Chapter 6: Operators 290 The Assignment Operator 291 Explicit Type Conversion (type) and instanceof 294 Numerical Operators 298 Unary Operators 299 Incrementors and Decrementors 299 Sign Operators 300 Negation Operator 301 Binary Operators 301 The +(plus/addition/concatenation) Operator 301 The -(minus) Operator 304 The *(multiply) Operator 305 The /(divide) Operator 306 The %(modulus) Operator 307 Relational Operations 310 The == Equals Operator 310 The Other Comparison Operators 312 Bitwise Operators 315 Bitwise NOT 315 Bitwise AND 317 Bitwise Inclusive OR 318 Bitwise Exclusive OR 320 Logical Operators 322 Shift Operators 326 The < > Signed Shift Right Operator 328 The >>> Unsigned Shift Right Operator 331 The Elvis Operator 332 Summary 334 Chapter 7: Controlling the Flow 335 if-else Statement 337 switch Statement 344 Looping Statements 354 for Statement 355 while Statement 363 do-while Statement 368 Breaking Loops and Skipping Steps 374 break Statement 375 continue Statement 377 return Statement 379 Controlling the Flow Using try-catch Constructions 380 Summary 385 Chapter 8: The Stream API 386 Introduction to Streams 386 Creating Streams 390 Creating Streams from Collections 391 Creating Streams from Arrays 395 Creating Empty Streams 396 Creating Finite Streams 398 Streams of Primitives and Streams of Strings 405 Short Introduction to Optional 408 How to Use Streams Like a Pro 414 Terminal Functions: forEach and forEachOrdered 416 Intermediate Operation: filter and Terminal Operation: toArray 419 Intermediate Operation: map, flatMap and Terminal Operation: collect 420 Intermediate Operation: sorted and Terminal Operation: findFirst 426 Intermediate Operation: distinct() and Terminal Operation: count() 427 Intermediate Operation: limit(..) and Terminal Operations: min(..), max(..) 428 Terminal Operations: sum() and reduce(..) 429 Intermediate Operation: peek(..) 431 Intermediate Operation: skip(..) and Terminal Operations: findAny(), anyMatch(..), allMatch(..) and noneMatch(..) 432 Debugging Stream Code 435 Summary 441 Chapter 9: Debugging, Testing, and Documenting 443 Debugging 443 Logging 444 Logging with System.out.print 449 Logging with JUL 453 Logging with SLF4J and Logback 467 Debug Using Assertions 476 Step-By-Step Debugging 481 Inspecting Running Application Using Java Tools 485 jps 486 jcmd 487 jconsole 490 Using jmc 494 Accessing the Java Process API 495 Testing 503 Testing Code Location 504 Building an Application to Test 506 Introducing JUnit 507 Using Fakes 511 Using Stubs 517 Using Mocks 523 Documenting 528 Summary 541 Chapter 10: Making Your Application Interactive 542 Reading Data from the Command Line 542 Reading User Data Using System.in 543 Using java.util.Scanner 544 Using java.io.Console 551 Build Applications Using Swing 554 Introducing JavaFX 567 Internationalization 578 Building a Web Application 588 Java Web Application with an Embedded Server 591 Java Web Application on a Standalone Server 599 Summary 611 Chapter 11: Working With Files 612 Java IO and NIO APIs 612 File Handlers 613 Path Handlers 622 Reading Files 629 Using Scanner to Read Files 629 Using Files Utility Methods to Read Files 631 Using Readers to Read Files 633 Using InputStream to Read Files 639 Writing Files 642 Writing Files Using Files Utility Methods 642 Using Writer to Write Files 645 Using OutputStream to Write Files 650 Using NIO to Manage Files 653 Serialization and Deserialization 659 Byte Serialization 659 XML Serialization 664 JSON Serialization 672 The Media API 678 Using JavaFX Image Classes 690 Summary 693 Chapter 12: The Publish-Subscribe Framework 695 Reactive Programming and the Reactive Manifesto 696 Using the JDK Reactive Streams API 701 Reactive Streams Technology Compatibility Kit 715 Using Project Reactor 719 Summary 725 Chapter 13: Garbage Collection 727 Garbage Collection Basics 728 Oracle Hotspot JVM Architecture 728 How Many Garbage Collectors Are There? 733 Working with GC from the Code 744 Using the finalize() Method 745 Heap Memory Statistics 752 Using Cleaner 758 Preventing GC from Deleting an Object 762 Using Weak References 765 Garbage Collections Exceptions and Causes 770 Summary 771 Appendices 772 Appendix A 772 Modules 773 Advanced Module Configurations 777 Appendix B 792 Index 794 Write your first code in Java 17 using simple, step-by-step examples that model real-word objects and events, making learning easy. With Java 17 for Absolute Beginners you’ll be able to pick up the concepts without fuss. It teaches Java development in language anyone can understand, giving you the best possible start. You’ll see clear code descriptions and layout so that you can get your code running as soon as possible. Author Iuliana Cosmina focuses on practical knowledge and getting you up to speed quickly―all the bits and pieces a novice needs to get started programming in Java. First, you’ll discover what type of language Java is, what it is good for, and how it is executed. With the theory out of the way, you’ll install Java, choose an editor such as IntelliJ IDEA, and write your first simple Java program. Along the way you’ll compile and execute this program so it can run on any platform that supports Java. As part of this tutorial you’ll see how to write high-quality code by following conventions and respecting well-known programming principles, making your projects more professional and efficient. Java 17 for Absolute Beginners gives you all you need to start your Java programming journey. No experience necessary. After reading this book, you'll come away with the basics to get started writing programs in Java. What You Will Learn Get started with Java 17 from scratch Use data types, operators, and the stream API Install and use the IntelliJ IDEA and the Gradle build tool Exchange data using the new JSON APIs Play with images using multi-resolution APIs Implement the publish-subscribe architecture Who This Book Is For Those who are new to programming and who want to start with Java. "Write your first code in Java 17 using simple, step-by-step examples that model real-word objects and events, making learning easy. With Java 17 for Absolute Beginners you'll be able to pick up the concepts without fuss. It teaches Java development in language anyone can understand, giving you the best possible start. You'll see clear code descriptions and layout so that you can get your code running as soon as possible. Author Iuliana Cosmina focuses on practical knowledge and getting you up to speed quickly--all the bits and pieces a novice needs to get started programming in Java. First, you'll discover what type of language Java is, what it is good for, and how it is executed. With the theory out of the way, you'll install Java, choose an editor such as IntelliJ IDEA, and write your first simple Java program. Along the way you'll compile and execute this program so it can run on any platform that supports Java. As part of this tutorial you'll see how to write high-quality code by following conventions and respecting well-known programming principles, making your projects more professional and efficient. Java 17 for Absolute Beginners gives you all you need to start your Java programming journey. No experience necessary. After reading this book, you'll come away with the basics to get started writing programs in Java. What You Will Learn Get started with Java 17 from scratch Use data types, operators, and the stream API Install and use the IntelliJ IDEA and the Gradle build tool Exchange data using the new JSON APIs Play with images using multi-resolution APIs Implement the publish-subscribe architecture Who This Book Is For Those who are new to programming and who want to start with Java." --Amazon.com
دانلود کتاب Java 17 for Absolute Beginners : Learn the Fundamentals of Java Programming