Practical Java Programming for IoT, AI, and Blockchain

Book description

Learn practical uses for some of the hottest tech applications trending among technology professionals 

We are living in an era of digital revolution. On the horizon, many emerging digital technologies are being developed at a breathtaking speed. Whether we like it or not, whether we are ready or not, digital technologies are going to penetrate more and more, deeper and deeper, into every aspect of our lives. This is going to fundamentally change how we live, how we work, and how we socialize.

Java, as a modern high-level programming language, is an excellent tool for helping us to learn these digital technologies, as well as to develop digital applications, such as IoT, AI, Cybersecurity, Blockchain and more. Practical Java Programming uses Java as a tool to help you learn these new digital technologies and to be better prepared for the future changes.

  • Gives you a brief overview for getting started with Java Programming
  • Dives into how you can apply your new knowledge to some of the biggest trending applications today
  • Helps you understand how to program Java to interact with operating systems, networking, and mobile applications
  • Shows you how Java can be used in trending tech applications such as IoT (Internet of Things), AI (Artificial Intelligence), Cybersecurity, and Blockchain

Get ready to find out firsthand how Java can be used for connected home devices, healthcare, the cloud, and all the hottest tech applications. 

Table of contents

  1. Cover
  2. Preface
  3. Introduction
    1. How This Book Is Organized
    2. Who This Book Is For
    3. What This Book Is Not For
    4. What You Need
  4. Part I
    1. CHAPTER 1: Introduction to Java
      1. 1.1 What Is Java?
      2. 1.2 Versions of Java
      3. 1.3 Java Architecture
      4. 1.4 Editions of Java
      5. 1.5 The Java Spring Framework
      6. 1.6 Advantages and Disadvantages of Java
      7. 1.7 Java Certification
      8. 1.8 Summary
      9. 1.9 Chapter Review Questions
    2. CHAPTER 2: Getting Started with Java Programming
      1. 2.1 Downloading and Installing Java
      2. 2.2 Java IDEs
      3. 2.3 Java Hello World Program
      4. 2.4 Java Online Compilers
      5. 2.5 Java Online Code Converters
      6. 2.6 Java Free Online Courses and Tutorials
      7. 2.7 Java Version Control
      8. 2.8 Summary
      9. 2.9 Chapter Review Questions
  5. Part II
    1. CHAPTER 3: Basic Java Programming
      1. 3.1 Introduction
      2. 3.2 Variables
      3. 3.3 Operators
      4. 3.4 Reserved Words
      5. 3.5 Input and Output
      6. 3.6 Loops and Selections
      7. 3.7 Arrays, Matrices, and ArrayLists
      8. 3.8 Reading and Writing Files
      9. 3.9 Methods
      10. 3.10 Object-Oriented Programming
      11. 3.11 Multithreading
      12. 3.12 Date, Time, Timer, and Sleep Methods
      13. 3.13 Executing System Commands
      14. 3.14 Packages and Programming on a Large Scale
      15. 3.15 Software Engineering
      16. 3.16 Deploying Java Applications
      17. 3.17 Summary
      18. 3.18 Chapter Review Questions
    2. CHAPTER 4: Java Programming for Windows Applications
      1. 4.1 Introduction
      2. 4.2 Java Swing Applications
      3. 4.3 JavaFX Applications
      4. 4.4 Deploying JavaFX Applications
      5. 4.5 Summary
      6. 4.6 Chapter Review Questions
    3. CHAPTER 5: Java Programming for Networking Applications
      1. 5.1 Introduction
      2. 5.2 Java Network Information Programming
      3. 5.3 Java Socket Programming
      4. 5.4 Java HTTP Programming
      5. 5.5 Java Email SMTP Programming
      6. 5.6 Java RMI Client-Server Programming
      7. 5.7 Getting Started with SDN
      8. 5.8 Java Network Programming Resources
      9. 5.9 Summary
      10. 5.10 Chapter Review Questions
    4. CHAPTER 6: Java Programming for Mobile Applications
      1. 6.1 Introduction
      2. 6.2 Android Studio
      3. 6.3 The Hello World App
      4. 6.4 The Button and TextView Apps
      5. 6.5 The Sensor App
      6. 6.6 Deploying Android Apps
      7. 6.7 The Activity Life Cycle of an Android App
      8. 6.8 MIT App Inventor
      9. 6.9 5G
      10. 6.10 Summary
      11. 6.11 Chapter Review Questions
  6. Part III
    1. CHAPTER 7: Java Programming for IoT Applications
      1. 7.1 What Is the Internet of Things?
      2. 7.2 IoT Communication Protocols
      3. 7.3 IoT Platforms
      4. 7.4 IoT Security
      5. 7.5 Why Java?
      6. 7.6 Java IoT with Raspberry Pi
      7. 7.7 An Oracle Java ME Embedded Client
      8. 7.8 Other Java IoT Uses
      9. 7.9 Summary
      10. 7.10 Chapter Review Questions
    2. CHAPTER 8: Java Programming for AI Applications
      1. 8.1 What Is Artificial Intelligence?
      2. 8.2 Neural Networks
      3. 8.3 Machine Learning
      4. 8.4 Deep Learning
      5. 8.5 Java AI Libraries
      6. 8.6 Java Examples for Neural Networks
      7. 8.7 Java Examples for Machine Learning
      8. 8.8 Java Examples for Deep Learning
      9. 8.9 TensorFlow for Java
      10. 8.10 AI Resources
      11. 8.11 Summary
      12. 8.12 Chapter Review Questions
    3. CHAPTER 9: Java Programming for Cybersecurity Applications
      1. 9.1 What Is Cybersecurity?
      2. 9.2 What Is Encryption?
      3. 9.3 Hash Functions and Message Digests
      4. 9.4 Digital Signatures
      5. 9.5 Digital Certificates
      6. 9.6 Case Study 1: Secure Email
      7. 9.7 Case Study 2: Secure Web
      8. 9.8 Java Private Key Encryption Example
      9. 9.9 Java Public Key Encryption Example
      10. 9.10 Java Digital Signature/Message Digest Example
      11. 9.11 Java Digital Certificate Example
      12. 9.12 Other Java Examples
      13. 9.13 Summary
      14. 9.14 Chapter Review Questions
    4. CHAPTER 10: Java Programming for Blockchain Applications
      1. 10.1 What Is Blockchain?
      2. 10.2 How Do You Validate a Blockchain?
      3. 10.3 How Do You Mine the Blocks?
      4. 10.4 How Does Blockchain Work?
      5. 10.5 Uses of Blockchain
      6. 10.6 Issues with Blockchain
      7. 10.7 Java Blockchain Examples
      8. 10.8 Java Blockchain Transaction Examples
      9. 10.9 Java BitcoinJ Example
      10. 10.10 Java Web3j Examples
      11. 10.11 Java EthereumJ Examples
      12. 10.12 Java Ethereum Smart Contract Example
      13. 10.13 Go Further: Choosing a Blockchain Platform
      14. 10.14 Summary
      15. 10.15 Chapter Review Questions
    5. CHAPTER 11: Java Programming for Big Data Applications
      1. 11.1 What Is Big Data?
      2. 11.2 Sources of Big Data
      3. 11.3 The Three Vs of Big Data
      4. 11.4 Benefits of Big Data
      5. 11.5 What Is Hadoop?
      6. 11.6 Key Components of Hadoop
      7. 11.7 Implementing Hadoop on a Raspberry Pi Cluster
      8. 11.8 Java Hadoop Example
      9. 11.9 Summary
      10. 11.10 Chapter Review Questions
  7. APPENDIX A: Java Documentation and Archiving Tools and Online Resources
    1. Javadoc Tutorial
    2. JAR Tutorial
    3. Useful Java Resources
  8. APPENDIX B: Apache Maven Tutorial
    1. Downloading Maven
    2. Creating a Maven Project
    3. Compiling and Building the Maven Project
    4. Running the Maven Project
  9. APPENDIX C: Git and GitHub Tutorial
  10. Index
  11. End User License Agreement

Product information

  • Title: Practical Java Programming for IoT, AI, and Blockchain
  • Author(s): Perry Xiao
  • Release date: July 2019
  • Publisher(s): Wiley
  • ISBN: 9781119560012