Transitioning to Java: Kickstart your polyglot programming journey by getting a clear understanding of Java
Book information
Description
Develop your Java coding skills by exploring object-oriented methodologies, functional programming, software design patterns, and more Purchase of the print or Kindle book includes a free PDF eBook Key FeaturesGet started with programming in Java with this step-by-step guide for experienced programmersRe-enforce your knowledge of object-oriented methodologies applied in JavaDevelop the range of skills necessary for you to become a successful Java developerBook Description This comprehensive guide will help non-Java developers already using different languages transition from their current language to all things Java. The chapters are designed in a way that re-enforces a developer's existing knowledge of object-oriented methodologies as they apply to Java. This book has been divided into four sections, with each section touching upon different aspects that'll enable your effective transition. The first section helps you get to grips with the Java development environment and the Maven build tool for modern Java applications. In the second section, you'll learn about Java language fundamentals, along with exploring object-oriented programming (OOP) methodologies and functional programming and discovering how to implement software design patterns in Java. The third section shows you how to code in Java on different platforms and helps you get familiar with the challenges faced on these platforms. In the fourth section, you'll find out how you can manage and package your Java code. By the end of this Java programming book, you'll have learned the core concepts of Java that'll help you successfully transition from a different language to Java. What you will learnGain a solid understanding of the syntax in JavaExplore the object-oriented programming basics of the Java languageDiscover how to implement functions in JavaUnderstand which Java frameworks would be best for solving various problemsExplore creational, structural, and behavioral patterns in JavaGet to grips with server-side coding in JavaWho this book is for This book is for anyone who is currently working with other programming languages and wishes to add Java to their skillset. Prior working experience as a developer using languages other than Java is expected, although no prior knowledge of Java is required. Table of ContentsUnderstanding Java DistributionsCode, Compile, and ExecuteThe Maven Build ToolLanguage Fundamentals – Data Types and VariablesLanguage Fundamentals – ClassesMethods, Interfaces, Records, and Their RelationshipsJava Syntax and ExceptionsArrays, Collections, Generics, Functions, and StreamsUsing Threads in JavaImplementing Software Design Principles and Patterns in JavaDocumentation and LoggingBigDecimal and Unit TestingDesktop Graphical User Interface Coding with Swing and JavaFXServer-Side Coding with JakartaUsing Java in a Docker ContainerDeploying Java in Standalone Packages and Containers Cover Title Page Copyright and Credits Contributors About the reviewers Table of Contents Preface Part 1:The Java Development Environment Chapter 1: Understanding Java Distributions Technical requirements A little history What makes Java special? Why are there many distributions of Java? Which Java should you get? How is Java licensed? Why are there so many versions of Java? Installing Java As an admin As a non-admin What is in the box? Compiling and executing a Java program Assembling and packaging a Java application Documenting Java classes REPL Summary Further reading Chapter 2: Code, Compile, and Execute Technical requirements The first program JShell – REPL in Java The two-step compile and execute process – javac and java/javaw Launch Single-File Source-Code Programs For Windows, macOS, and Linux For macOS and Linux – Shebang files Integrated development environments Eclipse Foundation – Eclipse Apache NetBeans Microsoft Visual Studio Code JetBrains IntelliJ IDEA Which IDE should you use? Summary Further reading Chapter 3: The Maven Build Tool Technical requirements Installing Maven Windows Linux macOS Overview of Maven functionality Dependency management Maven plugins Maven project layout Java source code packages The pom.xml configuration file jar – Java archive War – web archive ear – enterprise archive pom – POM The build section Running Maven Command-line Maven Running Maven in an IDE Summary Further reading Part 2:Language Fundamentals Chapter 4: Language Fundamentals – Data Types and Variables Technical requirements Primitive data types Type safety Literal values Integers Floating point Boolean char A special case – String Naming identifiers Constants Operators Casting Overflow and underflow Wrapper classes The math library Summary Further reading Chapter 5: Language Fundamentals – Classes Technical requirements Class fields Understanding access control Packages The public specifier The private specifier The protected specifier The package specifier Understanding classes constructor and finalize methods Revising the compound interest program Class organization based on functionality Summary Further reading Chapter 6: Methods, Interfaces, Records, and Their Relationships Technical requirements Understanding methods Access control designation Static or non-static designation and the this reference Override permission – final Override required – abstract Return type Method name Parameter variables Annotations Exception handling – throws Thread setting Generic parameters Understanding inheritance The superclass of all objects, the Object class Understanding the class interface Abstract class versus interface Sealed classes and interfaces Understanding the record class Understanding polymorphism Understanding composition in classes Association Aggregation Summary Chapter 7: Java Syntax and Exceptions Technical requirements Understanding coding structures Code blocks Statements Expressions Operators Iteration Decision-making Handling exceptions The stack trace Ending the program The throw and throws statements The finally block Creating your own exception classes Summary Further reading Chapter 8: Arrays, Collections, Generics, Functions, and Streams Technical requirements Understanding the array data structure Understanding the Collections Framework Using sequential implementations and interfaces ArrayList LinkedList ArrayDeque The Collection interface How to declare a collection Understanding Generics in the Collections Framework Using sequential implementations and interfaces with Generics Understanding Collections Framework map structures HashMap LinkedHashMap TreeMap Understanding functions in Java Using streams in collections Summary Further reading Chapter 9: Using Threads in Java Technical requirements Creating Java native OS threads Extending the Thread class Implementing the Runnable interface Creating a thread pool with ExecutorService Implementing the Callable interface Managing threads Daemon and non-daemon threads Thread priority Preventing race and deadlock conditions in threads Race condition Deadlock condition Creating new virtual threads Summary Further reading Chapter 10: Implementing Software Design Principles and Patterns in Java Technical requirements SOLID software design principles S – Separation of concerns/single responsibility O – Open/closed L – Liskov substitution I – Interface segregation D – Dependency inversion Software design patterns Singleton Factory Adapter Observer Summary Further reading Chapter 11: Documentation and Logging Technical requirements Creating documentation Comments Javadocs Using logging java.util.logging Log4j2 Summary Further reading Chapter 12: BigDecimal and Unit Testing Technical requirements Using BigDecimal What is JUnit 5? Testing with JUnit 5 Performing parameterized testing Summary Further reading Part 3:GUI and Web Coding in Java Chapter 13: Desktop Graphical User Interface Coding with Swing and JavaFX Technical requirements A brief history of Java GUIs Financial calculator program design Internationalization – i18n Using the Swing GUI framework Jframe Jpanel Event handlers Document filter Pattern matching with regular expressions Controls and panels Using the JavaFX GUI framework Application PrimaryStage Pane Scene CSS style sheets JavaFX bean BigDecimalTextField Controls Binding Summary Further reading Chapter 14: Server-Side Coding with Jakarta Technical requirements Understanding the role of the Java application server GlassFish 7.0 Configuring a web project with Maven Changes to the pom.xml file Understanding what a servlet does and how it is coded What happens when a servlet is requested? How does a servlet access the query string in a request? How does a servlet remember my data? Configuring deployment with the web.xml file Summary Further reading Chapter 15: Jakarta Faces Application Technical requirements Configuring a Faces application Creating an object managed by Context Dependency Injection and validated with Bean Validation FinanceBean Scopes Calculations Using XHTML, Facelets, and Expression Language for rendering pages Deploying a Faces web application Understanding the life cycle of a Faces page Summary Further reading Part 4:Packaging Java Code Chapter 16: Deploying Java in Standalone Packages and Containers Technical requirements Exploring what modular Java is Creating a custom JRE with jlink Packaging with an installer using jpackage Using the Docker container system Working with Docker images Creating a Docker image Publishing an image Summary Further reading Index Other Books You May Enjoy
Similar books
Transitioning to Java: Kickstart your polyglot programming journey by getting a clear understanding of Java (True EPUB)
2023 · EPUB
MySQL® Notes for Professionals book
2018 · PDF
MrExcel 2022: Boosting Excel
2022 · PDF
MrExcel 2022: Boosting Excel
2022 · PDF
Session C11: Ancient Cultural Landscapes in South Europe – their Ecological Setting and Evolution, Session C22: Gardeners from South America, Session S04: Agro-Pastoralism and Early Metallurgy Sessions, Session WS29: The Idea of Enclosure in Recent Iberian Prehistory, Session C88: Rhytmes et causalites des dynamiques de l'anthropisation en Europe entre 6500 ET 500 BC: Hypotheses socio-culturelles et/ou climatiques: Proceedings of the XV UISPP World Congress (Lisbon 4-9 September 2006) / Actes du XV Congrès Mondial (Lisbonne 4-9 Septembre 2006) Vol.36
2010 · PDF
THE BRITISH ARMY IN INDIA: ITS PRESERVATION BY AN APPROPRIATE CLOTHING, HOUSING, LOCATING, RECREATIVE EMPLOYMENT, AND HOPEFUL ENCOURAGEMENT OF THE TROOPS. with AN APPENDIX ON INDIA : THE CLIMATE OP ITS HILLS ; THE DEVELOPMENT OF ITS RESODRCBS, INDUSTRY, AND ARTS ; THE ADMINISTRATION OF JUSTICE ; THE BLACK ACT ; THE PROGRESS OF CHRISTIANITY ; THE TRAFFIC IN OPIUM ; THE VALUE OF INDIA ; PERMANENT CAUSES OF DISAFFECTION, AND OF THE RECENT REBELLION ; THE TRADITIONARY POLICY; MISGOVERNMENT BY NATIVE RULERS ; ANNEXATIONS OF THEIR TERRITORY, ETC.
1858 · PDF
Idries Shah 27 Books Collection : A Perfumed Scorpion, A Veiled Gazelle, Caravan of Dreams, Darkest England, Destination Mecca, Evenings with Idries Shah, Knowing How to Know, Learning How to Learn, Letters and Lectures of Idries Shah, Neglected aspects of Sufi study, Observations, Oriental Magic, Reflections, Seeker after Truth, Special Illumination, Special Problems in the study of Sufi ideas, Sufi thought and action, Tales of the Dervishes, The Dermis Probe, The Elephant in the Dark, The Englishman Handbook, Idries Shah Antology, The Magic Monastery, The natives are restless, wisdom of the Idiots PDF.
2022 · PDF
The travels of Capts. Lewis and Clarke from St. Louis, by way of the Missouri and Columbia rivers, to the Pacific ocean; performed in the years 1804, 1805 & 1806, by order of the government of the United States. Containing delineations of the manners, customs, religion, &c. of the Indians, comp. from various authentic sources, and original documents, and a summary of the Statistical view of the Indian nations, from the official communication of Meriwether Lewis. Illustrated with a map of the country, inhabited by the western tribes of Indians
1809 · PDF