Java
Dział Java to obszerne i szczegółowe kompendium wiedzy na temat jednego z najpopularniejszych obiektowych języków programowania. Książki zawarte w tej kategorii zawierają nieocenioną pomoc dotyczącą zasad i mechanizmów programowania w Javie oraz możliwości wykorzystania tego języka na dowolnych platformach sprzętowych i systemowych.
Dowiecie się jak zapewnić niezmienność obiektu lub jak stosować wyjątki przechwytywalne lub wyjątki czasu wykonania. Poznacie typy ogólne i wyliczeniowe, interfejsy czy zalety stosowania statycznych klas składowych oraz nauczycie się jak tworzyć i usuwać wybrane obiekty, a także dokumentować bezpieczeństwo dla wątków.
Ramasubramanian Sankar, Vincent van der Leun
Anyone who knows software development knows about the Java Virtual Machine. The Java Virtual Machine is responsible for interpreting Java byte code and translating it into actions. In the beginning, Java was the only programming language used for the JVM. But increasing complexity of the language and the remarkable performance of the JVM created an opening for a new generation of programming languages. If you want to build a strong foundation with the Java Virtual Machine and get started with popular modern programming languages, then this book is for you.The book will begin with a general introduction of the JVM and its features, which are common to the JVM languages, helping you get abreast with its concepts. It will then dive into explaining languages such as Java, Scala, Clojure, Kotlin, and Groovy and will show how to work with each language, their features, use cases, and pros and cons. By writing example projects in those languages and focusing on each language’s strong points, it will help you find the programming language that is most appropriate for your particular needs. By the end of the book, you will have written multiple programs that run on the Java Virtual Machine and know about the differences between the various languages.
Introduction to Programming. Learn to program in Java with data structures, algorithms, and logic
Nick Samoylov
Have you ever thought about making your computer do what you want it to do? Do you want to learn to program, but just don't know where to start? Instead of guiding you in the right direction, have other learning resources got you confused with over-explanations?Don't worry. Look no further. Introduction to Programming is here to help.Written by an industry expert who understands the challenges faced by those from a non-programming background, this book takes a gentle, hand-holding approach to introducing you to the world of programming. Beginning with an introduction to what programming is, you'll go on to learn about languages, their syntax, and development environments. With plenty of examples for you to code alongside reading, the book's practical approach will help you to grasp everything it has to offer. More importantly, you'll understand several aspects of application development. As a result, you'll have your very own application running by the end of the book. To help you comprehensively understand Java programming, there are exercises at the end of each chapter to keep things interesting and encourage you to add your own personal touch to the code and, ultimately, your application.
Inżynieria oprogramowania. Jak zapewnić jakość tworzonym aplikacjom
Bogdan Bereza-Jarociński, Bolesław Szomański
Twórz rozwiązania najwyższej jakości! Ile kosztuje najwyższa jakość? Jak ją zapewnić? Jakie znaczenie ma bezpieczeństwo informacji? Inżynieria oprogramowania jest niezwykle obszerną dziedziną wiedzy, zajmującą się wszelkimi aspektami produkcji oprogramowania. Obejmuje zagadnienia takie, jak analiza, projektowanie czy też wdrożenie systemu informatycznego. Jeżeli kiedykolwiek spotkałeś się z oprogramowaniem miernej jakości, niewątpliwie na którymś z etapów jego produkcji pojawił się problem. Jak temu zapobiec? O tym właśnie traktuje ta książka. Dowiesz się z niej, jak unikać błędów, tak aby oprogramowanie, które wytworzysz, prezentowało najwyższą jakość! Poznasz podejście do kwestii jakości w czasach współczesnych oraz zobaczysz, jak temat ten był rozumiany wcześniej. Zdobędziesz wiedzę na temat miar używanych w inżynierii oprogramowania oraz najefektywniejszych metod i technik jego wytwarzania. Autor przedstawi Ci również narzędzia, które sprawią, że Twoje rozwiązania staną się jeszcze lepsze. Ponadto zobaczysz, jak ważne są tematy związane z bezpieczeństwem informacji. Warto podkreślić, że styl tej książki łączy lekkość i przyjemność lektury z poważną tematyką poruszanych w niej zagadnień. Jakość integralna Zarządzanie ryzykiem Zarządzanie procesami Cena jakości Spojrzenie na jakość wczoraj, dziś i jutro Zarządzanie jakością Socjologiczne i antropologiczne podejście do jakości Certyfikacja w inżynierii oprogramowania Najlepsze metody oraz techniki Dostępne narzędzia, automatyzacja testów Istota bezpieczeństwa informacji Spraw, aby Twoje aplikacje były najwyższej jakości!
Elder Moraes
Jakarta EE is widely used around the world for developing enterprise applications for a variety of domains. With this book, Java professionals will be able to enhance their skills to deliver powerful enterprise solutions using practical recipes.This second edition of the Jakarta EE Cookbook takes you through the improvements introduced in its latest version and helps you get hands-on with its significant APIs and features used for server-side development. You'll use Jakarta EE for creating RESTful web services and web applications with the JAX-RS, JSON-P, and JSON-B APIs and learn how you can improve the security of your enterprise solutions. Not only will you learn how to use the most important servers on the market, but you'll also learn to make the best of what they have to offer for your project. From an architectural point of view, this Jakarta book covers microservices, cloud computing, and containers. It allows you to explore all the tools for building reactive applications using Jakarta EE and core Java features such as lambdas. Finally, you'll discover how professionals can improve their projects by engaging with and contributing to the community.By the end of this book, you'll have become proficient in developing and deploying enterprise applications using Jakarta EE.
Mala Gupta
With its new six-monthly release cadence, Java is moving forward faster. In addition to planned version releases, a lot of work is currently being undertaken on various Java projects at Oracle. In order to make best use of the new features in their applications and libraries, you must be well-versed with the most recent advancements.Java 11 and 12 – New Features will take you through the latest developments in Java, right from variable type inference and simplified multithreading through to performance improvements, which are covered in depth to help you make your applications more efficient. This book explains the relevance and applicability of Java's new features, and answers your questions on whether to invest in migrating to new Java versions and when to migrate. You'll also get to grips with platform features, such as AppCDS and new garbage collectors, to tune and optimize your application—from reduced launch time and latency to improved performance and throughput.By the end of this book, you will be equipped with a thorough understanding of the new features of Java 11, 12, and Project Amber, and possess the skills to apply them with a view to improving your application's performance.
Nick Samoylov, Mohamed Sanaulla
For more than three decades, Java has been on the forefront of developing robust software that has helped versatile businesses meet their requirements. Being one of the most widely used programming languages in history, it’s imperative for Java developers to discover effective ways of using it in order to take full advantage of the power of the latest Java features. Java 11 Cookbook offers a range of software development solutions with simple and straightforward Java 11 code examples to help you build a modern software system.Starting with the installation of Java, each recipe addresses various problem by explaining the solution and offering insights into how it works. You’ll explore the new features added to Java 11 that will make your application modular, secure, and fast. The book contains recipes on functional programming, GUI programming, concurrent programming, and database programming in Java. You’ll also be taken through the new features introduced in JDK 18.3 and 18.9.By the end of this book, you’ll be equipped with the skills required to write robust, scalable, and optimal Java code effectively.
Robert Liguori, Patricia Liguori
Java jest dziś językiem, który programiści wybierają najczęściej, gdy mają przed sobą skomplikowany projekt, wymagający najwyższej wydajności, jakości, bezpieczeństwa oraz integracji z innymi systemami. Rozwijany od blisko dwudziestolecia, język ten doczekał się wersji oznaczonej numerem 8. Ta edycja została wzbogacona o wiele nowości, m.in. o długo oczekiwane wyrażenia lambda. Jeżeli szukasz poręcznej książki, do której możesz sięgnąć w przypadku wątpliwości, to trafiłeś na doskonałą pozycję! Ta publikacja należy do popularnej serii „Leksykon kieszonkowy” i możesz mieć ją zawsze przy sobie. W środku znajdziesz konwencje nazw oraz podstawowe elementy języka. W kolejnych rozdziałach zdobędziesz wiedzę na temat typów prostych oraz programowania zorientowanego obiektowo. Ponadto zawarto tu przystępne omówienie wyrażeń lambda, współbieżności oraz zasad dostępu do plików i sieci. Java posiada rozbudowany mechanizm obsługi sytuacji wyjątkowych, który również został omówiony w tym podręczniku. Książka ta jest obowiązkową pozycją na półce każdego programisty języka Javy — jeśli chce on mieć zawsze pod ręką wiarygodne źródło informacji na temat tego języka. Materiał przedstawiony w książce pomaga również w przygotowaniach do egzaminu Oracle Certified Associate Java Programmer. Szybko odszukaj szczegóły dotyczące języka Java, na przykład konwencje nazw, typy, polecenia i bloki, programowanie zorientowane obiektowo. Poznaj informacje szczegółowe o platformie Java SE, między innymi podstawy programowania, zarządzanie pamięcią, współbieżność i typy generyczne. Przeglądaj informacje z zakresu podstawowych operacji wejścia-wyjścia, API NIO 2.0, frameworka kolekcji w Javie, a także API skryptowego Javy. Poznaj informacje dotyczące API Fluent, narzędzi opracowanych przez firmy trzecie oraz podstawy zunifikowanego języka modelowania (UML). „Wspaniale jest móc poznać wyrażenia lambda i operacje funkcjonalne, jak również inne nowe funkcje Javy przedstawione w kontekście platformy Java.” — Geertjan Wielenga, dyrektor produktu w grupie Oracle Developer zajmującej się środowiskiem IDE NetBeans
Java 8. Przewodnik doświadczonego programisty
Cay S. Horstmann
Cay S. Horstmann autor "Java. Podstawy. Wydanie IX" i "Java. Techniki zaawansowane. Wydanie IX" - najpopularniejszych w Polsce podręczników do nauki Javy Java to język, który zrewolucjonizował świat programistów. Jej możliwości zostały docenione przez największe firmy. Dziś Java jest wykorzystywana w najbardziej zaawansowanych projektach. Wszędzie tam, gdzie są wymagane najwyższa wydajność i bezpieczeństwo, nie ma sobie równych! Aktualna wersja tego języka wprowadza wiele nowych konstrukcji i usprawnień — jeżeli chcesz błyskawicznie je poznać, zacznij od tej książki. Została ona napisana specjalnie z myślą o osobach chcących rozpocząć kodowanie z wykorzystaniem nowości z Javy 8. Jest przeznaczona dla doświadczonych programistów, lecz zawiera też podstawowe informacje na temat technik programowania obiektowego, wyjątków, typów i składni. Dzięki temu możesz błyskawicznie wdrożyć się w nowy język programowania! Natomiast jeśli znasz już Javę, z pewnością zainteresują Cię informacje o wyrażeniach lambda, projekcie Nashorn oraz nowym API do operacji na datach i czasie (JSR 310). Książka ta jest najlepszą lekturą dla wszystkich programistów zainteresowanych językiem Java oraz nowościami w Javie 8! Jeśli posiadasz doświadzenie w programowaniu Javy, praktyczne podejście Horstmanna i przykładowe kody pomogą Ci szybko wykorzystać wyrażenia lambda, strumienie i inne usprawnienia wprowadzone zarówno do języka jak i platformy Java. Horstmann omawia wszystko, co powinni wiedzieć deweloperzy na temat nowoczesnej Javy, przedstawiając: konkretne i efektywne omówienie wyrażeń lambda, umożliwiające opisywanie działań za pomocą zwięzłej składni; dokładne wprowadzenie do nowego API strumieni, które bardzo uelastycznia i zwiększa wydajność pracy z danymi; kurs programowania współbieżnego, który zachęca do projektowania programów na poziomie współpracujących zadań, a nie niskopoziomowych wątków i blokad, aktualne omówienie nowych bibliotek np. do obsługi daty i czasu, inne nowe mechanizmy, które są szczególnie wartościowe dla programistów aplikacji serwerowych lub programistów urządzeń mobilnych. Niezależnie od tego, czy dopiero zaczynasz poznawanie nowoczesnej Javy, czy jesteś doświadczonym deweloperem, ten przewodnik jest bezcenny dla każdego, kto chce pisać najbardziej niezawodny, wydajny i bezpieczny kod w języku Java.
Javier Fernández González
Writing concurrent and parallel programming applications is an integral skill for any Java programmer. Java 9 comes with a host of fantastic features, including significant performance improvements and new APIs.This book will take you through all the new APIs, showing you how to build parallel and multi-threaded applications. The book covers all the elements of the Java Concurrency API, with essential recipes that will help you take advantage of the exciting new capabilities.You will learn how to use parallel and reactive streams to process massive data sets. Next, you will move on to create streams and use all their intermediate and terminal operations to process big collections of data in a parallel and functional way.Further, you’ll discover a whole range of recipes for almost everything, such as thread management, synchronization, executors, parallel and reactive streams, and many more. At the end of the book, you will learn how to obtain information about the status of some of the most useful components of the Java Concurrency API and how to test concurrent applications using different tools.
Java 9 Data Structures and Algorithms. A step-by-step guide to data structures and algorithms
Debasish Ray Chawdhuri
Java 9 Data Structures and Algorithms covers classical, functional, and reactive data structures, giving you the ability to understand computational complexity, solve problems, and write efficient code. This book is based on the Zero Bug Bounce milestone of Java 9.We start off with the basics of algorithms and data structures, helping you understand the fundamentals and measure complexity. From here, we introduce you to concepts such as arrays, linked lists, as well as abstract data types such as stacks and queues. Next, we’ll take you through the basics of functional programming while making sure you get used to thinking recursively.We provide plenty of examples along the way to help you understand each concept. You will also get a clear picture of reactive programming, binary searches, sorting, search trees, undirected graphs, and a whole lot more!
Java 9 Dependency Injection. Write loosely coupled code with Spring 5 and Guice
Nilang Patel , Krunal Patel
Dependency Injection (DI) is a design pattern that allows us to remove the hard-coded dependencies and make our application loosely coupled, extendable, and maintainable. We can implement DI to move the dependency resolution from compile-time to runtime. This book will be your one stop guide to write loosely coupled code using the latest features of Java 9 with frameworks such as Spring 5 and Google Guice. We begin by explaining what DI is and teaching you about IoC containers. Then you’ll learn about object compositions and their role in DI. You’ll find out how to build a modular application and learn how to use DI to focus your efforts on the business logic unique to your application and let the framework handle the infrastructure work to put it all together. Moving on, you’ll gain knowledge of Java 9’s new features and modular framework and how DI works in Java 9. Next, we’ll explore Spring and Guice, the popular frameworks for DI. You’ll see how to define injection keys and configure them at the framework-specific level. After that, you’ll find out about the different types of scopes available in both popular frameworks. You’ll see how to manage dependency of cross-cutting concerns while writing applications through aspect-oriented programming.Towards the end, you’ll learn to integrate any third-party library in your DI-enabled application and explore common pitfalls and recommendations to build a solid application with the help of best practices, patterns, and anti-patterns in DI.
Mayur Ramgir, Nick Samoylov
Finally, a book that focuses on the practicalities rather than theory of Java application performance tuning. This book will be your one-stop guide to optimize the performance of your Java applications.We will begin by understanding the new features and APIs of Java 9. You will then be taught the practicalities of Java application performance tuning, how to make the best use of garbage collector, and find out how to optimize code with microbenchmarking. Moving ahead, you will be introduced to multithreading and learning about concurrent programming with Java 9 to build highly concurrent and efficient applications. You will learn how to fine tune your Java code for best results. You will discover techniques on how to benchmark performance and reduce various bottlenecks in your applications. We'll also cover best practices of Java programming that will help you improve the quality of your codebase.By the end of the book, you will be armed with the knowledge to build and deploy efficient, scalable, and concurrent applications in Java.
Jason Lee
Java is a powerful language that has applications in a wide variety of fields. From playing games on your computer to performing banking transactions, Java is at the heart of everything.The book starts by unveiling the new features of Java 9 and quickly walks you through the building blocks that form the basis of writing applications. There are 10 comprehensive projects in the book that will showcase the various features of Java 9. You will learn to build an email filter that separates spam messages from all your inboxes, a social media aggregator app that will help you efficiently track various feeds, and a microservice for a client/server note application, to name a few. The book covers various libraries and frameworks in these projects, and also introduces a few more frameworks that complement and extend the Java SDK.Through the course of building applications, this book will not only help you get to grips with the various features of Java 9, but will also teach you how to design and prototype professional-grade applications with performance and security considerations.
Java 9 Programming By Example. Your guide to software development
Peter Verhas
This book gets you started with essential software development easily and quickly, guiding you through Java’s different facets. By adopting this approach, you can bridge the gap between learning and doing immediately. You will learn the new features of Java 9 quickly and experience a simple and powerful approach to software development. You will be able to use the Java runtime tools, understand the Java environment, and create Java programs. We then cover more simple examples to build your foundation before diving to some complex data structure problems that will solidify your Java 9 skills. With a special focus on modularity and HTTP 2.0, this book will guide you to get employed as a top notch Java developer.By the end of the book, you will have a firm foundation to continue your journey towards becoming a professional Java developer.
Java 9. Przewodnik doświadczonego programisty. Wydanie II
Cay S. Horstmann
Dziś Java jest uważana za starannie zaprojektowany i wciąż rozwijany język, który stanowi standard w wielu potężnych korporacjach z branży IT. W język ten wbudowano funkcje ułatwiające implementację wielu złożonych zadań programistycznych. W nowej wersji Javy znalazło się wiele usprawnień dotyczących najbardziej podstawowych technologii platformy Java. Nowe mechanizmy, na przykład modularyzacja czy nowe podejście do programowania współbieżnego, poprawią efektywność pracy programisty. Jednak opanowanie tak potężnego narzędzia i używanie go na profesjonalnym poziomie stało się prawdziwym wyzwaniem. Ta książka jest kompletnym i zwięzłym kompendium praktycznego wykorzystania Javy. Została pomyślana w taki sposób, aby nauka języka i bibliotek odbywała się możliwie szybko. Omówiono tu bardzo dużo materiału, ale jego uporządkowanie i sposób prezentacji ułatwiają szybki dostęp do danego zagadnienia i łatwe zrozumienie treści. Dzięki temu płynnie nauczysz się wszystkich nowości, od systemu modułów „Project Jigsaw” do wyrażeń lambda czy strumieni. Opanujesz tajniki programowania współbieżnego dzięki potężnym mechanizmom dostępnym w bibliotekach. Docenisz tę książkę, jeśli profesjonalnie piszesz aplikacje w Javie, zwłaszcza jeżeli chcesz tworzyć oprogramowanie działające po stronie serwera lub w systemie Android. Najważniejsze zagadnienia: Modularyzacja, w tym stosowanie modułów zewnętrznych Testowanie kodu za pomocą JShell REPL Wyrażenia lambda i praca z kolekcjami Korzystanie ze Streams API Operacje wejścia-wyjścia, wyrażenia regularne oraz procesy Współbieżność i zadania współpracujące ze sobą Mistrz Javy — to tak dumnie brzmi!
Anubhava Srivastava
Regular expressions are a powerful tool in the programmer's toolbox and allow pattern matching. They are also used for manipulating text and data. This book will provide you with the know-how (and practical examples) to solve real-world problems using regex in Java.You will begin by discovering what regular expressions are and how they work with Java. This easy-to-follow guide is a great place from which to familiarize yourself with the core concepts of regular expressions and to master its implementation with the features of Java 9. You will learn how to match, extract, and transform text by matching specific words, characters, and patterns. You will learn when and where to apply the methods for finding patterns in digits, letters, Unicode characters, and string literals. Going forward, you will learn to use zero-length assertions and lookarounds, parsing the source code, and processing the log files. Finally, you will master tips, tricks, and best practices in regex with Java.