جلد کتاب The Well-Grounded Java Developer نسخه دوم: یادگیری عمیق جاوا، JVM، بهینه‌سازی و هم‌زمانی

عنوان:

The Well-Grounded Java Developer

نویسنده:

Benjamin Evans

انتشارات:

Simon & Schuster

تاریخ انتشار:

2022

حجم:

5.6MB

دانلود

معرفی کتاب:" یادگیری عمیق جاوا، JVM، بهینه‌سازی و هم‌زمانی"

درک جاوا از سطح JVM به شما پایه‌ای محکم می‌دهد تا مهارت‌های خود را گسترش دهید و تکنیک‌های پیشرفته‌ای مانند بهینه‌سازی عملکرد، هم‌زمانی، کانتینری‌سازی و موارد دیگر را فرا بگیرید.

آنچه خواهید آموخت:

  • سیستم ماژول جدید جاوا و دلایل استفاده از آن
  • بایت‌کد برای JVM، شامل عملیات و بارگذاری کلاس‌ها
  • بهینه‌سازی عملکرد JVM
  • کار با هم‌زمانی داخلی جاوا و گزینه‌های گسترش‌یافته آن
  • برنامه‌نویسی با Kotlin و Clojure روی JVM
  • بهره‌برداری حداکثری از ابزارهای build/CI با Maven و Gradle
  • اجرای JVM در کانتینرها
  • برنامه‌ریزی برای نسخه‌های آینده JVM

درباره فناوری

جاوا قلب تپنده مهندسی نرم‌افزار سازمانی است. توسعه‌دهندگانی که جاوا را به‌خوبی می‌شناسند، می‌توانند انتظار فرصت‌های شغلی آسان و پروژه‌های جذاب داشته باشند. این کتاب که توسط متخصصان با تجربه عملی نوشته شده، مهارت‌های جاوای شما را ارتقا می‌دهد، به ویژگی‌های قدرتمند مانند ماژول‌ها و مدل‌های هم‌زمانی می‌پردازد و حتی برخی از اسرار عمیق جاوا را فاش می‌کند.

درباره کتاب

با مطالعه این کتاب فراتر از توضیح ویژگی‌ها خواهید رفت و یاد می‌گیرید جاوا چگونه در سطح بایت‌کد عمل می‌کند. تکنیک‌های ارزشمند برای هم‌زمانی و بهینه‌سازی عملکرد را استاد شوید، همراه با بهترین شیوه‌ها برای ساخت، تست و استقرار. حتی با زبان‌های جایگزین JVM مانند Kotlin و Clojure نیز آشنا خواهید شد. با مطالعه این کتاب، از سایر توسعه‌دهندگان متمایز خواهید شد.

محتویات کتاب

  • سیستم ماژول جدید جاوا
  • بهینه‌سازی عملکرد JVM
  • بهره‌برداری حداکثری از CI/CD با Maven و Gradle
  • اجرای JVM در کانتینرها
  • برنامه‌ریزی برای نسخه‌های آینده JVM

مخاطب کتاب

برای توسعه‌دهندگان جاوای سطح متوسط.

درباره نویسندگان

  • بنجامین جی. ایوانز، مهندس ارشد در Red Hat
  • مارتین وربورگ، مدیر ارشد SWE گروه مهندسی جاوای مایکروسافت، هر دو Java Champion هستند
  • جیسون کلارک، مهندس ارشد و معمار در New Relic

نقل‌قول‌ها

  • «بن، جیسون و مارتین با این کتاب کار فوق‌العاده‌ای انجام داده‌اند. از خرد جمعی آن‌ها بهره ببرید.» – پیش‌گفتار هاینز کابوتز، The Java Specialists’ Newsletter
  • «با نام خود صادق است؛ مفاهیم را از سطح زبان تا بایت‌کد JVM معرفی و تقویت می‌کند.» – یوگش شتی، ING Bank
  • «اطلاعات عالی... یک به‌روزرسانی ارزشمند.» – مایکل وال، Wall Technology Consulting
  • «یک بررسی عمیق از جاوای مدرن و زبان‌های مبتنی بر JVM.» – گیلبرتو تاکاری، faire.ai
  • «کتابی ضروری برای هر توسعه‌دهنده جاوا، حتی افراد باتجربه!» – ژان-فرانسوا مورین، Laval University

