Java: Introduction and Overview: For Customized Java-Related Training at
Java: Introduction and Overview: For Customized Java-Related Training at
Java: Introduction
and Overview
Originals of slides and source code for examples: http://courses.coreservlets.com/Course-Materials/java.html
Also see Java 8 tutorial: http://www.coreservlets.com/java-8-tutorial/ and many other Java EE tutorials: http://www.coreservlets.com/
Customized Java training courses (onsite or at public venues): http://courses.coreservlets.com/java-training.html
Developed and taught by well-known author and developer. At public venues or onsite at your location.
Courses
and taught Android,
by coreservlets.com
expertsSpring
(editedMVC,
by Marty)
Java
7, Java developed
8, JSF 2, PrimeFaces,
JSP, Ajax, jQuery,
RESTful Web Services, GWT, Hadoop.
Spring MVC, Core Spring, Hibernate/JPA, Hadoop, HTML5, RESTful Web Services
Java is Web-enabled?
Java is safe?
Java is cross-platform?
Java is simple?
Java is powerful?
Java is popular?
Developed and taught by well-known author and developer. At public venues or onsite at your location.
Java is Web-Enabled?
Truth: Web browsers can run Java applets
The Web can be used for software delivery and execution,
not just document delivery and display
No more installation or updates; just a bookmark
Large, complex applets best suited for intranets. Fits the
APL model better than the WWW at large.
Java is Web-Enabled?
Myth: Java is only for the Web
Java applets run in Web pages
Java applications run stand-alone
Current usage (roughly)
Client (applet): 5%
Desktop (application): 10%
Mobile (Android/Blackberry): 25%
Server (JSF/servlets/JSP/Hadoop): 60%
Java is Safe?
Java is Safe?
Truth: Restrictions on permissible
operations can be enforced
No raw memory manipulation (directly or indirectly).
Thus, it is easy to identify prohibited operations.
Java is Safe?
Myth: Applets cannot harm your computer
Denial of service
Browser misconfiguration
Implementation bugs
Java is Cross-Platform?
Truth: Java programs can compile to
machine-independent bytecode
Java
Source Code
Compiler
(javac)
Java Bytecode
Compile Time
Java Bytecode
JIT Compiler
or Interpreter
Execution
Run Time
Java is Cross-Platform?
Myth: Safety and machine independence
can be achieved with no performance
penalty
Current systems are about 20% slower than C++
Upcoming releases claim to lower or eliminate that gap
I expect the gap to stay at 10% or more
Java is Cross-Platform?
Myth: Write Once Run Anywhere
Cross-platform code can be achieved, but you must test
on all platforms you will deliver on.
Java apps can execute local code
The graphics library behaves
slightly differently on different platforms
The behavior of the thread scheduler
is only loosely defined
Java is Simple?
Truth: Java greatly simplifies several
language features
Java has automatic memory management
Does Windows and takes out the garbage
No dangling pointers. No memory leaks.
Java is Simple?
Myth: Java programming is simple
Star Office
MS Office Competitor Written in Java
Java is Powerful?
Truth: Java has a rich set of standard
libraries
Networking
Threads (lightweight processes)
Distributed objects
Database access
Graphics: GUI controls and drawing
Data structure library
Arbitrary precision integral and fixed-point arithmetic
Digital signatures
Serialization (transmitting/reassembling data structures)
File and stream compression
XML parsing
Web services
Java is Powerful?
Myth: Java will increase programmer
productivity for all applications by XXX%.
Myth: Java will kill C++
Myth: All software should be written in Java
Unix utilities: C
Desktop utilities: Python, Perl
Small/medium Windows-only programs: Visual Basic
String parsing: Perl
High-performance, single-platform OO systems: C++
Air traffic control, aircraft flight software: Ada
Knowledge-based systems: Lisp/CLOS
High-performance number crunching: FORTRAN
Java also a good alternative for many of these
Java is Popular?
This reflects job postings that contain the keyword in the title or keywords. Since value is in percent, the specific ups and downs
are not so relevant (perhaps there was an increase in teacher or construction jobs), but the relative values are instructive.
Java is Popular?
Data for US jobs from indeed.com as of November 2014, averaged over all states.
Java is Popular?
Java is Popular?
Developed and taught by well-known author and developer. At public venues or onsite at your location.
Standard Edition
Java SE
This is often what people mean when they say
Java or the Java programming language
Applications
Desktop programming
Applets, Java FX
Java WebStart
Big data apps
Base on which to build Web apps that are not full Java EE
Famous examples
Minecraft client
Eclipse, NetBeans, IntelliJ IDEA
Hadoop
Ant and ANTLR
GWT (Google Web Toolkit) and Laszlo
Enterprise Edition
Java EE (formerly J2EE)
This is Java running on app servers
Applications
JSF, PrimeFaces, servlets, JSP,
EJB, Spring, Hibernate
Famous examples
Google home page, gmail,
Google Maps, Google Docs
Ebay and PayPal
walmart.com, kmart.com, target.com, kohls.com, macys.com,
homedepot.com, ikea.com, llbean.com
travelocity.com, orbitz.com, hotwire.com, hotels.com
Baltimore Orioles, Baltimore Ravens,
Washington Nationals, Washington Redskins
Minecraft server
Micro Edition
(or Java SE for Phones)
Java ME
This is Java running on small devices
Applications
Cell phone apps, embedded apps,
printers, etc.
Famous examples
Blackberry
Android
This is really optimized
Java SE, not Java ME
Amazon Kindle
All Blu-Ray DVD players
Sony Ericson phones
EA Mobile
Wrap-Up
Customized Java EE Training: http://courses.coreservlets.com/
Java 7, Java 8, JSF 2, PrimeFaces, Android, JSP, Ajax, jQuery, Spring MVC, RESTful Web Services, GWT, Hadoop.
Developed and taught by well-known author and developer. At public venues or onsite at your location.
Summary
Java is a general purpose language
Supports standalone apps, browser-based applets, serverside programs, cell phones, and more
It is by far the most widely used language in the world
Questions?
More info:
http://courses.coreservlets.com/Course-Materials/java.html General Java programming tutorial
http://www.coreservlets.com/java-8-tutorial/ Java 8 tutorial
http://courses.coreservlets.com/java-training.html Customized Java training courses, at public venues or onsite at your organization
http://coreservlets.com/ JSF 2, PrimeFaces, Java 7 or 8, Ajax, jQuery, Hadoop, RESTful Web Services, Android, HTML5, Spring, Hibernate, Servlets, JSP, GWT, and other Java EE training
Many additional free tutorials at coreservlets.com (JSF, Android, Ajax, Hadoop, and lots more)
Developed and taught by well-known author and developer. At public venues or onsite at your location.