Take a look at our Java books. Shulph carries a great selection of Java books, and we are always adding more.
Enhance your career options with this well-crafted object-oriented programming language that enjoys the support of an enormous ecosystem of tools and libraries Key Features Get introduced to Java, its features, and its ecosystem Understand how Java uses object-oriented programming Become an expert Java exception handler Book Description 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. What you will learn Create and run Java programs Use data types, data structures, and control flow in your code Implement best practices while creating objects Work with constructors and inheritance Understand advanced data structures to organize and store data Employ generics for stronger check-types during compilation Learn to handle exceptions in your code Who this book is for Java Fundamentals is designed for tech enthusiasts who are familiar with some programming languages and want a quick introduction to the most important principles of Java.
An Ultimate Solution to Crack Java interview Key Features - Start identifying responses for various interviews for Java architecture. - Solutions to real Java scenarios and applications across the industry. - Understand the various perspectives of Java concepts from the interviewer's point of view. Description Java Professional Interview Guide aims at helping engineers who want to work in Java. The book covers nearly every aspect of Java, right from the fundamentals of core Java to advanced features such as lambdas and functional programming. Each concept's topics begin with an overview, followed by a discussion of the interview questions. Additionally, the book discusses the frameworks, Hibernate and Spring. The questions included in each topic will undoubtedly help you feel more confident during the technical interview, which will increase your chances of being selected. You will gain an understanding of both the interviewer and the interviewee's psychology. This book will help you build a solid foundation of Java, the Java architecture, and how to answer questions about Java's internal operations. You will begin to experience interview questions that cover all of Java's major concepts, from object orientation to collections. You will be able to investigate how objects are constructed and what the fundamental properties of OOPs are. Additionally, you will learn how to handle exceptions and work with files and collections. We'll cover advanced topics like functional programming and design patterns in the final chapters. The section also covers questions on Java web application development. Finally, you will be able to learn how to answer questions using industry-standard frameworks like Spring and Hibernate. What you will learn - How to prepare before an actual technical interview? - You will learn how to understand an interviewer's mindset. - What kind of questions can be asked and how can they be answered? - How to deal with cross-examination questions in an interview. - How can the interviewer reframe the questions and how can you provide solutions? Who this book is for This book is intended for both new and experienced candidates preparing for the Java Developer Interview. Although the book provides an overview of all Java and J2EE concepts, prior knowledge of basic Java is required. Table of Contents 1. The Preparation Beyond Technology 2. Architecture of Java 3. Object Orientation in Java 4. Handling Exception 5. File Handling 6. Concurrency 7. JDBC 8. Collections 9. Miscellaneous 10. Functional Programming 11. Design Patterns 12. Basics of Web 13. Spring and Spring Boot 14. Hibernate About the Authors Mandar Jog is a passionate Java trainer and has been conducting training for the last 15+ years. His expertise areas are Java & J2EE-related technologies like Spring, Spring Boot, and Hibernate, etc. Along with training, he is also a freelance author and has written a book entitled ‘Java 9.0 to 13.0’ under BPB Publications. He also works as a technical reviewer for books based on Java. He is also one of the key panelists in many of the organizations that conduct the technical interviews of Java for fresher and experienced candidates. Along with this, he is also connected with different organizations and institutions for designing the curriculum of computer engineering. He also conducts Train-the-Trainer sessions for many colleges to connect them with cutting-edge technologies. LinkedIn Profile: https://www.linkedin.com/in/mandar-jog-javatrainer/
Learn how to build scalable, resilient, and effective applications in Java that suit your software requirements. Key Features Explore advanced technologies that Java 11 delivers such as web programming and parallel computing Discover modern programming paradigms such as microservices, cloud computing and enterprise structures Build highly responsive applications with this practical introduction to Reactive programming Book Description Java is one of the most commonly used software languages by programmers and developers. In this book, you'll learn the new features of Java 11 quickly and experience a simple and powerful approach to software development. You'll see how to use the Java runtime tools, understand the Java environment, and create a simple namesorting Java application. Further on, you'll learn about advanced technologies that Java delivers, such as web programming and parallel computing, and will develop a mastermind game. Moving on, we provide more simple examples, to build a foundation before diving into some complex data structure problems that will solidify your Java 11 skills. With a special focus on the features of new projects: Project Valhalla, Project Panama, Project Amber, and Project Loom, this book will help you get employed as a top-notch Java developer. By the end of the book, you'll have a firm foundation to continue your journey toward becoming a professional Java developer. What you will learn Compile, package, and run a program using a build management tool Get to know the principles of test-driven development Separate the wiring of multiple modules from application logic Use Java annotations for configuration Master the scripting API built into the Java language Understand static versus dynamic implementation of code Who this book is for This book is for anyone who wants to learn the Java programming language. No programming experience required. If you have prior experience, it will help you through the book more easily.
Build Java Enterprise Applications and learn how Kotlin makes it easier to code them using components like JSF 2.3, Enterprise JavaBeans (EJB) 3.2, Contexts and Dependency Injection (CDI) 2.0, the Java API for WebSockets, JAX-RS 2.1, Servlet 4.0. Key Features An in-depth guide updated with all the latest features of Kotlin 1.2 and Java EE 8 Build microservices in Java EE with the help of Kotlin use cases Explore coroutines, garbage collection, multithreading, memory management and more Book Description Kotlin was developed with a view to solving programmers' difficulties and operational challenges. This book guides you in making Kotlin and Java EE work in unison to build enterprise-grade applications. Together, they can be used to create services of any size with just a few lines of code and let you focus on the business logic. Kotlin for Enterprise Applications using Java EE begins with a brief tour of Kotlin and helps you understand what makes it a popular and reasonable choice of programming language for application development, followed by its incorporation in the Java EE platform. We will then learn how to build applications using the Java Persistence API (JPA) and Enterprise JavaBeans (EJB), as well as develop RESTful web services and MicroServices. As we work our way through the chapters, we'll use various performance improvement and monitoring tools for your application and see how they optimize real-world applications. At each step along the way, we will see how easy it is to develop enterprise applications in Kotlin. By the end of this book, we will have learned design patterns and how to implement them using Kotlin. What you will learn Understand Kotlin syntax and appreciate why it's gaining in popularity Explore the Java EE ecosystem and the APIs in Java EE Implement applications using Kotlin Overcome the challenges of developing the Java EE system using Kotlin Gain insights into Java Message Services (JMS) Build RESTful MicroServices and secure applications Optimize applications with performance and monitoring tools Understand design patterns and implement them Who this book is for Kotlin for Enterprise Applications using Java EE is for Java EE developers who want to build their enterprise project or application with Kotlin or migrate from Java to Kotlin. Basic knowledge of programming is necessary to understand the key concepts covered in this book.
A comprehensive guide to get started with Java and gain insights into major concepts such as object-oriented, functional, and reactive programming Key Features Strengthen your knowledge of important programming concepts and the latest features in Java Explore core programming topics including GUI programming, concurrency, and error handling Learn the idioms and best practices for writing high-quality Java code Book Description Java is one of the preferred languages among developers, used in everything right from smartphones, and game consoles to even supercomputers, and its new features simply add to the richness of the language. This book on Java programming begins by helping you learn how to install the Java Development Kit. You will then focus on understanding object-oriented programming (OOP), with exclusive insights into concepts like abstraction, encapsulation, inheritance, and polymorphism, which will help you when programming for real-world apps. Next, you'll cover fundamental programming structures of Java such as data structures and algorithms that will serve as the building blocks for your apps. You will also delve into core programming topics that will assist you with error handling, debugging, and testing your apps. As you progress, you'll move on to advanced topics such as Java libraries, database management, and network programming, which will hone your skills in building professional-grade apps. Further on, you'll understand how to create a graphic user interface using JavaFX and learn to build scalable apps by taking advantage of reactive and functional programming. By the end of this book, you'll not only be well versed with Java 10, 11, and 12, but also gain a perspective into the future of this language and software development in general. What you will learn Learn and apply object-oriented principles Gain insights into data structures and understand how they are used in Java Explore multithreaded, asynchronous, functional, and reactive programming Add a user-friendly graphic interface to your application Find out what streams are and how they can help in data processing Discover the importance of microservices and use them to make your apps robust and scalable Explore Java design patterns and best practices to solve everyday problems Learn techniques and idioms for writing high-quality Java code Who this book is for Students, software developers, or anyone looking to learn new skills or even a language will find this book useful. Although this book is for beginners, professional programmers can benefit from it too. Previous knowledge of Java or any programming language is not required.
Get ready for a fun-filled experience of learning Java by developing games for the Android platform Key Features Learn Java, Android, and object-oriented programming from scratch Build games including Sub Hunter, Retro Pong, Bullet Hell, Classic Snake, and a 2D Scrolling Shooter Create and design your own games, such as an open-world platform game Book Description Android is one of the most popular mobile operating systems presently. It uses the most popular programming language, Java, as the primary language for building apps of all types. However, this book is unlike other Android books in that it doesn't assume that you already have Java proficiency. This new and expanded second edition of Learning Java by Building Android Games shows you how to start building Android games from scratch. The difficulty level will grow steadily as you explore key Java topics, such as variables, loops, methods, object oriented programming, and design patterns, including code and examples that are written for Java 9 and Android P. At each stage, you will put what you've learned into practice by developing a game. You will build games such as Minesweeper, Retro Pong, Bullet Hell, and Classic Snake and Scrolling Shooter games. In the later chapters, you will create a time-trial, open-world platform game. By the end of the book, you will not only have grasped Java and Android but will also have developed six cool games for the Android platform. What you will learn Set up a game development environment in Android Studio Implement screen locking, screen rotation, pixel graphics, and play sound effects Respond to a player's touch, and program intelligent enemies who challenge the player in different ways Learn game development concepts, such as collision detection, animating sprite sheets, simple tracking and following, AI, parallax backgrounds, and particle explosions Animate objects at 60 frames per second (FPS) and manage multiple independent objects using Object-Oriented Programming (OOP) Understand the essentials of game programming, such as design patterns, object-oriented programming, Singleton, strategy, and entity-component patterns Learn how to use the Android API, including Activity lifecycle, detecting version number, SoundPool API, Paint, Canvas, and Bitmap classes Build a side-scrolling shooter and an open world 2D platformer using advanced OOP concepts and programming patterns Who this book is for Learning Java by Building Android Games is for you if you are completely new to Java, Android, or game programming and want to make Android games. This book also acts as a refresher for those who already have experience of using Java on Android or any other platform without game development experience.
Leverage the power of Java and its associated machine learning libraries to build powerful predictive models Key Features Solve predictive modeling problems using the most popular machine learning Java libraries Explore data processing, machine learning, and NLP concepts using JavaML, WEKA, MALLET libraries Practical examples, tips, and tricks to help you understand applied machine learning in Java Book Description As the amount of data in the world continues to grow at an almost incomprehensible rate, being able to understand and process data is becoming a key differentiator for competitive organizations. Machine learning applications are everywhere, from self-driving cars, spam detection, document search, and trading strategies, to speech recognition. This makes machine learning well-suited to the present-day era of big data and Data Science. The main challenge is how to transform data into actionable knowledge. Machine Learning in Java will provide you with the techniques and tools you need. You will start by learning how to apply machine learning methods to a variety of common tasks including classification, prediction, forecasting, market basket analysis, and clustering. The code in this book works for JDK 8 and above, the code is tested on JDK 11. Moving on, you will discover how to detect anomalies and fraud, and ways to perform activity recognition, image recognition, and text analysis. By the end of the book, you will have explored related web resources and technologies that will help you take your learning to the next level. By applying the most effective machine learning methods to real-world problems, you will gain hands-on experience that will transform the way you think about data. What you will learn Discover key Java machine learning libraries Implement concepts such as classification, regression, and clustering Develop a customer retention strategy by predicting likely churn candidates Build a scalable recommendation engine with Apache Mahout Apply machine learning to fraud, anomaly, and outlier detection Experiment with deep learning concepts and algorithms Write your own activity recognition model for eHealth applications Who this book is for If you want to learn how to use Java's machine learning libraries to gain insight from your data, this book is for you. It will get you up and running quickly and provide you with the skills you need to successfully create, customize, and deploy machine learning applications with ease. You should be familiar with Java programming and some basic data mining concepts to make the most of this book, but no prior experience with machine learning is required.
Learn how functional programming can help you in deploying web servers and working with databases in a declarative and pure way Key Features Learn functional programming from scratch Program applications with side effects in a pure way Gain expertise in working with array tools for functional programming Book Description In large projects, it can get difficult keeping track of all the interdependencies of the code base and how its state changes at runtime. Functional Programming helps us solve these problems. It is a paradigm specifically designed to deal with the complexity of software development. This book will show you how the right abstractions can reduce complexity and make your code easy to read and understand. Mastering Functional Programming begins by touching upon the basics such as what lambdas are and how to write declarative code with the help of functions. It then moves on to more advanced concepts such as pure functions and type classes, the problems they aim to solve, and how to use them in real-world scenarios. You will also explore some of the more advanced patterns in the world of functional programming, such as monad transformers and Tagless Final. In the concluding chapters, you will be introduced to the actor model, implement it in modern functional languages, and explore the subject of parallel programming. By the end of the book, you will have mastered the concepts entailing functional programming along with object-oriented programming (OOP) to build robust applications. What you will learn Write reliable and scalable software based on solid foundations Explore the cutting edge of computer science research Effectively solve complex architectural problems in a robust way Avoid unwanted outcomes such as errors or delays and focus on business logic Write parallel programs in a functional style using the actor model Use functional data structures and collections in your day-to-day work Who this book is for If you are from an imperative and OOP background, this book will guide you through the world of functional programming, irrespective of which programming language you use.
Update your Java knowledge with the latest features of Java 11, such as the low-Overhead Garbage Collector, Local-Variable Syntax for Lambda Parameters, and Dynamic Class-File Constants Key Features Explore the latest features in Java 9,Java 10, and Java 11 Enhance your Java application development and migration approaches Full coverage of modular Java applications, G1 Garbage Collector, JMH Book Description Java 11 is a long-term release and its new features add to the richness of the language. It emphasizes variable-type inference, performance improvements, along with simplified multithreading. The Java platform has a special emphasis on modularity, making this the programming platform of choice for millions of developers. The modern Java platform can be used to build robust software applications, including enterprise-level and mobile applications. Fully updated for Java 11, this book stands to help any Java developer enjoy the richness of the Java programming language. Mastering Java 11 is your one-stop guide to fully understanding recent Java platform updates. It contains detailed explanations of the recent features introduced in Java 9, Java 10, and Java 11 along with obtaining practical guidance on how to apply the new features. As you make your way through the chapters, you'll discover further information on the developments of the Java platform and learn about the changes introduced by the variable handles and Project Coin, along with several enhancements in relation to import statements processing. In the concluding chapters, you'll learn to improve your development productivity, making your applications more efficient. You'll also be able to get to grips with the command-line flags with respect to various utilities and the command-line utility changes featured in the current Java platform. By the end of the book, you'll have obtained an advanced level understanding of the Java platform and its recent changes. What you will learn Write modular Java applications Migrate existing Java applications to modular ones Understand how the default G1 garbage collector works Leverage the possibilities provided by the newly introduced Java Shell Performance test your application effectively with the JVM harness Learn how Java supports the HTTP 2.0 standard Find out how to use the new Process API Explore the additional enhancements and features of Java 9, 10, and 11 Who this book is for Mastering Java 11 is for experienced Java developers with a solid understanding of the Java language and want to progress to an advanced level.
Master the art of implementing scalable and reactive microservices in your production environment with Java 11 Key Features Use domain-driven designs to build microservices Explore various microservices design patterns such as service discovery, registration, and API Gateway Use Kafka, Avro, and Spring Streams to implement event-based microservices Book Description Microservices are key to designing scalable, easy-to-maintain applications. This latest edition of Mastering Microservices with Java, works on Java 11. It covers a wide range of exciting new developments in the world of microservices, including microservices patterns, interprocess communication with gRPC, and service orchestration. This book will help you understand how to implement microservice-based systems from scratch. You'll start off by understanding the core concepts and framework, before focusing on the high-level design of large software projects. You'll then use Spring Security to secure microservices and test them effectively using REST Java clients and other tools. You will also gain experience of using the Netflix OSS suite, comprising the API Gateway, service discovery and registration, and Circuit Breaker. Additionally, you'll be introduced to the best patterns, practices, and common principles of microservice design that will help you to understand how to troubleshoot and debug the issues faced during development. By the end of this book, you'll have learned how to build smaller, lighter, and faster services that can be implemented easily in a production environment. What you will learn Use domain-driven designs to develop and implement microservices Understand how to implement microservices using Spring Boot Explore service orchestration and distributed transactions using the Sagas Discover interprocess communication using REpresentational State Transfer (REST) and events Gain knowledge of how to implement and design reactive microservices Deploy and test various microservices Who this book is for This book is designed for Java developers who are familiar with microservices architecture and now want to effectively implement microservices at an enterprise level. Basic knowledge and understanding of core microservice elements and applications is necessary.