Hands-on Java 10 Programming with JShell [Video]

More Information
  • Understand Java SE 10 interactive programming (JShell) concepts and goals.
  • Understand how JShell provides a fast and friendly environment that enables you to quickly explore, discover, and experiment with Java language features and its extensive libraries.
  • See how JShell replaces the tedious cycle of editing, compiling, and executing with its Read-Evaluate-Print Loop (REPL).
  • How to work with JShell features and commands, and how to control the feedback level for more information.
  • Master JShell and use it for rapid prototyping. 
  • Build an application using the JDK internal API to execute Java code like Unix Shell scripts.

This practical video series will help you master Java SE 10's JShell core concepts, commands, and advanced features, so you can become an interactive programming Ninja.

By the end of the first section, you will have mastered JShell, Java 10's REPL (Read-Evaluate-Print Loop) flagship feature that enables you to quickly explore, discover, and experiment with the Java language and API features. You'll learn to reduce boilerplate coding using the new Java 10 feature var Local-Variable Type Inference while maintaining Java's compile-time type checking. We supply quick examples to help you understand what can and can't be done with this feature. Then you'll start and exit a JShell session, declare variables, evaluate expressions, import classes, and execute and edit code snippets.

The second section delves into more advanced and complex JShell features. You'll edit code snippets and save them to a file, open a JShell snippets file to evaluate them, and set and use your favorite external editor to edit snippets. You'll declare and use classes and methods, and learn how to use the auto-complete feature to display method parameters and overloads. You'll work with JShell commands, and show the Java API documentation in JShell, learn how JShell wraps exceptions, and how to control JShell's feedback level for more verbose information.

Finally, the third and last section will give you out-of-the-box ideas; it will show you how to import a custom package and modules for use in a JShell session, how JShell reinterprets Java for interactive use, and will provide hands-on experience of how to use the JDK internal API to develop an application to execute Java code such as Unix Shell scripts.

Style and Approach

This course takes a step-by-step approach to Java SE 10 Interactive programming core topics using JShell tool, which are explained in a conversational and easy-to-follow style. Each topic is explained sequentially in the process, with detailed explanations of the basic and advanced features of JShell.

  • Learn about JShell—Java 10's REPL (Read-Evaluate-Print Loop) flagship feature.
  • Learn how to reduce boilerplate code using the new Java 10 feature var Local-Variable Type Inference, while maintaining Java's compile-time type checking.
  • Learn to start and exit a JShell session.
  • Learn how to declare and use a class and methods.
  • Learn how to use the auto-complete feature and JShell commands and import a custom package for use in a JShell session, and how to work with modules in JShell.
  • Learn how to use the internal JDK API to develop an application to execute Java code such as Unix Shell scripts.
Course Length 3 hours 16 minutes
ISBN 9781787122901
Date Of Publication 26 Jul 2018


Mohamed Taman

Mohamed Taman is an Enterprise Architect/Senior Software Engineer at WebCentric Company. He is a frequent consultant with around 20+ years' experience in Java. He holds a Diploma in Computer and Automatic Control in 1999, and a BSc in computer systems engineering, with a major in Electrical Engineering in 2005. He formerly lived in Cairo, Egypt, but has just relocated to Belgrade, Serbia.

Mohamed's experiences strongly include development in Java and JavaScript, web, mobile, and IoT for industries including financial, banking, tourism, government, and healthcare; he has worked for Pfizer, Silicon Expert, Google, Oracle, and e-finance. He has worked with a number of technologies including UX, user-facing GUI frontend engineering, DevOps, cloud computing, AI, ML, big data, Blockchain, backend, mid-tiers, and integrations of large-scale systems in Agile environments.

Mohamed enjoys talking at international conferences to evangelize Java standards, Java EE, Java SE, and his experience in different domains, as he is a very knowledgeable Java community member. He worked closely with the teams responsible for the development of the JDK and Java EE.

In addition, he is a member of Adopt-a-JSR of Java EE 8, OpenJDK 9, 10, and 11, and JavaFX programs. He is a JCP member, was 2014 JCP Executive Committee member, and is on the Java Community Process (JCP) expert group (EG) for JSRs 354, 363, and 373.

Community-wise, Mohamed is a Java Champion, Oracle Developer Champion, EGJUG leader, MoroccoJUG member, and Oracle Egypt Architects Club board member, and won the 2014 and 2015 Duke's choice awards, 11th annual JCP adopt 2013 awards, and United Nations Mobile Hackathon 2015, gaining second place worldwide.

Mohamed is the author of his own blog http://tamanmohamed.blogspot.com, a Most Valuable Blogger (MVB) at DZone, and a Java Code Geek. Mohamed authored the JavaFX Essentials book for Packt Publishing and was a reviewer of Getting Started with Oracle Public Cloud for Packt Publishing.

You can find him on the following channels:

Twitter: @_tamanm

Facebook: https://www.facebook.com/public/Mohamed-Mahmoud-Taman

GitHub: https://github.com/mohamed-taman

LinkedIn: https://www.linkedin.com/in/mohamedtaman/

Google+: https://plus.google.com/u/0/+MohamedTaman

e-mail: mohamed.taman@gmail.com