Java Presentation
Java Presentation
-- James Gosling
USE CASES OF JAVA
• Banking Sector – for transaction management
• Retail Market – POS and billing softwares
• Stock Market – to simulate investors portfolio like
selling, and buying data
• Financial Services – client-server model
• Big Data – Hadoop, processes vast amount of data
• Android Apps – Java and kotlin
• Scientific and Research community – to deal with
massive amount of data
• Even Arduino IDE is also written in Java
• Centralized systems
USE CASES OF JAVA
• Google, Phillips, Accenture, Uber, Airbnb, Netflix,
Spotify, Instagram, Pinterest, Amazon, Most govt
organisations like DRDO and ISRO, Slack, and the list is
growing……
• Continuous testing – Selenium
• Web Applications
• Desktop Applications
• Blockchain market – Web3J, HyperLedger fabric
• SAP domain – ERP solutions like CRMs
• Devops
• Networking utilities and socket programming
Features of Java
• General purpose programming language (oops)
• Write Once, Run Anywhere (WORA)
• Security using bytecode
• Portability and platform independecy
• Large community
• High performance and speed
• Multithreaded programming
• Automatic garbage collection
• Bytecode Magic
Java Versions
• Java SE – Standard Edition
– Core platform contains core libraries and APIs
• Java ME – Micro Edition
– For mobile devices, embedded systems like set-top boxes
Java runs on top of RTOS using JIT or JVM
– Limited in ESR due to requirement of atleast 1MB RAM
and 16/32 bit platforms only
• Java EE – Enterprise Edition
– For desktop softwares and Web Apps
– JDBC, RMI, JMS (Messaging Service), Web Services, XML
processing, JavaBeans, Servlets, JSP etc…
Java in ESR
• AOT is Ahead of Time compiler tool for
converting Java Bytecode to native object
code to target embedded systems. Which runs
on JIT or JVM
Java Developer Learning path
• For Android…?
– Learn Java SE, XML, layout managers, event handlers,
Android API, Databse API, and the web service using
either Java or any other web oriented programming
language.
• For Desktop Apps…?
– Learn Java SE, Applets, XML, Swings, JavaFx, event
handlers, Database API, RMI and Socket programming.
• For Web Developer…?
– Learn Java SE, Servlets, JSP, Database API.
• Besides this, learn atleast a framework.
Spring Framework
• Application Framework for desktop as well as web
apps.
• Act as control container
• Provides Bean Factory, Aspect-Oriented
programming, Authentication, Authorization,
Support NoSQL databases and big data, Transaction
and Remote management and Testing
• MVC framework
• Integrate easily with hibernate and boot.
Hibernate Framework
• ORM Object Relational Mapping Tool
• Support Object Oriented RDBMS
• Has own accessing API called HQL
• Implemented by configuration of XML file
• Generate DB Schema
• Easily integrate with existing databases
• Provide Validations and Annotations