Opis ebooka: Hardcore Java
Java has quickly become one of the most important languages in programming, particularly for professional and enterprise-level projects. From its infancy as a language primarily used for web applets to its maturity through servlets, Enterprise JavaBeans, and database access, Java has become a complex and robust tool for today's developer.Hardcore Java takes this language and breaks it apart, piece by piece, revealing the important secrets and tricks that will take you from a junior-level programmer to a seasoned and expert developer. You'll fly through the fundamentals and quickly find yourself learning about advanced memory management techniques, optimization and bytecode-level enhancements, and the techniques required to build lightning-fast GUIs. Throughout the book, you'll also master the art of writing and maintaining bulletproof and error-proof code, all while grasping the intricacies of the Java language.Hardcore Java covers:
- Use of the final keyword to optimize and protect your Java classes.
- Complete and thorough coverage of all types of nested classes, including how to optimize anonymous and inner classes.
- Detailed discussion of immutable objects, including unique tips on when to use them (and when not to).
- Elimination of bugs through exception-handling management.
- In-depth studies of constants, including their impact on the Java memory model.
- The most thorough discussion of reflection in print, moving far beyond other books' "Hello World" coverage.
- Construction and use of dynamic proxies, in both Java Standard and Enterprise editions.
- Expansive coverage of weak references, including usage patterns and their role in garbage collection and memory management.
Wybrane bestsellery
-
To dziewiąte wydanie znakomitego podręcznika programowania dla początkujących, starannie zaktualizowane i uzupełnione o informacje dotyczące Java Platform, Standard Edition 17. Książka rozpoczyna się od solidnej dawki wiedzy o kompilacji i uruchamianiu programu w Javie, słowach kluczowych i istot...(77.40 zł najniższa cena z 30 dni)
83.85 zł
129.00 zł(-35%) -
Dzięki tej książce zrozumiesz bazowe koncepcje programowania funkcyjnego i przekonasz się, że możesz włączać je do kodu bez rezygnacji z paradygmatu obiektowego. Dowiesz się również, kiedy w swojej codziennej pracy używać takich opcji jak niemutowalność i funkcje czyste i dlaczego warto to robić....
Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego
(52.20 zł najniższa cena z 30 dni)56.55 zł
87.00 zł(-35%) -
Oto kolejne wydanie zwięzłego podręcznika dla programistów Javy, który ma ułatwić maksymalne wykorzystanie technologii tego języka w wersji 17. Treść została skrupulatnie przejrzana i uzupełniona o materiał dotyczący nowości w obiektowym modelu Javy. Pierwsza część książki obejmuje wprowadzenie d...(53.40 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł(-35%) -
Oto zaktualizowane i uzupełnione wydanie zwięzłego wprowadzenia do Javy SE 17, przeznaczonego dla profesjonalnych programistów Javy. Przedstawiono w nim wszystkie istotne zagadnienia, łącznie z takimi koncepcjami jak wyrażenia lambda i strumienie, nowoczesnymi konstrukcjami, jak rekordy i klasy z...
Java. Przewodnik doświadczonego programisty. Wydanie III Java. Przewodnik doświadczonego programisty. Wydanie III
(53.40 zł najniższa cena z 30 dni)57.84 zł
89.00 zł(-35%) -
Oto dwunaste wydanie wyczerpującego kompendium, w pełni zaktualizowane, uzupełnione o nowości wprowadzone w Java SE 17. Opisano w nim cały język Java: jego składnię, słowa kluczowe i najistotniejsze zasady programowania. Znalazły się tu także informacje dotyczące biblioteki Java API, takie jak op...(119.40 zł najniższa cena z 30 dni)
129.35 zł
199.00 zł(-35%) -
Architect robust solutions like a pro with real-world insights and cutting-edge design techniques. Delve into advanced analytics, machine learning, generative AI, cloud-native architecture, and the key soft skills to excel as a solutions architect.
Solutions Architect's Handbook. Kick-start your career with architecture design principles, strategies, and generative AI techniques - Third Edition Solutions Architect's Handbook. Kick-start your career with architecture design principles, strategies, and generative AI techniques - Third Edition
Saurabh Shrivastava, Neelanjali Srivastav, Rajesh Sheth, Kamal Arora, Rohan Karmarkar
-
Build Your Own Programming Language provides a hands-on approach to designing and implementing programming language features in a simple compiler and programming environment. This book will help you create new or domain-specific languages.
Build Your Own Programming Language. A developer's comprehensive guide to crafting, compiling, and implementing programming languages - Second Edition Build Your Own Programming Language. A developer's comprehensive guide to crafting, compiling, and implementing programming languages - Second Edition
-
Java. Podręcznik na start to pozycja idealna dla każdego, kto chce podjąć takie kroki. W przystępny sposób zaznajamia nie tylko z językiem, ale też z podstawowymi koncepcjami stosowanymi podczas programowania - w obrazowy sposób przyrównuje je do sytuacji znanych spoza świata wirtualnego. Autor n...(41.40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
Java należy do najpopularniejszych języków programowania na świecie. Używana przez miliony programistów, jest na tyle uniwersalna, że znajduje zastosowanie zarówno w aplikacjach desktopowych, mobilnych, jak i serwerowych, a także w zaawansowanych systemach zarządzania bazami danych. Z jej zalet k...
Java 21. Kurs video. Od "Hello World!" do programowania obiektowego Java 21. Kurs video. Od "Hello World!" do programowania obiektowego
(39.90 zł najniższa cena z 30 dni)54.45 zł
99.00 zł(-45%) -
Kariera zawodowa programisty jest związana z nieustanną nauką i doskonaleniem zdobytych umiejętności. Jednym z podstawowych etapów rozwoju programisty Java jest zaznajomienie się z dobrymi praktykami programistycznymi, co obejmuje także wzorce projektowe – i to im właśnie poświęcony jest te...
Wzorce projektowe w Javie. Kurs video. Programowanie efektywnych rozwiązań Wzorce projektowe w Javie. Kurs video. Programowanie efektywnych rozwiązań
(39.90 zł najniższa cena z 30 dni)59.59 zł
149.00 zł(-60%)
Ebooka "Hardcore Java" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Hardcore Java" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Hardcore Java" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-05-965-5244-2, 9780596552442
- Data wydania ebooka:
- 2004-03-11 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 1.1MB
- Rozmiar pliku Mobi:
- 1.1MB
Spis treści ebooka
- Hardcore Java
- SPECIAL OFFER: Upgrade this ebook with OReilly
- A Note Regarding Supplemental Files
- Preface
- Audience
- Prerequisites and Assumptions
- Audience
- Typographical Conventions
- Code Samples
- Locating an Example in the Downloadable Code
- Categories of Examples
- Syntax checkers
- Demonstrators
- Executables
- Tools
- UML Diagramming
- IDE
- Out-of-IDE Building
- Logging
- Jakarta Commons
- Using Code Examples
- Comments and Questions
- Acknowledgments
- 1. Java in Review
- 1.1. Core Concepts
- 1.1.1. Constant Problems with Pointers
- 1.1.2. Everything Is a Class and Object Is God
- 1.1.3. RTTI
- 1.1. Core Concepts
- 1.2. Syntax Issues
- 1.2.1. Abbreviated if
- 1.2.2. Ternary Expressions
- 1.2.3. Leveraging for Loops
- 1.2.3.1. for loop fundamentals
- 1.2.3.2. Collection iteration with for
- 1.2.4. Abrupt Flow Control
- 1.2.4.1. break
- 1.2.4.2. continue
- 1.2.4.3. Labels
- 1.2.5. assert
- 1.2.5.1. Assertions versus exceptions
- 1.2.5.2. To assert or not to assert
- 1.2.5.3. Assertions and deployment
- 1.2.6. Chaining Constructors
- 1.2.7. Initialization
- 1.3. Access Issues
- 1.3.1. Preferred Restrictions
- 1.3.2. Friends Allow Unrestricted Access
- 1.4. Common Mistakes
- 1.4.1. System Streams
- 1.4.2. System.exit( )
- 1.4.3. Default Execution
- 2. The Final Story
- 2.1. Final Constants
- 2.1.1. Public Primitives and Substitution
- 2.1.2. Excessive Constants
- 2.1. Final Constants
- 2.2. Final Variables
- 2.2.1. Method-Scoped final Variables
- 2.2.2. Deferred Initialization
- 2.2.2.1. Chained deferred initialization
- 2.3. Final Parameters
- 2.4. Final Collections
- 2.5. Instance-Scoped Variables
- 2.6. Final Classes
- 2.7. Final Methods
- 2.8. Conditional Compilation
- 2.8.1. Conditional Compilation Variable Location
- 2.9. Using final as a Coding Standard
- 3. Immutable Types
- 3.1. Fundamentals
- 3.1.1. Creating Immutable Types
- 3.1.2. Cracked Immutables
- 3.1.3. False Immutable Types
- 3.1. Fundamentals
- 3.2. Immutable Problems
- 3.2.1. The String Trap
- 3.2.2. Buffering Bad Performance
- 3.3. Immutable or Not
- 4. Collections
- 4.1. Collection Concepts
- 4.1.1. An Interface-Based Approach
- 4.1.2. Collection Types
- 4.1.2.1. Maps
- 4.1.2.2. Collections
- 4.1. Collection Concepts
- 4.2. Implementations
- 4.2.1. Determining Equality and Order
- 4.2.1.1. Equality versus identity
- 4.2.1.2. Comparing objects
- 4.2.1. Determining Equality and Order
- 4.2.2. Big O Notation
- 4.2.3. Lists
- 4.2.3.1. java.util.Vector
- 4.2.3.2. java.util.ArrayList
- 4.2.3.3. java.util.LinkedList
- 4.2.4. Maps and SortedMaps
- 4.2.4.1. java.util.HashTable
- 4.2.4.2. java.util.HashMap
- 4.2.4.3. java.util.LinkedHashMap
- 4.2.4.4. java.util.IdentityHashMap
- 4.2.4.5. java.util.WeakHashMap
- 4.2.4.6. java.util.TreeMap
- 4.2.5. Sets and SortedSets
- 4.2.5.1. java.util.HashSet
- 4.2.5.2. java.util.LinkedSet
- 4.2.5.3. java.util.TreeSet
- 4.3. Choosing a Collection Type
- 4.4. Iterating Collections
- 4.4.1. Three Iterators
- 4.4.1.1. java.util.Enumeration
- 4.4.1.2. java.util.Iterator
- 4.4.1.3. java.util.ListIterator
- 4.4.1. Three Iterators
- 4.4.2. Fail-Fast Iterators
- 4.5. Collection Gotchas
- 4.5.1. Storage by Reference
- 4.5.2. Failure to Override hashCode( )
- 4.5.3. Lack of Type Safety
- 4.5.4. Collecting Problems
- 5. Exceptional Code
- 5.1. Two Types of Exceptions
- 5.1.1. The Exception Subclasses
- 5.1.1.1. Superfluous exceptions
- 5.1.1. The Exception Subclasses
- 5.1.2. The RuntimeException Subclasses
- 5.1.2.1. Masking exceptions
- 5.1.2.2. Ignoring exceptions
- 5.1. Two Types of Exceptions
- 5.1.3. Exception or RuntimeException
- 5.2. When to Use Exceptions
- 5.2.1. Forgetting Exceptions
- 5.2.2. Too Many Exceptions
- 5.3. Finally for Closure
- 5.4. Exceptional Traps
- 6. Nested Classes
- 6.1. Inner Classes
- 6.1.1. Hierarchies of Inner Classes
- 6.1. Inner Classes
- 6.2. Limited-Scope Inner Classes
- 6.2.1. Anonymous Classes
- 6.2.1.1. Anonymous class syntax
- 6.2.1. Anonymous Classes
- 6.2.2. Problems with Limited-Scope Inner Classes
- 6.3. Static Nested Classes
- 6.4. Double Nested Classes
- 6.5. Nested Classes in Interfaces?
- 6.6. Nested Interfaces
- 6.6.1. Nested Interfaces in Classes
- 6.6.2. Nested Interfaces in Interfaces
- 6.7. Nested Class Rules
- 7. All About Constants
- 7.1. Substitution Constants
- 7.1.1. Internationalizing with Substitution Constants
- 7.1.1.1. Common internationalization techniques
- 7.1.1.2. Improving internationalization performance
- 7.1.1. Internationalizing with Substitution Constants
- 7.1. Substitution Constants
- 7.2. Bit Fields
- 7.2.1. Altering Bit Fields
- 7.2.2. Comparing Bit Fields
- 7.2.3. Problems with Bit Fields
- 7.2.3.1. Mutual exclusivity
- 7.2.3.2. Limited expandability
- 7.2.3.3. Improper encapsulation
- 7.3. Option Constants
- 7.3.1. Defects of Option Constants
- 7.4. Constant Objects
- 7.4.1. Performance of Constant Objects
- 7.4.2. Indexing Constant Objects
- 7.4.3. Serialized Constant Objects
- 7.4.4. Accounting for Multiple Constant Object Types
- 7.5. Constant Encapsulation
- 8. Data Modeling
- 8.1. The Requirements Document
- 8.1.1. An Iterative Process
- 8.1.2. Getting Approval of Requirements
- 8.1.3. Closing the Gap
- 8.1. The Requirements Document
- 8.2. Natural Language Modeling
- 8.2.1. Noun Sets
- 8.2.2. An Application of Natural Language Modeling
- 8.2.2.1. Creating the noun set
- 8.2.2.2. Moving to a data model
- 8.2.2.3. Relationships and attributes
- 8.2.2.4. The first draft
- 8.3. Aspects of Well-Designed Data Models
- 8.3.1. Ghost Classes
- 8.3.2. Proper Relationships
- 8.3.2.1. Is a
- 8.3.2.2. Has a
- 8.3.2.3. Uses a
- 8.3.3. A Primitive Question
- 8.3.3.1. Partial use of primitives
- 8.3.3.2. Using only wrapper types
- 8.3.4. Mutable Objects
- 8.3.4.1. Identity and equality for all objects
- 8.4. Reusable Data Constraints
- 8.4.1. The ConstraintException
- 8.4.2. The Constraint Hierarchy
- 8.4.2.1. Primitive constraints
- 8.4.2.2. Object constraints
- 8.4.2.3. A numerical object constraint
- 8.4.2.4. Constraints for collections
- 8.4.3. Using Constraints
- 8.4.4. Creating New Constraint Types
- 8.5. Persistence
- 8.5.1. RDBMS Versus OODBMS
- 8.5.2. Java Data Objects to the Rescue
- 9. Practical Reflection
- 9.1. The Basics
- 9.2. Reflection and Greater Reflection
- 9.2.1. Package java.lang
- 9.2.1.1. Class java.lang.Class
- 9.2.1.2. Class java.lang.Object
- 9.2.1.3. Class java.lang.Package
- 9.2.1. Package java.lang
- 9.2.2. Package java.lang.reflect
- 9.2.2.1. Class java.lang.reflect.Field
- 9.2.2.2. Class java.lang.reflect.Method
- 9.2.2.3. Class java.lang.reflect.Modifier
- 9.2.2.4. Class java.lang.reflect.Proxy
- 9.2.2.5. Class java.lang.reflect.AccessibleObject
- 9.2.3. Package java.beans
- 9.2.3.1. Class java.beans.Introspector
- 9.2.3.2. Class java.beans.PropertyDescriptor
- 9.2.3.3. Class java.beans.IndexedPropertyDescriptor
- 9.2.3.4. Classes MethodDescriptor and ParameterDescriptor
- 9.2.3.5. Interface java.beans.BeanInfo
- 9.3. Applying Reflection to MutableObject
- 9.3.1. Reflecting on toString( )
- 9.3.2. Fetching Constraints
- 9.4. Performance of Reflection
- 9.5. Reflection + JUnit = Stable Code
- 10. Proxies
- 10.1. What Is a Proxy?
- 10.1.1. Network Proxies and CORBA
- 10.1.2. Factories
- 10.1.3. Client and Server Objects
- 10.1. What Is a Proxy?
- 10.2. Two Kinds of Proxies
- 10.2.1. Static Proxies
- 10.2.2. Proxy by Interface
- 10.2.3. Dynamic Proxies
- 10.2.3.1. Invocation handlers
- 10.2.3.2. Generated proxy classes
- 10.2.3.3. Using dynamic proxies
- 10.3. Proxy Gotchas
- 11. References in Four Flavors
- 11.1. The Problem
- 11.2. Java Reference Concepts
- 11.2.1. Strong References
- 11.2.2. Weak References
- 11.2.3. Soft References
- 11.2.4. Phantom References
- 11.2.5. References and Referents
- 11.2.6. Reference Queues
- 11.2.7. The Garbage-Collection Process
- 11.3. The Java Reference Classes
- 11.3.1. Reference Classes
- 11.3.1.1. java.lang.ref.Reference
- 11.3.1.2. java.lang.ref.WeakReference
- 11.3.1.3. java.lang.ref.SoftReference
- 11.3.1.4. java.lang.ref.PhantomReference
- 11.3.1. Reference Classes
- 11.3.2. Reference Queues
- 11.4. Practical Applications
- 11.4.1. A Weak Collection
- 11.4.2. Testing WeakHashSet
- 11.5. A Weak Listener
- 11.6. When to Use References
- 12. Tiger: JDK 1.5
- 12.1. New Language Features
- 12.1.1. For Each
- 12.1.2. Autoboxing with Variables
- 12.1.2.1. Implicit casting
- 12.1.2.2. Ambiguous autoboxing
- 12.1.3. Enums
- 12.1.3.1. Adding functionality to enums
- 12.1.3.2. Interfaces and hierarchies
- 12.1. New Language Features
- 12.1.4. Static Imports
- 12.1.5. Variable Arguments
- 12.2. Generics
- 12.2.1. The Syntax of Generics
- 12.2.1.1. Nested generics
- 12.2.1.2. Multi-generics
- 12.2.1.3. Bounds
- 12.2.1.4. Wildcards
- 12.2.1.5. Lower bounds
- 12.2.1.6. Raw types
- 12.2.1. The Syntax of Generics
- 12.2.2. Erasure
- 12.2.2.1. Cracking type safety
- 12.2.3. Casting Generics
- 12.2.4. Generic Methods
- 12.2.5. Inference
- 12.2.5.1. Simple generic inference
- 12.2.5.2. Masking methods with inference
- 12.2.5.3. Inference based on return type
- 12.2.5.4. Generic parameter-based inference
- 12.2.5.5. Context-sensitive inference
- 12.2.5.6. Avoiding inference through explicit declaration
- 12.2.6. Generic Gotchas
- 12.2.6.1. Going overboard
- 12.2.6.2. Compile-time class conformance
- 12.3. Other Improvements in Tiger
- About the Author
- Colophon
- SPECIAL OFFER: Upgrade this ebook with OReilly
O'Reilly Media - inne książki
-
Software as a service (SaaS) is on the path to becoming the de facto model for building, delivering, and operating software solutions. Adopting a multi-tenant SaaS model requires builders to take on a broad range of new architecture, implementation, and operational challenges. How data is partiti...(237.15 zł najniższa cena z 30 dni)
245.65 zł
289.00 zł(-15%) -
Great engineers don't necessarily make great leaders—at least, not without a lot of work. Finding your path to becoming a strong leader is often fraught with challenges. It's not easy to figure out how to be strategic, successful, and considerate while also being firm. Whether you're on the...(118.15 zł najniższa cena z 30 dni)
126.65 zł
149.00 zł(-15%) -
Data science happens in code. The ability to write reproducible, robust, scaleable code is key to a data science project's success—and is absolutely essential for those working with production code. This practical book bridges the gap between data science and software engineering,and clearl...(211.65 zł najniższa cena z 30 dni)
220.15 zł
259.00 zł(-15%) -
With the massive adoption of microservices, operators and developers face far more complexity in their applications today. Service meshes can help you manage this problem by providing a unified control plane to secure, manage, and monitor your entire network. This practical guide shows you how th...(194.65 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Get practical advice on how to leverage AI development tools for all stages of code creation, including requirements, planning, design, coding, debugging, testing, and documentation. With this book, beginners and experienced developers alike will learn how to use a wide range of tools, from gener...(177.65 zł najniższa cena z 30 dni)
164.25 zł
219.00 zł(-25%) -
Rust's popularity is growing, due in part to features like memory safety, type safety, and thread safety. But these same elements can also make learning Rust a challenge, even for experienced programmers. This practical guide helps you make the transition to writing idiomatic Rust—while als...(177.65 zł najniższa cena z 30 dni)
164.25 zł
219.00 zł(-25%) -
Advance your Power BI skills by adding AI to your repertoire at a practice level. With this practical book, business-oriented software engineers and developers will learn the terminologies, practices, and strategy necessary to successfully incorporate AI into your business intelligence estate. Je...(211.65 zł najniższa cena z 30 dni)
220.15 zł
259.00 zł(-15%) -
Microservices can be a very effective approach for delivering value to your organization and to your customers. If you get them right, microservices help you to move fast by making changes to small parts of your system hundreds of times a day. But if you get them wrong, microservices will just ma...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
JavaScript gives web developers great power to create rich interactive browser experiences, and much of that power is provided by the browser itself. Modern web APIs enable web-based applications to come to life like never before, supporting actions that once required browser plug-ins. Some are s...(186.15 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
How will software development and operations have to change to meet the sustainability and green needs of the planet? And what does that imply for development organizations? In this eye-opening book, sustainable software advocates Anne Currie, Sarah Hsu, and Sara Bergman provide a unique overview...(160.65 zł najniższa cena z 30 dni)
169.14 zł
199.00 zł(-15%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Oceny i opinie klientów: Hardcore Java Robert Simmons (0) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.