What is JAVA?
Java is a high-level programming language, which is class-based and object-oriented. Its design seeks to have as few implementation dependencies as possible. This makes it an ideal language for building complex applications. It is very flexible and is often used to build large enterprise systems. You can use Java to create websites, mobile applications, and much more.
Java is a powerful programming language that helps developers build applications faster and more easily. The language was originally developed by the team at Sun Microsystems, which was later acquired by Oracle. Java has a rich history and continues to evolve. In addition, it has a thriving developer community, and more than 9 million people use Java to develop applications.
Java is widely used today in desktop applications, mobile devices, and web applications. The Java language is also used in integrated development environments, such as Eclipse, for cross-platform development. While Java applets are no longer the de facto standard for interactive web applications, Java code is used to power many web applications.
Java is a multi-platform, object-oriented, and network-centric programming language. It is considered one of the fastest, most reliable programming languages in the world. Developed by Sun Microsystems in 1995, it has become a staple in the digital world. It powers a vast array of computing platforms, from mobile devices to enterprise servers to supercomputers
Java is a computing platform first released by Sun Microsystems in 1995. It is the underlying technology that powers state-of-the-art programs including utilities, games, and business applications. Java runs on more than 850 million personal computers worldwide and on billions of devices worldwide, including mobile and TV devices.
The Java programming language is a high-level language that can be characterized by all of the following buzzwords:
|
|
An overview of the software development process:
In the Java programming language, all source code is first written in plain text files ending with the.java
extension. Those source files are then compiled into .class
files by the javac
compiler. A .class
file does not contain code that is native to your processor; it instead contains bytecodes — the machine language of the Java Virtual Machine (Java VM). The java
launcher tool then runs your application with an instance of the Java Virtual Machine.Through the Java VM, the same application is capable of running on multiple platforms.
Because the Java VM is available on many different operating systems, the same.class
files are capable of running on Microsoft Windows, the Solaris™ Operating System (Solaris OS), Linux, or Mac OS. Some virtual machines, such as the Java SE HotSpot at a Glance, perform additional steps at run time to give your application a performance boost. This includes various tasks such as finding performance bottlenecks and recompiling (to native code) frequently used sections of code.Benefits of Java:
- Get started quickly: Although the Java programming language is a powerful object-oriented language, it's easy to learn, especially for programmers already familiar with C or C++.
- Write less code: Comparisons of program metrics (class counts, method counts, and so on) suggest that a program written in the Java programming language can be four times smaller than the same program written in C++.
- Write better code: The Java programming language encourages good coding practices, and automatic garbage collection helps you avoid memory leaks. Its object orientation, its JavaBeans™ component architecture, and its wide-ranging, easily extendible API let you reuse existing, tested code and introduce fewer bugs.
- Develop programs more quickly: The Java programming language is simpler than C++, and as such, your development time could be up to twice as fast when writing in it. Your programs will also require fewer lines of code.
- Avoid platform dependencies: You can keep your program portable by avoiding the use of libraries written in other languages.
- Write once, run anywhere: Because applications written in the Java programming language are compiled into machine-independent bytecodes, they run consistently on any Java platform.
- Distribute software more easily: With Java Web Start software, users will be able to launch your applications with a single click of the mouse. An automatic version check at startup ensures that users are always up to date with the latest version of your software. If an update is available, the Java Web Start software will automatically update their installation.
Java Platform, Standard Edition (Java SE)
Java Platform, Standard Edition (Java SE) lets you develop and deploy Java applications on desktops and servers, as well as in today's demanding embedded environments. Java offers the rich user interface, performance, versatility, portability, and security that today’s applications require.
Oracle has two products that implement Java Platform Standard Edition (Java SE) 7:
- Java SE Development Kit (JDK) 7 and Java
- SE Runtime Environment (JRE) 7.
JDK 7 is a superset of JRE 7, and contains everything that is in JRE 7, plus tools such as the compilers and debuggers necessary for developing applets and applications.
JRE 7 provides the libraries, the Java Virtual Machine (JVM), and other components to run applets and applications written in the Java programming language. Note that the JRE includes components not required by the Java SE specification, including both standard and non-standard Java components.
To download JDK and JRE Click Here
Tutorials:
These tutorials are being shared from the Official website of Oracle. This very useful, informative, and complete tutorial to learn Java as you desired.
- Getting Started — An introduction to Java technology and lessons on installing Java development software and using it to create a simple program.
- Learning the Java Language — Lessons describing the essential concepts and features of the Java Programming Language.
- Essential Java Classes — Lessons on exceptions, basic input/output, concurrency, regular expressions, and the platform environment.
- Collections — Lessons on using and extending the Java Collections Framework.
- Deployment — How to package applications and applets using JAR files, and deploy them using Java Web Start and Java Plug-in.
- Preparation for Java Programming Language Certification — List of available training and tutorial resources.
- Creating a GUI with Swing — A comprehensive introduction to GUI creation on the Java platform.
- Creating a JavaFX GUI — A collection of JavaFX tutorials.
Getting Started with Swing is a quick start lesson. First, it gives you a bit of background about Swing. Then it tells you how to compile and run programs that use Swing components.
Learning Swing with the NetBeans IDE is the fastest and easiest way to begin working with Swing. This lesson explores the NetBeans IDE's GUI builder, a powerful feature that lets you visually construct your Graphical User Interfaces.
Using Swing Components tells you how to use each of the Swing components — buttons, tables, text components, and all the rest. It also tells you how to use borders and icons.
Concurrency in Swing discusses concurrency as it applies to Swing programming. Information on the event dispatch thread and the SwingWorker class are included.
Using Other Swing Features tells you how to use actions, timers, and the system tray; how to integrate with the desktop-class, how to support assistive technologies, how to print tables and text, how to create a splash screen, and how to use modality in dialogs.
Laying Out Components Within a Container tells you how to choose a layout manager, how to use each of the layout manager classes the Java platform provides, how to use absolute positioning instead of a layout manager, and how to create your own layout manager.
Modifying the Look and Feel tells you how to specify the look and feel of Swing components.
Drag and Drop and Data Transfer tells you what you need to know to implement data transfer in your application.
Writing Event Listeners tells you how to handle events in your programs.
Performing Custom Painting gives you information on painting your own Swing components. It discusses painting issues specific to Swing components, provides an overview of painting concepts, and has examples of custom components that paint themselves.
- Custom Networking — An introduction to the Java platform's powerful networking features.
- The Extension Mechanism — How to make custom APIs available to all applications running on the Java platform.
- Full-Screen Exclusive Mode API — How to write applications that more fully utilize the user's graphics hardware.
- Generics — An enhancement to the type system that supports operations on objects of various types while providing compile-time type safety. Note that this lesson is for advanced users.
- Internationalization — An introduction to designing software so that it can be easily adapted (localized) to various languages and regions.
- JavaBeans — The Java platform's component technology.
- JDBC Database Access — Introduces an API for connectivity between Java applications and a wide range of databases and data sources.
- JMX— Java Management Extensions provides a standard way of managing resources such as applications, devices, and services.
- JNDI— Java Naming and Directory Interface enables accessing the Naming and Directory Service such as DNS and LDAP.
- JAXP — Introduces the Java API for XML Processing (JAXP) 1.4 technology.
- JAXB — Introduces the Java architecture for XML Binding (JAXB) technology.
- RMI — The Remote Method Invocation API allows an object to invoke methods of an object running on another Java Virtual Machine.
- Reflection — An API that represents ("reflects") the classes, interfaces, and objects in the current Java Virtual Machine.
- Security — Java platform features that help protect applications from malicious software.
- Sound — An API for playing sound data from applications.
- 2D Graphics — How to display and print 2D graphics in applications.
- Sockets Direct Protocol — How to enable the Sockets Direct Protocol to take advantage of InfiniBand.