Tuesday, 18 October 2016

Java Programming Language

Java Logo

Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless ofcomputer architecture. As of 2016, Java is one of the most popular programming languages in use, particularly for client-server web applications, with a reported 9 million developers. Java was originally developed by James Gosling at Sun Microsystems (which has since been acquired by Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++, but it has fewer low-level facilities than either of them.

The original and reference implementation Java compilers, virtual machines, and class libraries were originally released by Sun under proprietary licences. As of May 2007, in compliance with the specifications of the Java Community Process, Sun relicensedmost of its Java technologies under the GNU General Public License. Others have also developed alternative implementations of these Sun technologies, such as the GNU Compiler for Java (bytecode compiler), GNU Classpath (standard libraries), and IcedTea-Web (browser plugin for applets). The latest version is Java 8, which is the only version currently supported for free by Oracle, although earlier versions are supported both by Oracle and other companies on a commercial basis.

James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991. Java was originally designed for interactive television, but it was too advanced for the digital cable television industry at the time. The language was initially called Oak after anoak tree that stood outside Gosling's office. Later the project went by the name Green and was finally renamed Java, from Java coffee. Gosling designed Java with a C/C++-style syntax that system and application programmers would find familiar.

Sun Microsystems released the first public implementation as Java 1.0 in 1995. It promised "Write Once, Run Anywhere" (WORA), providing no-cost run-times on popular platforms. Fairly secure and featuring configurable security, it allowed network- and file-access restrictions. Majorweb browsers soon incorporated the ability to run Java applets within web pages, and Java quickly became popular, while mostly outside of browsers, that wasn't the original plan. In January 2016, Oracle announced that Java runtime environments based on JDK 9 will discontinue the browser plugin. The Java 1.0 compiler was re-written in Java by Arthur van Hoff to comply strictly with the Java 1.0 language specification. With the advent of Java 2 (released initially as J2SE 1.2 in December 1998 – 1999), new versions had multiple configurations built for different types of platforms. J2EE included technologies and APIs for enterprise applications typically run in server environments, while J2ME featured APIs optimized for mobile applications. The desktop version was renamed J2SE. In 2006, for marketing purposes, Sun renamed new J2 versions asJava EE, Java ME, and Java SE, respectively.

In 1997, Sun Microsystems approached the ISO/IEC JTC 1 standards body and later the Ecma International to formalize Java, but it soon withdrew from the process. Java remains a de facto standard, controlled through the Java Community Process. At one time, Sun made most of its Java implementations available without charge, despite their proprietary software status. Sun generated revenue from Java through the selling of licenses for specialized products such as the Java Enterprise System. On November 13, 2006, Sun released much of its Java virtual machine (JVM) as free and open-source software, (FOSS), under the terms of the GNU General Public License (GPL). On May 8, 2007, Sun finished the process, making all of its JVM's core code available underfree software/open-source distribution terms, aside from a small portion of code to which Sun did not hold the copyright.

Sun's vice-president Rich Green said that Sun's ideal role with regard to Java was as an "evangelist". Following Oracle Corporation's acquisition of Sun Microsystems in 2009–10, Oracle has described itself as the "steward of Java technology with a relentless commitment to fostering a community of participation and transparency". This did not prevent Oracle from filing a lawsuit against Google shortly after that for using Java inside the Android SDK (see Google section below). Java software runs on everything from laptops to data centers, game consoles to scientific supercomputers. On April 2, 2010, James Gosling resigned from Oracle.

Principles

  • There were five primary goals in the creation of the Java language:
  • It must be "simple, object-oriented, and familiar".
  • It must be "robust and secure".
  • It must be "architecture-neutral and portable".
  • It must execute with "high performance".
  • It must be "interpreted, threaded, and dynamic".
One design goal of Java is portability, which means that programs written for the Java platform must run similarly on any combination of hardware and operating system with adequate runtime support. This is achieved by compiling the Java language code to an intermediate representation called Java bytecode, instead of directly to architecture-specific machine code. Java bytecode instructions are analogous to machine code, but they are intended to be executed by a virtual machine (VM) written specifically for the host hardware. End userscommonly use a Java Runtime Environment (JRE) installed on their own machine for standalone Java applications, or in a web browser for Java applets. Standard libraries provide a generic way to access host-specific features such as graphics, threading, and networking.

The use of universal bytecode makes porting simple. However, the overhead of interpreting bytecode into machine instructions makes interpreted programs almost always run more slowly than native executables. However, just-in-time (JIT) compilers that compile bytecodes to machine code during runtime were introduced from an early stage. Java itself is platform-independent, and is adapted to the particular platform it is to run on by a Java virtual machine for it, which translates the Java bytecode into the platform's machine language.

33 comments:

  1. Really, these quotes are the holistic approach toward mindfulness. In fact, all of your posts are. Proudly saying I’m getting fruitfulness out of what you write and share. Thank you so much.. Java Training in Bangalore

    ReplyDelete
  2. Thanks for this blog. Provided great information. All the details are explained clearly with the great explanation.Get more Java Training in Marathahalli
    Python Training in Marathahalli

    ReplyDelete
  3. Your information about Java is useful for me to know more technical information. Really very informative post you shared here. Keep sharing this type of informative blog.

    White Label Website Builder

    ReplyDelete
  4. Thanks for sharing, Reach your Goal & finally get a successful future. If you want to learn a high level language…
    Java Training in Marathahalli
    Python Training in Marathahalli


    ReplyDelete
  5. It’s great to come across a blog every once in a while that isn’t the same out of date rehashed material. Fantastic read.

    Java Training in Bangalore|

    ReplyDelete
  6. Thank you a lot for providing individuals with a very spectacular possibility to read critical reviews from this site.


    http://www.traininginmarathahalli.in/

    ReplyDelete
  7. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here
    "Devops Training in Chennai"

    ReplyDelete
  8. It’s always so sweet and also full of a lot of fun for me personally and
    my office colleagues to search your blog a minimum of thrice in a
    week to see the new guidance you have got.


    Selenium Training in Chennai

    ReplyDelete
  9. Hello! This is my first visit to your blog! We are a team of volunteers and starting a new initiative in a community in the same niche. Your blog provided us useful information to work on. You have done an outstanding job.

    https://goo.gl/3Rs1DH

    ReplyDelete
  10. Greeting! Just leaving a note to let you know how much I appreciate this post, I can tell a lot of effort had been put in! Keep it up! If you ever want to register a business, I know the best business incorporation provider! accounting company now!

    ReplyDelete
  11. I have Read your blog.it was so interesting to scrutinize and I feel as a result of you for posting such a better than average blog, keep revives as often as possible... Java Training in Chennai
    Unix Training in Chennai

    ReplyDelete
  12. It's interesting that many of the bloggers to helped clarify a few things for me as well as giving. Most of ideas can be nice content. The people to give them a good shake to get your point and across the command.
    oracle training in chennai|| hadoop training in chennai

    ReplyDelete
  13. I simply wanted to thank you so much again. I am not sure the things that I might have gone through without the type of hints revealed by you regarding that situation.
    Best Java Training Institute Chennai

    ReplyDelete
  14. I wish to show thanks to you just for bailing me out of this particular trouble.As a result of checking through the net and meeting techniques that were not productive, I thought my life was done.

    oracle training in bangalore

    ReplyDelete
  15. This is my first visit here. I found some really interesting stuff in your blog especially this discussion. Keep up the good work.Such Great & Useful Knowledge You Mentioned Here,Thanks for this great post!

    Java Training in Bangalore

    ReplyDelete
  16. Thanks for sharing this information admin, it helps me to learn new things. Continue sharing more like this.
    DevOps certification Chennai
    DevOps Training in Chennai

    ReplyDelete
  17. Great informative bog. Thanks for sharing such a valuable information with us.

    naradhar
    Guest posting sites

    ReplyDelete
  18. Nice way of expressing your ideas with us.
    thanks for sharing with us and please add more information's.
    devops training near me
    devops training in chennai
    devops training near me
    devops training in bangalore

    ReplyDelete
  19. Informative & Useful post.Thanks for sharing that valuable post. I really enjoy your post. I will be waiting for your another blog ....Vendor Reconciliation
    Warehouse Audit
    top ca firms in gurgaon

    ReplyDelete
  20. You are doing a great job. I would like to appreciate your work for good accuracy
    Data Science With R

    ReplyDelete

adss

Author

About me