Java is a general purpose programming language
with a number of features, particular
syntax and style, developed by Sun Microsystems. Java was
originally called
Oak (early years), and was designed for
handheld devices and set-top boxes. Oak was unsuccessful so in 1995 Sun
changed the name to Java and modified the language to
take advantage of the burgeoning World Wide Web. Java source code files (files with a .java extension) are compiled
into a format called bytecode (files with a .class extension), which can
then be executed by a Java interpreter (more detailed). Compiled Java code (or Java Java
bytecode) can run on most computers because of
Java interpreters and runtime environments, known
as JVMs, exist for
most operating
systems, including UNIX, the Macintosh OS, and Windows.
Java technology (about,
see impl1, impl2) is both a programming
language and a platform. The Java
programming language is a high-level object-oriented (class based)
language with single inheritance and supports an imperative (statement-oriented)
coding style within each method. [1] [2]
|
|
- Platform, Diagram,
docm,
8, 6
- JavaEE Platform, Technologies, APIs
- Java ME and Java Card
Technology
- Tutorials and Training, JDK Tools
- Web
Development, Frameworks
- Software
Engineering Process
- Project Health Tools, Linuxtopia,
JARs
|
Best-known online tutorials all about Java and
W3C Related Technologies
|
|
|
|
|
Java Features:
GitHub Java Features,
Java 8 Features, • winterbe • mkyong • Java 9 • journal • Java 10 Features • docs • 10-11 • blog • countdown
Other Tools: Web-Toolkit
• API's
• Programmer's Corner • Development
Tools • Database Tools • Modeling
& Design • Multimedia • Maths
- Science
Go Top
Java platform is a particular
environment in which Java programming language
applications run. Or in other meaning Java
"platform" refers to the running of Java
programs versus Java itself, which is a programming
language. Java programs are machine independent and run
intact on any hardware platform that has a Java
interpreter (program which translates the Java bytecode
into the code that can be understood by the Operating
System). This "write
once, run anywhere" (cross-platform) concept is what
makes Java so appealing. See also the, Introducing the Java Platform.
Java has its own graphical user interface routines
that are normally contained in the operating system. Since
only a small OS is required to run the Java interpreter
(in JVM), Java is closer to its own complete operating
environment than other programming languages, hence,
"Java, the platform" is often heard. Java is
used in a wide variety of computing platforms from embedded devices and mobile phones on the low end, to enterprise
servers and supercomputers on the high end.
There are several Java platforms. Many developers, even
long-time Java programming language developers, do not
understand how the different platforms relate to each other. Here are the
platforms of the Java programming language: Java SE, Java EE, Java FX, Java ME
and others are the editions
of the Java platform, which are the names for a bundle of
related programs, or platform, from Oracle which allow for
developing and running programs written in the Java
programming language. All Java Platforms consist of a JVM, an API, and other platfrom specific
components. See also: Introducing the Java Platform, The Java SE platform, Understanding who and when, Java 6 Platform Revealed, JIT Compilation and Optimizations, Java platform performance, Real Time Java Programming, Java Platform for .Net Developers
Java Virtual Machine
Java Virtual Machine (e.g. Java HotSpot Virtual Machine a
core component of a Java SE Platform
) is an abstract computing machine, or virtual machine, it
is a platform-independent execution environment that
converts bytecode (here java
bytecode) into machine language and executes it (see JVM Specification). Java bytecode
can also be converted directly into machine language
instructions by a just-in-time compiler (JIT). Also
note that, although Java programs are platform
independent, the code of the Java Virtual Machine (JVM)
that execute these programs is not; every supported
operating platform has its own JVM[3]. See also: JVM programming languages, JVM Languages, Programming for Java JVM, Jikes,
Javassist, The lean, mean, virtual machine
What is a
difference between JDK and JRE?
The two most important components of the Java Platform are the JRE
and the JDK. Main difference between JRE and JDK
is that, you can not compile Java program using JRE, only
able to run compiled java .class (bytecode)
files. Normally internet users are using JRE, but beware
of security hols comes now and then with different Java
releases. JDK is more for programmers.
Java Runtime Environment (JRE)
contains JVM, class libraries, and other supporting files.
It does not contain any development tools such as javac (java compiler), javadoc,
etc. Actually JVM runs the program, and it uses the class
libraries, and other supporting files provided in JRE. If
you want to run any java program, you need to have
JRE installed in the system. Shortly: JRE
= JVM + Java Packages Classes +runtime libraries.
Java Development Kit (JDK) is
required when you do programming in Java platform. It is a
bundle of software, e.g. you can create a Java file (using
Java packages), compile, debug and run a java file.
Shortly: JDK=JRE + Standard JDK Tools and
Utilities.
Go Top
From Java Novice to Java
Professional
Java platform consists of many components and
technologies, it is used in many different areas of todays
industry, e.g. in banking management, mobile networks,
smard-card
technology, and etc. As a beginner, best strategy of
learning Java language perfectly is depends on how you
plan your roadmap perfectly, because
this has an impact on how you become an expert in Java as
well. This corner will help you to follow up these
road-maps. But, of course, you should be responsible to
yourself to follow-up below rules) (disc
items) and strategies (ordered items).
- Learn/Study as much as materials about a
topic you need (keep small notes). Apply (use
in practice e.g. on your own PC, or better on
some real software project). Knowledge share
(explain or ask to your collegues, it helps you to
solidify your technical knowledge and improve your
presentation skills)
- Make your work/product simpler and applicable and
always follow-up/apply good design principles via
refactoring your code
- Do things continuously (assign a task to
yourself, if you start this task then complete it, if
possible regularly repeat your knowledge archives, e.g.
your notes/codes/online-resources, these helps you to
follow up new technologies and keep your forgotten data
up-to-data)
- Learn the Basics of Java (Java for Beginners)
via implementing small programs, because when you see
your first running programs (e.g. which encrypts the
List‹String›
output text using DESede algorithm with two
different security keys) it gives you motivation to go
further to learn more and more.
- Study Standard
Java page, e.g. some very often used packages, classes
e.g.
java.util, javax.sql,
NotSerializableException, AutoCloseable,
GregorianCalendar, LinkedHashSet, PriorityQueue,
CallableStatement etc. and APIs/libraries, for Processing
XML documents with StAX, Java
securit mechanisms and etc. Also, it is recommended to
obtain Oracle Certified Professional, Java SE
6/7 Programmer Certificate.
- Study Enterprise
Java page and learn about web-components
(JSPs/Servlets, JSTL, U-EL, JSFs, e.g.
javax.servlet.http:
HttpSession, WebConnection; javax.servlet.annotation:
@WebServlet ) with web-containers like Tomcat.
About JPA (@Entity, @Id, etc. ),
ejb-components (stateless and statefull beans,
session-driven beans) with Java EE servers like JBoss,
Weblogic, etc.
- Find at least junior-java-position,
ideally java-developer job at some software companies.
During the project-implementation, use correct Java
code-convetions, always double-check and test your code,
and try to apply best solution-practices from which you
have learned above so far (e.g. OO Principles and Effective Java). Parallely improve
your technical-skills on Java
frameworks like (Spring, Hibernate, Struts, jUnit,
jMock, Apache Commons, etc.), Web Services
(JAX-WS: SOAP, WSDL,
wsimport, wsgen and
JAX-RS) via studying their APIs and apply/test those
what you have learned on your real-software-project.
Meanwhile, not forget to test your Java knowledge on
wide-range of Interview questions. Also, it is
recommended to obtain Oracle Certified Professional Java
EE Web Component Developer and Java EE Web
Services Developer
Certificates.
- Now, time to be an expert (expertise
in), via studying topics in-deep like: Java
concurrency, Performance Optimization, Transaction,
Design patterns, AOP principles, etc. and take part in
every aspects of SDLC
in your project which you have been working on, and
follow-up continuous integration software
development practices and apply solution-essentilas needed for the
project. If you able to do all these, so far you are
becoming a Software Solutions Engineer on
Enterprise Domain.
- If you feel yourself as a senior, then step
further to focus on the topics like: Application
Integration Frameworks, Software Architect, etc. Here, you
can obtain most prestigious architecture level
certificate like Oracle Certified Master, Java
EE Enterprise Architect Certificate.
References
- 1. Webopedia
- 2. Sun Microsystem
- 3. JVM Tech.
- Effective Java
- Thinking in Java
- Google's Java
- Developer's Guide
- Why JAVA
|