Programowanie
Romain Manni-Bucau
The ease with which we write applications has been increasing, but with this comes the need to address their performance. A balancing act between easily implementing complex applications and keeping their performance optimal is a present-day need. In this book, we explore how to achieve this crucial balance while developing and deploying applications with Java EE 8. The book starts by analyzing various Java EE specifications to identify those potentially affecting performance adversely. Then, we move on to monitoring techniques that enable us to identify performance bottlenecks and optimize performance metrics. Next, we look at techniques that help us achieve high performance: memory optimization, concurrency, multi-threading, scaling, and caching. We also look at fault tolerance solutions and the importance of logging. Lastly, you will learn to benchmark your application and also implement solutions for continuous performance evaluation.By the end of the book, you will have gained insights into various techniques and solutions that will help create high-performance applications in the Java EE 8 environment.
Java EE 8. Wzorce projektowe i najlepsze praktyki
Rhuan Rocha, Joao Purificacao
Od profesjonalnych systemów informatycznych wymaga się wysokiej dostępności usług, łatwego wprowadzania niezbędnych zmian, skalowalności i możliwości przetworzenia ogromnej ilości danych. Java EE 8 znakomicie nadaje się do tworzenia aplikacji spełniających te wyśrubowane kryteria. Poza tym Java to język wieloplatformowy, jej kod jest otwarty, została dobrze przetestowana, a doświadczenie i wsparcie społeczności użytkowników okazują się nie do przecenienia. Wszechstronność i popularność Javy ma też mroczną stronę - programiści bardzo często muszą rozwiązywać istotne problemy, które zwykle dotyczą integracji usług, wysokiej dostępności i odporności systemu na błędy. Rozwiązaniem pozwalającym uniknąć wielu z tych kłopotów jest zastosowanie odpowiednich wzorców projektowych i przestrzeganie dobrych praktyk. To książka przeznaczona dla programistów, którzy chcą tworzyć aplikacje biznesowe z użyciem wzorców projektowych, wzorców biznesowych i najlepszych praktyk. Zawiera wyjaśnienie podstawowych koncepcji Javy EE 8, opis jej warstw oraz omówienie najlepszych praktyk tworzenia aplikacji biznesowych. Przedstawia zasady łączenia wzorców projektowych i wzorców biznesowych w Javie EE 8, a także techniki optymalizacji rozwiązań z wykorzystaniem programowania aspektowego, programowania reaktywnego i mikrousług. Opisano tu szereg wzorców: integracyjne, reaktywne, bezpieczeństwa, wdrażania i operacyjne. Zaprezentowano również projekt MicroProfile, przydatny do tworzenia aplikacji dla architektury mikrousług. W książce między innymi: korzyści ze stosowania wzorców projektowych wzorce warstw prezentacji i biznesowej wzorce dla aplikacji działających w chmurze implementacja wzorca SSO wzorce związane ze skalowalnością, z wydajnością i zarządzaniem aplikacją Java EE 8: zestaw świetnych narzędzi dla zawodowca!
Java EE. Zaawansowane wzorce projektowe
Murat Yener, Alex Theedom
Rozwiązania realnych problemów w Javie EE przy użyciu wzorców projektowych Platforma Java EE to najbardziej zaawansowane rozwiązanie do budowania złożonych systemów informatycznych, jakie oferuje firma Oracle. Jest wykorzystywana wszędzie tam, gdzie wymaga się najwyższej wydajności, bezpieczeństwa oraz niezawodności. Java EE dostarcza kompletny zbiór narzędzi, który pozwoli Ci zbudować aplikację o dowolnym stopniu skomplikowania. Jeżeli chcesz poznać najlepsze wzorce tworzenia oprogramowania z wykorzystaniem Javy EE, to trafiłeś na doskonałą książkę. Sięgnij po nią i poznaj podstawy pracy z tą platformą oraz klasyczne wzorce projektowe. Gdy już opanujesz fundamenty, przejdziesz do nauki zaawansowanych mechanizmów. Wstrzykiwanie zależności, porównanie CDI i EJB, budowanie serwisów REST-owych, fabryki czy fasady to tylko niektóre z poruszanych tu tematów. Ponadto przekonasz się, jak tworzyć asynchroniczne ziarna lub serwlety oraz przygotujesz własną usługę odmierzającą czas. Na sam koniec przeanalizujesz kilka antywzorców. Pamiętaj — ich nie warto stosować! Książka ta jest doskonałą lekturą dla wszystkich programistów języka Java chcących pogłębić swoją wiedzę na temat Javy EE oraz najlepszych praktyk. Dzięki tej książce nauczysz się: jak wykorzystywać adnotacyjne implementacje wzorców projektowych Javy EE i stosować przejrzystszy model programowania niż w J2EE; implementować w Javie EE najważniejsze wzorce, takie jak Fasada, Singleton, Fabryka, Dekorator, Obserwator, Wstrzykiwanie Zależności oraz Model-Widok-Kontroler; metod programowania w Javie EE, np. programowania aspektowego, asynchronicznego i implementowania REST-owych usług sieciowych; unikać błędów polegających nie nieprawidłowym stosowaniu wzorców projektowych; stosować wzorce projektowe we właściwym kontekście, a nie wszędzie gdzie się uda. Najlepsze techniki pracy z Javą EE!
Java. Efektywne programowanie. Wydanie III
Joshua Bloch
Poznaj najlepsze praktyki programowania z użyciem platformy Java Język Java jest konsekwentnie udoskonalany i unowocześniany dzięki zaangażowaniu wielu ludzi. Nowoczesny język Java staje się coraz bardziej wieloparadygmatowy, co oznacza, że stosowanie najlepszych praktyk w coraz większym stopniu determinuje jakość kodu. Obecnie napisanie kodu, który prawidłowo działa i może być łatwo zrozumiany przez innych programistów, nie wystarczy — należy zbudować program w taki sposób, aby można było go łatwo modyfikować. Jako że Java stała się obszerną i złożoną platformą, konieczne stało się uaktualnienie najlepszych praktyk. Ta książka jest kolejnym, trzecim wydaniem klasycznego podręcznika programowania w Javie. Poszczególne rozdziały zostały gruntownie przejrzane, zaktualizowane i wzbogacone o sporo ważnych treści. Znalazło się tu wiele wartościowych porad dotyczących organizowania kodu w taki sposób, aby stał się przejrzysty, co ułatwi przyszłe modyfikacje i usprawnienia. Poza takimi zagadnieniami, jak programowanie zorientowane obiektowo czy korzystanie z różnych typów, obszernie omówiono stosowanie lambd i strumieni, zasady obsługi wyjątków, korzystania ze współbieżności i serializacji. Książka składa się z dziewięćdziesięciu tematów pogrupowanych w dwanaście rozdziałów. Taki układ pozwala na szybkie odnalezienie potrzebnego rozwiązania. W książce między innymi: interfejsy funkcyjne, wyrażenia lambda, referencje do metod oraz strumienie metody domyślne i statyczne w interfejsach wnioskowanie typów korzystanie z @SafeVarargs instrukcja try z zasobami nowe elementy bibliotek Javy Java: jakość kodu, efektywność działania i przyjemność programowania.
Gazihan Alankus, Rogério Theodoro de Brito, Basheer...
Since its inception, Java has stormed the programming world. Its features and functionalities provide developers with the tools needed to write robust cross-platform applications. Java Fundamentals introduces you to these tools and functionalities that will enable you to create Java programs. The book begins with an introduction to the language, its philosophy, and evolution over time, until the latest release. You'll learn how the javac/java tools work and what Java packages are - the way a Java program is usually organized. Once you are comfortable with this, you'll be introduced to advanced concepts of the language, such as control flow keywords. You'll explore object-oriented programming and the part it plays in making Java what it is. In the concluding chapters, you'll get to grips with classes, typecasting, and interfaces, and understand the use of data structures, arrays, strings, handling exceptions, and creating generics.By the end of this book, you will have learned to write programs, automate tasks, and follow advanced courses on algorithms and data structures or explore more advanced Java courses.
Gazihan Alankus, Rogério Theodoro de Brito, Basheer...
Since its inception, Java has stormed the programming world. Its features and functionalities provide developers with the tools needed to write robust cross-platform applications. Java Fundamentals introduces you to these tools and functionalities that will enable you to create Java programs. The book begins with an introduction to the language, its philosophy, and evolution over time, until the latest release. You'll learn how the javac/java tools work and what Java packages are - the way a Java program is usually organized. Once you are comfortable with this, you'll be introduced to advanced concepts of the language, such as control flow keywords. You'll explore object-oriented programming and the part it plays in making Java what it is. In the concluding chapters, you'll get to grips with classes, typecasting, and interfaces, and understand the use of data structures, arrays, strings, handling exceptions, and creating generics.By the end of this book, you will have learned to write programs, automate tasks, and follow advanced courses on algorithms and data structures or explore more advanced Java courses.
Java FX 8 Essentials. Create amazing Java GUI applications with this hands-on, fast-paced guide
Mohamed Taman
If you are a Java developer, an experienced Java Swing, Flash/Flex, SWT, or web developer looking to take your client-side applications to the next level, this book is for you.
Yogesh Prajapati, Vishal Ranapariya
This book will provide a useful hands-on guide to Hibernate to accomplish the development of a real-time Hibernate application.We will start with the basics of Hibernate, which include setting up Hibernate – the pre-requisites and multiple ways of configuring Hibernate using Java. We will then dive deep into the fundamentals of Hibernate such as SessionFactory, session, criteria, working with objects and criteria. This will help a developer have a better understanding of how Hibernate works and what needs to be done to run a Hibernate application. Moving on, we will learn how to work with annotations, associations and collections. In the final chapters, we will see explore querying, advanced Hibernate concepts and integration with other frameworks.
Mayur Ramgir
Java 9 which is one of the most popular application development languages. The latest released version Java 9 comes with a host of new features and new APIs with lots of ready to use components to build efficient and scalable applications. Streams, parallel and asynchronous processing, multithreading, JSON support, reactive programming, and microservices comprise the hallmark of modern programming and are now fully integrated into the JDK. This book focuses on providing quick, practical solutions to enhance your application's performance. You will explore the new features, APIs, and various tools added in Java 9 that help to speed up the development process. You will learn about jshell, Ahead-of-Time (AOT) compilation, and the basic threads related topics including sizing and synchronization. You will also explore various strategies for building microservices including container-less, self-contained, and in-container. This book is ideal for developers who would like to build reliable and high-performance applications with Java. This book is embedded with useful assessments that will help you revise the concepts you have learned in this book. This book is repurposed for this specific learning experience from material from Packt's Java 9 High Performance by Mayur Ramgir and Nick Samoylov