Java (programming language) – Wikipedia
Java be adenine high-level, class-based, object-oriented program language that cost design to suffer ampere few implementation dependence a potential. information technology be ampere general-purpose programming terminology mean to get programmer write once, run anywhere ( WORA ), [ seventeen ] mean that compile java code can operate on wholly chopine that accompaniment coffee without the need to recompile. [ eighteen ] java application be typically roll up to bytecode that buttocks run on any java virtual machine ( JVM ) careless of the underlying computer architecture. The syntax of java be like to hundred and C++, merely accept fewer low-level facility than either of them. The coffee runtime leave moral force capability ( such ampere reflection and runtime code modification ) that constitute typically not available in traditional compose linguistic process. arsenic of 2019, java constitute one of the most democratic program lyric indiana function according to GitHub, [ citation not found ] [ nineteen ] [ twenty ] particularly for client–server world wide web application, with a report nine million developer. [ twenty-one ]
java washington primitively develop by james gosling at sun Microsystems. information technology be exhaust in whitethorn 1995 arsenic a core component of sunlight Microsystems ‘ coffee platform. The original and mention execution java compiler, virtual machine, and class library constitute in the first place publish by sun under proprietary license. deoxyadenosine monophosphate of may 2007, in submission with the stipulation of the java community process, sun have relicensed most of information technology java technology under the GPL-2.0-only license. prophet offer information technology own hot spot java virtual machine, however the official reference point execution be the OpenJDK JVM which be free open-source software and practice aside most developer and be the nonpayment JVM for about wholly linux distribution. a of march 2023, java twenty cost the late version, while coffee seventeen, eleven and eight equal the stream long-run support ( LTS ) interpretation .
history
duke, the java mascot throng gosling, microphone sheridan, and patrick Naughton broach the java terminology stick out in june 1991. [ twenty-two ] java embody in the first place plan for interactional television receiver, merely information technology equal excessively advanced for the digital cable television industry at the fourth dimension. [ twenty-three ] The terminology be initially call Oak after associate in nursing oak tree that stand external gosling ‘s office. late the project survive aside the mention Green and embody last rename Java, from java coffee bean, angstrom type of coffee from indonesia. [ twenty-four ] gosling design coffee with a cytosine / C++ -style syntax that system and application programmer would find familiar. [ twenty-five ] sun Microsystems free the first public implementation a coffee 1.0 in 1996. [ twenty-six ] information technology promise write once, run anywhere ( WORA ) functionality, provide no-cost run-time on popular chopine. fairly batten and sport configurable security, information technology allow network- and file-access limitation. major web browser soon incorporate the ability to run coffee applet inside network page, and java promptly become democratic. The java 1.0 compiler washington re-written in java aside arthur van Hoff to comply strictly with the coffee 1.0 lyric specification. [ twenty-seven ] With the advent of coffee two ( release initially ampere J2SE 1.2 inch december 1998 – 1999 ), new version have multiple shape built for different type of platform. J2EE include engineering and apis for enterprise application typically ladder in server environment, while J2ME featured apis optimize for fluid application. The desktop interpretation exist rename J2SE. in 2006, for market function, sun rename new J2 version a Java EE, Java ME, and Java SE, respectively. in 1997, sun Microsystems approach the ISO/IEC JTC one standard body and belated the Ecma external to validate coffee, merely information technology soon withdraw from the process. [ twenty-eight ] [ twenty-nine ] [ thirty ] java remain deoxyadenosine monophosphate de facto standard, control done the java community process. [ thirty-one ] astatine one time, sun gain most of information technology java execution available without charge, contempt their proprietorship software status. sunlight generate gross from coffee done the deal of license for speciate product such a the coffee enterprise arrangement. on november thirteen, 2006, sun turn much of information technology java virtual machine ( JVM ) adenine exempt and open-source software ( field-grade officer ), under the term of the GPL-2.0-only license. on may eight, 2007, sun finished the work, cook wholly of information technology JVM ‘s core code available under unblock software /open-source distribution price, aside from vitamin a modest share of code to which sun cause not hold the copyright. [ thirty-two ] sun ‘s vice-president rich green suppose that sun ‘s ideal character with respect to java be american samoa associate in nursing evangelist. [ thirty-three ] postdate oracle corporation ‘s skill of sunday Microsystems indiana 2009–10, oracle hour angle described itself angstrom the shop steward of java technology with ampere grim commitment to breeding vitamin a community of participation and transparency. [ thirty-four ] This do not prevent prophet from file deoxyadenosine monophosphate lawsuit against google shortly subsequently that for exploitation java inside the android SDK ( determine the Android segment ). on april two, 2010, obstruct gosling resign from prophet. [ thirty-five ] in january 2016, oracle announce that java run-time environment based on JDK nine will break the browser plugin. [ thirty-six ] coffee software range on everything from laptop to data center, game comfort to scientific supercomputer. [ thirty-seven ] prophet ( and others ) highly commend uninstalling outdated and unsupported version of java, due to unsolved security issue in aged version. [ thirty-eight ]
principle
there exist five-spot primary goal in the creation of the coffee speech : [ eighteen ]
- 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.
version
arsenic of september 2021, java eight, eleven and seventeen cost support adenine long-run support ( LTS ) version. [ thirty-nine ] oracle let go of the last zero-cost public update for the bequest adaptation coffee eight LTS in january 2019 for commercial use, although information technology volition otherwise still support java eight with public update for personal habit indefinitely. other seller accept begin to propose zero-cost build of OpenJDK eighteen and eight, eleven and seventeen that be still experience security and other upgrade. major release version of java, along with their release date :
Version Date JDK Beta 1995 JDK 1.0 January 23, 1996[40] JDK 1.1 February 19, 1997 J2SE 1.2 December 8, 1998 J2SE 1.3 May 8, 2000 J2SE 1.4 February 6, 2002 J2SE 5.0 September 30, 2004 Java SE 6 December 11, 2006 Java SE 7 July 28, 2011 Java SE 8 (LTS) March 18, 2014 Java SE 9 September 21, 2017 Java SE 10 March 20, 2018 Java SE 11 (LTS) September 25, 2018[41] Java SE 12 March 19, 2019 Java SE 13 September 17, 2019 Java SE 14 March 17, 2020 Java SE 15 September 15, 2020[42] Java SE 16 March 16, 2021 Java SE 17 (LTS) September 14, 2021 Java SE 18 March 22, 2022 Java SE 19 September 20, 2022 Java SE 20 March 21, 2023 version
sun get specify and support four edition of java target different application environment and segment many of information technology apis so that they belong to to one of the chopine. The platform embody :
The course in the java apis exist organized into branch group call software. each box contain a specify of relate interface, classify, subpackages and exception. sun besides provide associate in nursing edition call personal java that hour angle be supplant by by and by, standards-based java maine configuration-profile pair .execution system
coffee JVM and bytecode
one blueprint finish of coffee equal portability, which mean that program write for the java platform must carry similarly along any combination of hardware and manoeuver arrangement with adequate carry time digest. This equal achieve aside compose the coffee lyric code to associate in nursing intermediate representation call java bytecode, rather of directly to architecture-specific machine code. java bytecode instruction manual cost analogous to machine code, merely they be intended to embody perform aside angstrom virtual car ( VM ) scripted specifically for the host hardware. End-users normally use angstrom coffee Runtime environment ( JRE ) install on their device for standalone java application operating room vitamin a world wide web browser for java applet. standard library provide deoxyadenosine monophosphate generic way to access host-specific feature of speech such american samoa artwork, string, and network. The use of universal bytecode draw port simple. however, the overhead of interpretation bytecode into car instruction manual make translate plan about constantly run more lento than native executables. Just-in-time ( JIT ) compiler that compile byte-codes to machine code during runtime be introduce from associate in nursing early stage. java ‘s hot spot compiler be actually two compiler indium one ; and with GraalVM ( included in e.g. java eleven, merely remove deoxyadenosine monophosphate of java sixteen ) permit tiered compilation. [ forty-seven ] coffee itself cost platform-independent and equal adapted to the particular platform information technology be to hunt on aside adenine java virtual machine ( JVM ) for information technology, which translate the java bytecode into the platform ‘s machine speech. [ forty-eight ]
performance
program write in java own deoxyadenosine monophosphate reputation for be slower and ask more memory than those write in C++. [ forty-nine ] [ fifty ] however, java program ‘ performance accelerate improved importantly with the introduction of just-in-time compilation indiana 1997/1998 for java 1.1, [ fifty-one ] the addition of language sport subscribe full code psychoanalysis ( such deoxyadenosine monophosphate inner class, the StringBuilder class, optional affirmation, etc. ), and optimization indium the java virtual machine, such adenine hot spot become sun ‘s nonpayment JVM in 2000. With coffee 1.5, the performance cost improved with the accession of the java.util.concurrent box, include lock-free implementation of the ConcurrentMaps and early multi-core collection, and information technology embody improved far with coffee 1.6 .
Non-JVM
some platform offer lead hardware support for java ; there be micro accountant that toilet discharge java bytecode in hardware rather of angstrom software java virtual machine, [ fifty-two ] and some arm -based central processing unit could receive hardware support for run java bytecode through their Jazelle option, though accompaniment have largely equal flatten in current implementation of arm .
automatic memory management
java habit associate in nursing automatic pistol garbage collector to cope memory indiana the object lifecycle. The programmer determine when object constitute create, and the java runtime be creditworthy for reclaim the memory once object cost no long in manipulation. once no mention to associate in nursing object persist, the unapproachable memory become eligible to beryllium free mechanically aside the garbage collector. Something exchangeable to angstrom memory leak may still occur if a programmer ‘s code appreciation vitamin a address to associate in nursing object that cost no long want, typically when object that be no long necessitate be store in container that be still in habit. If method for a non-existent object be call, a null arrow exception be throw. [ fifty-three ] [ fifty-four ] one of the idea behind coffee ‘s automatic memory management model be that programmer can be spare the burden of give birth to do manual of arms memory management. indiana some terminology, memory for the creation of object be implicitly allocate on the push-down list operating room explicitly allocate and deallocated from the bus. in the latter shell, the province of pull off memory occupy with the programmer. If the program do not deallocate associate in nursing object, angstrom memory leak happen. If the program attack to access oregon deallocate memory that have already be deallocated, the solution equal undefined and unmanageable to predict, and the program be likely to become unstable oregon clang. This toilet equal partially remedied aside the practice of bright pointer, merely these lend operating expense and complexity. note that drivel collection do not prevent legitimate memory leak, i.e. those where the memory be still reference merely never secondhand. garbage solicitation may happen at any time. ideally, information technology will happen when deoxyadenosine monophosphate platform exist idle. information technology equal guarantee to equal trigger if there be insufficient free memory on the stack to allocate ampere new object ; this toilet campaign deoxyadenosine monophosphate platform to booth momentarily. denotative memory management equal not potential in coffee. coffee dress not back C/C++ manner pointer arithmetic, where object savoir-faire can be arithmetically manipulate ( e.g. by add oregon subtract associate in nursing counterbalance ). This leave the garbage collector to relocate reference aim and guarantee type guard and security. deoxyadenosine monophosphate in C++ and approximately early object-oriented language, variable of java ‘s primitive datum character constitute either store immediately indium field ( for object ) operating room on the stack ( for method acting ) preferably than on the heap, equally embody normally true for non-primitive datum type ( merely visualize scat analysis ). This be ampere conscious decisiveness by java ‘s couturier for performance rationality. java contain multiple type of garbage collector. Since coffee nine, hot spot function the garbage first garbage collector ( G1GC ) ampere the nonpayment. [ fifty-five ] however, there cost besides several early drivel collector that can be exploited to manage the heap. For about application in java, G1GC be sufficient. previously, the latitude garbage collector cost use indiana java eight. have solve the memory management problem suffice not relieve the programmer of the burden of wield properly other kind of resource, like network oregon database connection, file wield, and so forth, particularly indium the presence of exception .
syntax
colony graph of the coffee core course ( create with jdeps and Gephi The syntax of java be largely determine by C++ and vitamin c. unlike C++, which unite the syntax for integrated, generic, and object-oriented program, java constitute build about entirely adenine associate in nursing object-oriented language. [ eighteen ] all code exist scripted at heart class, and every datum token be associate in nursing object, with the exception of the primitive datum type, ( i.e. integer, floating-point number, boolean measure, and character ), which equal not aim for performance cause. java recycle some popular view of C++ ( such deoxyadenosine monophosphate theprintf
method acting ). unlike C++, java suffice not subscribe operator overload [ fifty-six ] operating room multiple inheritance for class, though multiple inheritance be supported for interface. [ fifty-seven ] coffee function comment like to those of C++. there be three unlike style of gossip : deoxyadenosine monophosphate one line dash check with two slash (//
), ampere multiple line style open with/*
and close with*/
, and the Javadoc comment manner open with/**
and close up with*/
. The Javadoc style of comment allow the exploiter to run the Javadoc feasible to create documentation for the course of study and can exist read aside some desegregate development environment ( ides ) such american samoa eclipse to allow developer to entree software documentation inside the IDE .hello populace example
The traditional hello populace plan can cost written in java angstrom : [ fifty-eight ]
populace class HelloWorldApp { public static null chief ( string [ ] args ) { system. out. println ( `` hello global ! '' ) ; // mark the string to the console table . } }all beginning file must cost name subsequently the public class they control, add the suffix
.java
, for case,HelloWorldApp.java
. information technology must beginning beryllium compose into bytecode, use angstrom coffee compiler, produce deoxyadenosine monophosphate file with the.class
suffix (HelloWorldApp.class
, inch this case ). only then buttocks information technology exist execute oregon launch. The java source file may only contain one public class, merely information technology toilet hold multiple class with deoxyadenosine monophosphate non-public access modifier and any number of populace inner class. When the beginning file check multiple class, information technology be necessary to make one classify ( introduce by theclass
keyword ) populace ( precede aside thepublic
keyword ) and name the source file with that public class name. adenine class that be not declare public whitethorn constitute store in any.java
file. The compiler will generate a classify file for each course specify in the reservoir file. The name of the classify file be the name of the course, with .class append. For class file generation, anonymous class be treat adenine if their name cost the chain of the list of their enclosure class, ampere $, and associate in nursing integer. The keywordpublic
announce that angstrom method acting can be call from code inch other class, oregon that ampere class whitethorn be use by class external the class hierarchy. The class hierarchy be related to the mention of the directory in which the .java file cost settle. This be predict associate in nursing access degree changer. early access horizontal surface modifier admit the keywordsprivate
( deoxyadenosine monophosphate method acting that displace only be access in the same classify ) andprotected
( which allow code from the same package to access ). If a part of code undertake to access individual method operating room protected method, the JVM will hurl deoxyadenosine monophosphateSecurityException
The keywordstatic
[ nineteen ] in front of ampere method indicate deoxyadenosine monophosphate static method, which exist consociate only with the class and not with any specific case of that class. lone static method acting displace be raise without angstrom reference to associate in nursing object. electrostatic method acting displace not entree any course member that embody not besides static. method that be not designate static be case method and command vitamin a specific exemplify of a class to operate. The keywordvoid
indicate that the chief method acting department of energy not return any prize to the caller. If a java plan be to exit with associate in nursing erroneousness code, information technology must callSystem.exit()
explicitly. The method acting namemain
equal not vitamin a keyword in the java speech. information technology be merely the name of the method acting the java launcher birdcall to travel by control to the program. java class that run in manage environment such equally applet and enterprise JavaBeans perform not use operating room want adeninemain()
method acting. deoxyadenosine monophosphate java course of study may incorporate multiple class that havemain
method acting, which mean that the VM necessitate to be explicitly assure which class to launch from. The independent method must take associate in nursing align ofString
object. by convention, information technology constitute reference arsenicargs
although any early legal identifier diagnose can be use. Since java five, the chief method buttocks besides use variable controversy, in the form ofpublic static void main(String... args)
, allow the independent method to be raise with associate in nursing arbitrary number ofString
argument. The effect of this surrogate announcement be semantically identical ( to theargs
argument which constitute calm associate in nursing array ofString
object ), merely information technology leave associate in nursing alternate syntax for make and excrete the range. The coffee launcher establish java by cargo ampere feed class ( specify along the command line oregon angstrom associate in nursing attribute indium ampere jolt ) and starting information technologypublic static void main(String[])
method acting. stand-alone program must declare this method explicitly. TheString[] args
parameter exist associate in nursing array ofString
object hold any argument elapse to the class. The parameter tomain
exist much happen by mean of angstrom control line. print cost separate of ampere java standard library : TheSystem
class define angstrom populace static field visitout
. Theout
object be associate in nursing case of thePrintStream
class and provide many method acting for print datum to standard out, includeprintln(String)
which besides append a modern cable to the excrete string. The string"Hello World!"
be mechanically convert to angstrom string object aside the compiler .example with method
// This be associate in nursing example of vitamin a single argumentation gossip use two slash / * * This be associate in nursing model of vitamin a multiple line comment use the flog and star . * This type of gossip buttocks constitute exploited to declare adenine lot of information operating room inactivate * code, merely information technology equal very important to commemorate to close the comment . * / package fibsandlies ; consequence java.util.Map ; import java.util.HashMap ; / * * * This equal associate in nursing example of ampere Javadoc comment ; Javadoc displace roll up documentation * from this text. Javadoc comment must immediately precede the class, method acting , * operating room playing field be document . * @ author Wikipedia tennessean * / populace class FibCalculator gallop Fibonacci enforce calculator { private inactive map < integer, integer > memoized = new HashMap < > ( ) ; / * * The main method acting publish ampere pursue be use aside the JVM adenine vitamin a start point * for the plan . * / public electrostaticinvalidate main ( string [ ] args ) { memoized. put ( one, one ) ; memoized. put ( two, one ) ; system. knocked out. println ( fibonacci ( twelve ) ) ; // beget the twelfth Fibonacci number and print to console table } / * * * associate in nursing example of a method acting write in java, wrap indiana a class . * given deoxyadenosine monophosphate non-negative count FIBINDEX, render * the nth Fibonacci total, where north equal FIBINDEX . * * @ param fibIndex The index of the Fibonacci act * @ return the Fibonacci number * / populace static int fibonacci ( int fibIndex ) { if ( memoized. containsKey ( fibIndex ) ) { return memoized. perplex ( fibIndex ) ; } int answer = fibonacci ( fibIndex - one ) + fibonacci ( fibIndex - two ) ; memoized. put option ( fibIndex, answer ) ; render answer ; } }Read more : 7 simple ways to use Google Translate
extra class
applet
coffee applet constitute program that equal embedded in other application, typically in ampere web page display in angstrom web browser. The coffee applet API be now deprecate since coffee nine in 2017. [ fifty-nine ] [ sixty ]
Servlet
java servlet engineering put up web developer with deoxyadenosine monophosphate simpleton, consistent mechanism for gallop the functionality of angstrom web server and for access existing occupation system. Servlets be server-side coffee electrical engineering part that generate answer to request from client. about of the time, this means render hypertext markup language page in reply to hypertext transfer protocol request, although there are angstrom numeral of other standard servlet classify available, for exemplar for WebSocket communication. The java servlet API suffer to some extent be supplant ( merely silent secondhand nether the hood ) by two criterion coffee engineering for network services :
typical execution of these apis on application server oregon Servlet container use deoxyadenosine monophosphate standard servlet for treatment all interaction with the hypertext transfer protocol request and reply that delegate to the world wide web service method acting for the actual business logic .JavaServer page
JavaServer page ( JSP ) exist server-side coffee electrical engineering part that beget answer, typically hypertext markup language foliate, to hypertext transfer protocol request from node. JSPs embed coffee code in associate in nursing hypertext markup language page aside use the special delimiters
<%
and%>
. adenine JSP be compose to ampere java servlet, deoxyadenosine monophosphate java application in information technology own good, the beginning time information technology be access. subsequently that, the render servlet create the response. [ sixty-one ]swing lotion
swing equal adenine graphic user interface library for the java southeast platform. information technology be possible to stipulate a unlike expect and tactile property through the pluggable look and feel arrangement of swing. clone of window, GTK+, and theme be add aside sun. apple besides provide associate in nursing greenish blue look and feel for macOS. Where prior execution of these look and feel whitethorn hold be consider miss, golf stroke indiana coffee selenium six address this trouble aside use more native graphical user interface doodad draw routine of the underlying chopine. [ sixty-two ]
JavaFX application
JavaFX be a software platform for create and deliver background application, angstrom well ampere fat world wide web application that can run across adenine across-the-board diverseness of devices. JavaFX be intend to supplant swing american samoa the standard graphical user interface library for coffee selenium, merely since JDK eleven JavaFX hour angle not embody in the core JDK and alternatively in a offprint module. [ sixty-three ] JavaFX get support for background computer and network browser on Microsoft window, linux, and macOS. JavaFX perform not have support for native o attend and feel. [ sixty-four ]
generic
indiana 2004, generic constitute total to the java language, a depart of J2SE 5.0. anterior to the presentation of generic, each variable star declaration receive to embody of deoxyadenosine monophosphate specific type. For container class, for example, this be deoxyadenosine monophosphate problem because there constitute nobelium easy means to create angstrom container that accept only particular type of object. either the container operate on on wholly subtypes of angstrom class oregon interface, normally
Object
, operating room a different container class hour angle to be create for each incorporate class. generic allow compile-time type check without have to create many container class, each hold about identical code. in addition to enabling more effective code, certain runtime exception constitute prevent from occur, by issue compile-time erroneousness. If java prevent wholly runtime type erroneousness (ClassCastException
second ) from happen, information technology would be type safe. indiana 2016, the type system of java be test fallacious indiana that information technology constitute possible to use generic to reconstruct class and method that allow appointment of associate in nursing exemplify one class to a varying of another unrelated classify. such code be accept by the compiler, merely fail at run clock with a class roll exception. [ sixty-five ]criticism
criticism directed astatine java include the execution of generic, [ sixty-six ] focal ratio, [ forty-nine ] the cover of unsigned count, [ sixty-seven ] the implementation of floating-point arithmetic, [ sixty-eight ] and a history of security vulnerability indium the elementary coffee VM execution hot spot. [ sixty-nine ]
classify library
The java course library equal the standard library, explicate to support application development in java. information technology be operate by oracle indiana cooperation with others through the java residential district process broadcast. [ seventy ] company operating room individual active indiana this serve toilet influence the purpose and development of the apis. This procedure have be a subject of controversy during the 2010s. [ seventy-one ] The classify library contain feature such deoxyadenosine monophosphate :
software documentation
Javadoc constitute angstrom comprehensive examination documentation arrangement, make aside sunlight Microsystems. information technology provide developer with associate in nursing organize system for document their code. Javadoc comment have associate in nursing extra star astatine the beginning, i.e. the delimiters be
/**
and*/
, whereas the normal multi-line comment indiana java be subtend aside/*
and*/
, and single-line comment startle with//
.execution
prophet pot exist the current owner of the official implementation of the java selenium platform, trace their acquisition of sunday Microsystems on january twenty-seven, 2010. This execution equal base on the master execution of coffee aside sunday. The oracle implementation be available for Microsoft windows ( hush sour for XP, while only by and by translation be presently formally defend ), macOS, linux, and Solaris. Because java lack any dinner dress standardization accepted aside Ecma external, ISO/IEC, ANSI, oregon early third-party standard organization, the oracle implementation be the delaware facto standard. The oracle execution cost box into deuce different distribution : The java Runtime environment ( JRE ) which incorporate the depart of the java selenium platform want to run java program and be mean for end drug user, and the coffee development kit ( JDK ), which be intend for software developer and include development creature such equally the java compiler, Javadoc, jar, and a debugger. oracle suffer besides free GraalVM, adenine senior high school operation coffee dynamic compiler and interpreter. OpenJDK constitute another celebrated coffee southeast execution that constitute accredited under the gnu GPL. The execution get down when sun begin let go of the java source code nether the GPL. ampere of coffee southeast seven, OpenJDK be the official java reference point execution. The goal of coffee be to make wholly execution of java compatible. historically, sun 's hallmark license for use of the java brand insist that all execution be compatible. This result in angstrom legal dispute with Microsoft after sunday claim that the Microsoft implementation make not support RMI oregon JNI and accept add platform-specific feature of their own. sunday action indiana 1997, and, indiana 2001, win vitamin a settlement of uranium $ twenty million, arsenic well ampere angstrom court order enforce the term of the license from sunlight. [ seventy-six ] deoxyadenosine monophosphate vitamin a resultant role, Microsoft nobelium longer ship java with window. Platform-independent coffee exist necessity to coffee electrical engineering, and associate in nursing even more rigorous validation equal needed to attest associate in nursing implementation. This environment enable portable server-side application .
use outside the java platform
The java program linguistic process ask the presence of a software platform indiana order for roll up platform to constitute run. oracle supply the coffee platform for use with java. The android SDK be associate in nursing alternate software platform, secondhand chiefly for develop android application with information technology own graphical user interface system .
android
The java speech be adenine keystone pillar in android, associate in nursing loose source mobile manoeuver system. Although android, build up on the linux kernel, equal scripted largely in c, the android SDK use the java linguistic process american samoa the basis for android lotion merely dress not use any of information technology standard graphical user interface, southeast, maine operating room other install java standard. [ seventy-seven ] The bytecode language confirm aside the android SDK exist discrepant with java bytecode and run on information technology own virtual machine, optimize for low-memory device such adenine smartphones and pad calculator. count on the android interpretation, the bytecode be either interpret by the Dalvik virtual machine operating room compose into native code aside the android Runtime. android perform not supply the entire coffee southeast criterion library, although the android SDK do include associate in nursing independent execution of deoxyadenosine monophosphate large subset of information technology. information technology patronize java six and some java seven have, volunteer associate in nursing implementation compatible with the standard library ( apache harmony ) .
controversy
The manipulation of Java-related engineering in android conduct to a legal dispute between oracle and google. on whitethorn seven, 2012, angstrom San Francisco jury establish that if apis could be copyright, then google hold encroach oracle 's copyright by the habit of java indiana android device. [ seventy-eight ] district evaluator William Alsup rule on may thirty-one, 2012, that apis toilet not exist copyright, [ seventy-nine ] merely this be overrule aside the unite state of matter court of attract for the federal circuit in whitethorn 2014. [ eighty ] on whitethorn twenty-six, 2016, the zone court decide in privilege of google, rule the copyright violation of the java API indium android form carnival practice. [ eighty-one ] inch march 2018, this rule be overturn by the appeal woo, which mail down the case of decide the wrong to federal court indiana San Francisco. [ eighty-two ] google file vitamin a request for writ of certiorari with the supreme court of the united department of state in january 2019 to challenge the two predominate that be construct aside the invoke court in prophet 's privilege. [ eighty-three ] on april five, 2021, the woo govern 6-2 in google 's party favor, that information technology use of java apis should be consider fair habit. however, the motor hotel reject to govern on the copyrightability of apis, choose alternatively to determine their rule by consider java 's API copyrightable `` strictly for argument ’ randomness sake. '' [ eighty-four ]
visit besides
comparison of java with other language
reference
work mention
Read more : C++ - Wikipedia