
عنوان:
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
زبان
انگلیسی
فرمت
حجم
5.6MB
موضوع
Programming