فهرست مطالب

  • The Well-Grounded Java Developer
  • Copyright
  • Praise for the First Edition
  • brief contents
  • contents
  • front matter
  • Part 1. From 8 to 11 and beyond!
  • Chapter 1: Introducing modern Java
  • 1.1 The language and the platform
  • 1.2 The new Java release model
  • 1.3 Enhanced type inference (var keyword)
  • 1.4 Changing the language and the platform
  • 1.5 Small changes in Java 11
  • Summary
  • Chapter 2: Java modules
  • 2.1 Setting the scene
  • 2.2 Basic modules syntax
  • 2.3 Loading modules
  • 2.4 Building a first modular app
  • 2.5 Architecting for modules
  • 2.6 Beyond modules
  • Summary
  • Chapter 3: Java 17
  • 3.1 Text Blocks
  • 3.2 Switch Expressions
  • 3.3 Records
  • 3.4 Sealed Types
  • 3.5 New form of instanceof
  • 3.6 Pattern Matching and preview features
  • Summary
  • Part 2. Under the hood
  • Chapter 4: Class files and bytecode
  • 4.1 Class loading and class objects
  • 4.2 Class loaders
  • 4.3 Examining class files
  • 4.4 Bytecode
  • 4.5 Reflection
  • Summary
  • Chapter 5: Java concurrency fundamentals
  • 5.1 Concurrency theory primer
  • 5.2 Design concepts
  • 5.3 Block-structured concurrency (pre-Java 5)
  • 5.4 The Java Memory Model (JMM)
  • 5.5 Understanding concurrency through bytecode
  • Summary
  • Chapter 6: JDK concurrency libraries
  • 6.1 Building blocks for modern concurrent applications
  • 6.2 Atomic classes
  • 6.3 Lock classes
  • 6.4 CountDownLatch
  • 6.5 ConcurrentHashMap
  • 6.6 CopyOnWriteArrayList
  • 6.7 Blocking queues
  • 6.8 Futures
  • 6.9 Tasks and execution
  • Summary
  • Chapter 7: Understanding Java performance
  • 7.1 Performance terminology: Some basic definitions
  • 7.2 A pragmatic approach to performance analysis
  • 7.3 What went wrong? Why do we have to care?
  • 7.4 Why is Java performance tuning hard?
  • 7.5 Garbage collection
  • 7.6 JIT compilation with HotSpot
  • 7.7 JDK Flight Recorder
  • Summary
  • Part 3. Non-Java languages on the JVM
  • Chapter 8: Alternative JVM languages
  • 8.1 Language zoology
  • 8.2 Polyglot programming on the JVM
  • 8.3 How to choose a non-Java language for your project
  • 8.4 How the JVM supports alternative languages
  • Summary
  • Chapter 9: Kotlin
  • 9.1 Why use Kotlin?
  • 9.2 Convenience and conciseness
  • 9.3 A different view of classes and objects
  • 9.4 Safety
  • 9.5 Concurrency
  • 9.6 Java interoperability
  • Summary
  • Chapter 10: Clojure: A different view of programming
  • 10.1 Introducing Clojure
  • 10.2 Looking for Clojure: Syntax and semantics
  • 10.3 Functional programming and closures
  • 10.4 Introducing Clojure sequences
  • 10.5 Interoperating between Clojure and Java
  • 10.6 Macros
  • Summary
  • Part 4. Build and deployment
  • Chapter 11: Building with Gradle and Maven
  • 11.1 Why build tools matter for a well-grounded developer
  • 11.2 Maven
  • 11.3 Gradle
  • Summary
  • Chapter 12: Running Java in containers
  • 12.1 Why containers matter for a well-grounded developer
  • 12.2 Docker fundamentals
  • 12.3 Developing Java applications with Docker
  • 12.4 Kubernetes
  • 12.5 Observability and performance
  • Summary
  • Chapter 13: Testing fundamentals
  • 13.1 Why we test
  • 13.2 How we test
  • 13.3 Test-driven development
  • 13.4 Test doubles
  • 13.5 From JUnit 4 to 5
  • Summary
  • Chapter 14: Testing beyond JUnit
  • 14.1 Integration testing with Testcontainers
  • 14.2 Specification-style testing with Spek and Kotlin
  • 14.3 Property-based testing with Clojure
  • Summary
  • Part 5. Java frontiers
  • Chapter 15: Advanced functional programming
  • 15.1 Introduction to functional programming concepts
  • 15.2 Limitations of Java as a FP language
  • 15.3 Kotlin FP
  • 15.4 Clojure FP
  • Summary
  • Chapter 16: Advanced concurrent programming
  • 16.1 The Fork/Join framework
  • 16.2 Concurrency and functional programming
  • 16.3 Under the hood with Kotlin coroutines
  • 16.4 Concurrent Clojure
  • Summary
  • Chapter 17: Modern internals
  • 17.1 Introducing JVM internals: Method invocation
  • 17.2 Reflection internals
  • 17.3 Method handles
  • 17.4 Invokedynamic
  • 17.5 Small internal changes
  • 17.6 Unsafe
  • 17.7 Replacing Unsafe with supported APIs
  • Summary
  • Chapter 18: Future Java
  • 18.1 Project Amber
  • 18.2 Project Panama
  • 18.3 Project Loom
  • 18.4 Project Valhalla
  • 18.5 Java 18
  • Summary
  • Appendix A. Selecting your Java
  • Appendix B. Recap of streams in Java 8

مشخصات

نام کتاب

The Well-Grounded Java Developer

نویسنده

Benjamin Evans

انتشارات

Manning Publications Co

تاریخ انتشار

2022

ISBN

978161728875

تعداد صفحات

1224

زبان

انگلیسی

فرمت

pdf

حجم

5.6MB

موضوع

Programming