Meta tags:
Headings (most frequently used words):
java, jvm, application, programming, language, contents, history, editions, execution, system, syntax, special, classes, criticism, class, libraries, documentation, implementations, use, outside, the, platform, see, also, references, bibliography, external, links, principles, versions, and, bytecode, non, automatic, memory, management, hello, world, applet, servlet, javaserver, pages, swing, javafx, generics, android, performance, controversy,
Text of the page (most frequently used words):
java (376), the (376), and (148), from (118), oracle (89), for (87), archived (84), retrieved (83), original (82), apache (62), with (58), sun (54), may (48), programming (46), language (44), that (39), platform (37), 2014 (35), this (33), september (33), march (32), are (29), jvm (26), android (26), use (25), machine (25), code (24), was (24), object (24), january (24), languages (23), software (23), web (23), system (23), implementation (23), august (22), google (22), memory (22), run (21), december (21), main (21), which (21), virtual (20), jdk (20), 2020 (20), class (19), application (19), 2019 (18), standard (18), server (18), pdf (18), not (18), february (17), applications (17), has (17), article (17), october (16), javafx (16), 2010 (16), support (16), its (16), such (16), june (15), microsystems (15), community (15), apis (15), classes (15), garbage (15), but (15), libraries (15), articles (14), all (14), list (14), gosling (14), april (14), 2016 (14), time (14), 2026 (13), 2017 (13), other (13), enterprise (13), openjdk (13), process (13), james (13), implementations (13), 2011 (13), 2018 (13), 2021 (13), july (13), com (13), versions (13), bytecode (13), wikipedia (12), pages (12), 2023 (12), history (12), technology (12), edition (12), november (12), 2012 (12), court (12), 2015 (12), development (11), api (11), also (11), can (11), oriented (10), data (10), program (10), performance (10), ultrasparc (10), free (10), there (10), documentation (10), generics (10), type (10), been (10), runtime (10), see (10), library (10), servlet (10), syntax (10), developers (9), under (9), non (9), computer (9), systems (9), source (9), network (9), design (9), platforms (9), one (9), programs (9), swing (9), features (9), new (9), compiler (9), does (9), available (8), using (8), references (8), based (8), more (8), corporation (8), hotspot (8), tools (8), open (8), once (8), version (8), 2007 (8), world (8), 2009 (8), microsoft (8), javadoc (8), security (8), their (8), management (8), objects (8), lts (8), toggle (7), page (7), links (7), 2025 (7), compiled (7), specification (7), org (7), sparc (7), hardware (7), database (7), write (7), 2005 (7), why (7), have (7), style (7), multiple (7), into (7), 2006 (7), still (7), include (7), were (7), used (7), some (7), written (7), native (7), released (7), j2se (7), most (7), environments (7), collector (7), inc (6), license (6), project (6), statements (6), 1995 (6), pascal (6), desktop (6), architecture (6), third (6), sdk (6), 2008 (6), comments (6), docs (6), 1998 (6), hello (6), gui (6), since (6), public (6), release (6), these (6), after (6), however (6), interface (6), when (6), different (6), toolkit (6), core (6), types (6), must (6), view (5), legal (5), about (5), additional (5), terms (5), commons (5), wikidata (5), containing (5), 2022 (5), wayback (5), created (5), requests (5), comparison (5), linux (5), frameworks (5), anywhere (5), news (5), eclipse (5), spring (5), applets (5), micro (5), builds (5), ars (5), technica (5), ruling (5), will (5), how (5), unsigned (5), what (5), applet (5), methods (5), than (5), programmer (5), independent (5), move (5), 1996 (5), years (5), built (5), possible (5), first (5), sources (5), collection (5), introduced (5), had (5), two (5), instead (5), although (5), any (5), own (5), update (5), specific (5), intended (5), section (5), compilers (5), provides (5), means (5), components (5), those (5), user (5), access (5), through (5), container (5), create (5), special (5), services (5), called (5), popular (5), subsection (5), contents (4), search (4), mobile (4), safety (4), example (4), unsourced (4), url (4), potentially (4), dated (4), multi (4), concurrent (4), php (4), category (4), kotlin (4), net (4), related (4), education (4), storagetek (4), glassfish (4), developer (4), studio (4), bill (4), joy (4), workstation (4), portal (4), scala (4), party (4), jsp (4), technologies (4), card (4), adoptium (4), resources (4), wikibooks (4), 1999 (4), addison (4), wesley (4), isbn (4), fair (4), appeals (4), case (4), criticism (4), tutorials (4), framework (4), introduction (4), removed (4), inheritance (4), exceptions (4), designed (4), having (4), 2024 (4), learn (4), did (4), they (4), awt (4), method (4), primitive (4), prior (4), environment (4), similar (4), 2000 (4), machines (4), distributed (4), devices (4), uses (4), standards (4), either (4), help (4), outside (4), 1997 (4), longer (4), windows (4), gpl (4), reference (4), contains (4), users (4), citations (4), line (4), browsers (4), handling (4), allow (4), http (4), each (4), almost (4), look (4), javaserver (4), jax (4), simple (4), file (4), needed (4), default (4), heap (4), automatic (4), execution (4), targeting (4), editions (4), hide (4), sidebar (4), foundation (3), sister (3), need (3), needing (3), cs1 (3), status (3), short (3), paradigm (3), united (3), states (3), international (3), english (3), sql (3), javascript (3), visual (3), ada (3), llc (3), america (3), acquisition (3), series (3), weblogic (3), iplanet (3), engine (3), solaris (3), operating (3), netbeans (3), graalvm (3), ides (3), mysql (3), people (3), cobalt (3), learning (3), zfs (3), secure (3), service (3), iii (3), van (3), processing (3), wildfly (3), major (3), start (3), team (3), wikiversity (3), media (3), projects (3), external (3), steele (3), guy (3), bracha (3), gilad (3), bloch (3), mullin (3), joe (3), makes (3), out (3), like (3), here (3), many (3), another (3), overview (3), collections (3), networking (3), nio (3), copyright (3), floating (3), point (3), acm (3), long (3), etc (3), considered (3), infoworld (3), creating (3), embedded (3), item (3), just (3), interview (3), jit (3), javasoft (3), ships (3), role (3), website (3), ecma (3), oak (3), 2013 (3), github (3), static (3), gambas (3), model (3), order (3), 2004 (3), computing (3), generate (3), green (3), servers (3), direct (3), interfaces (3), objective (3), number (3), several (3), oberon (3), added (3), books (3), favor (3), made (3), controversy (3), provide (3), compatible (3), supported (3), interpreted (3), needs (3), please (3), recent (3), events (3), executed (3), side (3), official (3), end (3), high (3), dynamic (3), macos (3), find (3), adding (3), allows (3), reflective (3), jpa (3), part (3), level (3), popularity (3), exception (3), problem (3), only (3), usually (3), compile (3), without (3), addition (3), safe (3), feel (3), where (3), responses (3), typically (3), html (3), containers (3), read (3), ide (3), influenced (3), generic (3), parallel (3), programmers (3), current (3), improved (3), later (3), personal (3), renamed (3), colt (3), add (2), topic (2), 122 (2), table (2), contact (2), privacy (2), policy (2), you (2), trademark (2), wikimedia (2), last (2), hidden (2), categories (2), updating (2), maint (2), template (2), dates (2), indefinitely (2), description (2), family (2), https (2), databases (2), lists (2), smalltalk (2), python (2), lisp (2), classic (2), basic (2), simula (2), discontinued (2), certification (2), recognition (2), fire (2), suite (2), middleware (2), grid (2), opensolaris (2), maxine (2), jdeveloper (2), timesten (2), berkeley (2), virtualbox (2), staroffice (2), openoffice (2), acquisitions (2), jeffrey (2), university (2), common (2), distribution (2), global (2), bluej (2), laboratories (2), research (2), storage (2), nis (2), set (2), ultra (2), port (2), processor (2), processors (2), blade (2), arthur (2), hoff (2), organizations (2), javaone (2), groovy (2), clojure (2), beanshell (2), struts (2), jazelle (2), hibernate (2), harmony (2), gwt (2), gnu (2), jsf (2), servlets (2), graal (2), jakarta (2), dev (2), tutorial (2), wikiquote (2), 2nd (2), 201 (2), 978 (2), bibliography (2), supreme (2), copyrights (2), packages (2), over (2), wins (2), infringement (2), don (2), understand (2), existing (2), adoption (2), already (2), 2001 (2), javaworld (2), lawsuit (2), trail (2), internationalization (2), issn (2), william (2), byte (2), rather (2), unsound (2), started (2), standalone (2), module (2), deprecated (2), instance (2), state (2), operator (2), overloading (2), link (2), cite (2), artima (2), heterogeneous (2), integrated (2), robert (2), loop (2), always (2), slower (2), dependent (2), baeldung (2), chander (2), sharat (2), temurin (2), should (2), older (2), plugin (2), steward (2), relentless (2), commitment (2), fostering (2), participation (2), transparency (2), evangelist (2), call (2), early (2), top (2), mike (2), goals (2), 2002 (2), hack (2), typing (2), chapel (2), component (2), borland (2), queue (2), went (2), name (2), old (2), ucsd (2), strong (2), influence (2), patrick (2), naughton (2), lecture (2), polytechnic (2), museum (2), moscow (2), audio (2), licensed (2), key (2), niklaus (2), wirth (2), modula (2), outline (2), dalvik (2), led (2), dispute (2), san (2), francisco (2), could (2), copyrighted (2), then (2), district (2), ruled (2), federal (2), large (2), supports (2), largely (2), runs (2), optimized (2), low (2), computers (2), information (2), presence (2), required (2), enables (2), portable (2), goal (2), rmi (2), well (2), result (2), remote (2), invocation (2), distributions (2), jre (2), jar (2), due (2), because (2), iso (2), iec (2), facto (2), remove (2), message (2), material (2), challenged (2), jstor (2), scholar (2), newspapers (2), reliable (2), improve (2), organized (2), delimiters (2), single (2), across (2), internet (2), abstract (2), integration (2), managing (2), extensions (2), request (2), xml (2), functional (2), reflection (2), controlled (2), others (2), during (2), speed (2), numbers (2), arithmetic (2), primary (2), complexity (2), variable (2), easy (2), way (2), efficient (2), prevented (2), occurring (2), errors (2), would (2), separate (2), feels (2), graphical (2), rich (2), addresses (2), underlying (2), widget (2), generated (2), response (2), clients (2), business (2), useful (2), superseded (2), functionality (2), println (2), void (2), small (2), following (2), traditional (2), opened (2), closed (2), commenting (2), within (2), unlike (2), though (2), inside (2), reasons (2), burden (2), citation (2), collectors (2), g1gc (2), manage (2), shenandoah (2), unavailable (2), stored (2), directly (2), commonly (2), analysis (2), stack (2), referenced (2), pointer (2), occur (2), allocated (2), deallocated (2), deallocate (2), overhead (2), prevent (2), smart (2), leak (2), offer (2), arm (2), package (2), compilation (2), instructions (2), included (2), itself (2), host (2), browser (2), cost (2), term (2), legacy (2), familiar (2), principles (2), scientific (2), shortly (2), soon (2), licenses (2), proprietary (2), wora (2), initially (2), j2ee (2), coffee (2), indonesia (2), general (2), guava (2), jetty (2), jboss (2), ibm (2), websphere (2), tomcat (2), mina (2), geronimo (2), matrix (2), astrodynamics (2), neuroph (2), deeplearning4j (2), opennlp (2), mahout (2), xerces (2), ago (2), appearance (2), upload (2), changes (2), edit (2), norsk (2), bahasa (2), беларуская (2), log (2), account (2), donate (2), menu (2), cookie, statement, statistics, conduct, contacts, disclaimers, text, apply, site, agree, registered, profit, organization, creative, attribution, sharealike, rendered, parsoid, edited, utc, namespace, mismatch, unfit, webarchive, mdy, semi, protected, matches, american, inventions, statically, typed, index, title, java_, programming_language, oldid, 1375186425, yale, lux, elmcip, israel, spain, czech, republic, bnf, france, national, gnd, authority, control, generational, categorical, alphabetical, swift, shell, scratch, sas, rust, ruby, prolog, raku, perl, ocaml, caml, matlab, lua, julia, haskell, fortran, forth, elixir, erlang, cobol, assembly, apl, algol, timeline, italics, big, appliance, exalogic, exadata, appliances, tuxedo, coherence, soa, webcenter, fusion, x86, proxy, ocfs2, visualvm, forms, nashorn, image, packaging, dtrace, apex, rdb, nosql, innodb, essbase, vdi, cerner, netsuite, sunopsis, iron, rightnow, edwards, bea, siebel, hyperion, peoplesoft, naomi, seligman, donald, lucas, jack, kemp, mark, hurd, henley, joseph, grundfest, héctor, garcía, molina, larry, ellison, safra, catz, michael, boskin, raymond, bingham, berg, corporate, directors, vinod, khosla, scott, mcnealy, andy, bechtolsheim, meetup, opensparc, slogans, tarantella, savaje, procom, pixo, montalvo, lighthouse, gridware, networks, afara, websystems, scps, looking, glass, fortress, picojava, lustre, visualization, constellation, cloud, qfs, sl8500, 5800, xvm, openwindows, sunview, nfs, sunos, tops, instruction, spot, neptune, modular, datacenter, mbus, lom, fireplane, sbus, sun4d, majc, rock, iiii, gemini, iie, supersparc, microsparc, mb86900, raq, qube, ray, javastation, x4500, t2000, e25k, 15k, 12k, 10000, netra, center, ipx, ipc, sparcstation, sun386i, acquired, urs, hölzle, devoxx, conferences, oxygene, rhino, jython, jruby, gosu, ceylon, slogan, toplink, openj9, icedtea, classpath, blackdown, art, modules, pack200, jnlp, midlets, squawk, wiki, views, members, textbooks, quotations, wiktionary, definitions, lindholm, tim, yellin, frank, 43294, buckley, alex, 3rd, 321, 24678, joshua, 468599, effective, guide, 593, ____, lee, timothy, asks, overrule, disastrous, farivar, cyrus, rules, beats, rosenblatt, seth, cnet, sides, patent, appeal, crucial, decimated, law, disorder, guilty, trial, future, headaches, loom, gurp, jilles, frankly, intends, ignore, vast, amount, seems, bad, invented, ultimately, slow, too, yet, javalobby, initial, impressions, niccolai, idg, settle, doc, tool, httpclient, woolf, nicky, 0261, 3077, guardian, six, year, battle, cadenhead, rogers, understanding, work, checked, kahan, electrical, engineering, science, california, hurts, everyone, everywhere, workshop, stanford, owens, sean, int, lack, thereof, arnold, ken, harmful, getting, arrives, jfc, options, pressler, ron, laskey, jim, bierman, gavin, jep, 512, compact, files, krill, paul, enhancements, walter, towards, critical, proceedings, real, erts2, nullpointerexception, eliminate, obsolete, salcic, zoran, park, heejong, teich, jürgen, malik, avinash, nadeem, muhammad, noc, hmp, multicore, systemj, 11150290, s2cid, 1084, 4309, 1145, 3073416, doi, transactions, automation, electronic, symantec, hundt, jelovic, dejan, advantage, translated, www, deep, dive, arrival, introducing, roadmap, uninstall, dalibor, moving, road, leading, substantive, supporter, emergence, takes, reilly, evolving, grnlight, bulk, sourced, jcp, zdnet, cares, standardized, twice, std, jsg, study, group, tata, mcgraw, hill, essentials, kabutz, heinz, upon, murphy, kieron, decide, byous, jon, mcmillan, wired, losing, mojo, octoverse, melanson, comeback, champ, arxiv, 1908, 11685, weekly, facebook, brings, cray, spec, acknowledgements, white, paper, summer, designing, precursor, now, event, javabeans, contributed, greatly, looked, very, carefully, delphi, working, prototype, bound, interaction, delegates, vol, association, machinery, conversation, techmetrix, ahead, interpretive, report, cites, stating, notable, derivatives, derived, wrapper, protocol, stated, occasions, hand, accounts, russian, exist, recording, examined, relative, compactness, overall, shared, filippova, elena, computerworld, mcgilton, henry, competing, annotations, varargs, autoboxing, enhanced, chaudhary, harry, cracking, que, ans, usa, 65768, abstraction, john, guttag, barbara, liskov, binstock, andrew, forbes, innovation, replaced, between, jury, found, infringed, judge, cannot, reversed, circuit, decided, constitutes, overturned, sent, down, determining, damages, filed, petition, challenge, rulings, refused, rule, copyrightability, choosing, determine, considering, copyrightable, purely, argument, sake, writ, certiorari, alsup, full, subset, offering, pillar, basis, established, incompatible, depending, tablet, smartphones, kernel, reflect, newly, updated, supplies, alternative, primarily, developing, requires, essential, even, rigorous, validation, certify, make, historically, usage, brand, insists, resulted, claimed, jni, sued, won, settlement, million, enforcing, began, releasing, packaged, parts, includes, interpreter, debugger, kit, owns, lacks, formal, standardization, recognized, ansi, comprehensive, documenting, extra, asterisk, beginning, whereas, normal, delimited, licensing, efficiently, plugins, enable, bytecodes, capture, playback, lightweight, widgetry, heavyweight, laying, window, writer, communicate, jmx, monitoring, corba, broker, jndi, lookup, discovery, naming, directory, jdbc, connectivity, localization, parsing, transforming, validating, implement, stacks, double, ended, queues, sets, trees, dictionaries, structures, streaming, lambda, scripting, concurrency, client, agent, blocking, input, output, developed, cooperation, companies, individuals, participating, subject, 2010s, criticisms, directed, vulnerabilities, criticized, verbosity, persistence, increased, higher, abstractions, aims, simplify, operations, reduce, boilerplate, growing, suggests, limitations, ease, modern, proven, construct, assignment, unrelated, accepted, fails, cast, declaration, accepts, operates, subtypes, contained, checking, identical, enabling, certain, issuing, classcastexception, delivering, wide, variety, replace, specify, clones, supplied, looks, lacking, drawing, routines, aqua, apple, motif, gtk, pluggable, jsps, embed, right, accessed, creates, typical, interactions, delegate, actual, logic, soap, ajax, json, rest, restful, extent, hood, consistent, mechanism, extending, accessing, generating, communication, websocket, mainly, displayed, simplified, succinctly, args, string, helloworld, three, styles, marked, slashes, executable, combines, structured, exclusively, every, integers, characters, boolean, values, dependency, graph, jdeps, gephi, solved, relieve, properly, kinds, connections, handles, especially, zgc, produced, sufficient, variables, fields, true, conscious, decision, designers, escape, arithmetically, manipulated, subtracting, offset, relocate, ensures, happen, ideally, idle, guaranteed, triggered, insufficient, allocate, cause, stall, momentarily, explicit, manually, ideas, behind, spared, perform, manual, creation, implicitly, explicitly, latter, responsibility, resides, occurs, attempts, undefined, difficult, predict, likely, become, unstable, crash, partially, remedied, leaks, never, logical, pointers, determines, responsible, recovering, remain, becomes, eligible, freed, automatically, something, holds, existent, thrown, null, unreachable, lifecycle, controllers, executing, option, mostly, dropped, reputation, being, requiring, significantly, supporting, better, inner, stringbuilder, optional, assertions, optimizations, becoming, including, further, concurrentmaps, lock, util, universal, porting, slowly, codes, stage, actually, allowing, adapted, particular, translates, tiered, executables, interpreting, graphics, threading, similarly, combination, adequate, achieved, compiling, intermediate, representation, analogous, specifically, installed, device, portability, provided, configuration, profile, pairings, groups, subpackages, limited, cards, defined, four, segmented, belong, personaljava, bundled, separately, beta, date, along, zero, commercial, otherwise, updates, vendors, continue, patches, bug, fixes, threaded, execute, neutral, robust, five, highly, recommend, uninstalling, outdated, unsupported, unresolved, issues, laptops, supercomputers, game, consoles, centers, announced, discontinue, resigned, vice, president, said, ideal, regard, described, filing, against, much, foss, finished, making, aside, portion, hold, approached, body, formalize, withdrew, remains, charge, despite, revenue, selling, specialized, products, jtc, promised, providing, times, fairly, featuring, configurable, allowed, restrictions, incorporated, ability, quickly, became, comply, strictly, advent, configurations, while, j2me, featured, marketing, purposes, respectively, sheridan, initiated, 1991, tree, stood, office, finally, creator, mascot, duke, vms, compliance, specifications, bought, offers, relicensed, gained, according, widely, gradual, decline, gaining, let, meaning, recompile, regardless, fewer, facilities, them, abilities, modification, purpose, unit, testing, sap, netweaver, resin, payara, orion, lucee, jeus, coldfusion, tomee, myeclipse, jgrasp, intellij, idea, greenfoot, drjava, suanshu, optimj, ojalgo, jblas, jama, groovylab, exp4j, simulations, math, yooreeka, weka, mllib, mallet, libsvm, encog, mxnet, xstream, testng, spock, sonarqube, slf4j, selenium, quartz, ormlite, orientdb, objectweb, asm, netty, lwjgl, liquibase, libgdx, junit, jung, jsoup, jprofiler, jfreechart, jaxp, jaxb, topology, jasper, reports, jackson, itext, infinispan, hsqldb, gson, elasticsearch, ejml, ehcache, elki, drools, cruisecontrol, cascading, bouncy, castle, bluecove, biojava, zookeeper, velocity, uima, tika, storm, spark, solr, samza, river, jini, qpid, poi, pig, pdfbox, oozie, oodt, nutch, mesos, lucene, log4j, kafka, jena, jackrabbit, hive
Text of the page (random words):
s rather than on the heap as is commonly true for non primitive data types but see escape analysis this was a conscious decision by java s designers for performance reasons java contains multiple types of garbage collectors since java 9 hotspot uses the garbage first garbage collector g1gc as the default 63 however there are also several other garbage collectors that can be used to manage the heap such as the z garbage collector zgc introduced in java 11 and shenandoah gc introduced in java 12 but unavailable in oracle produced openjdk builds shenandoah is instead available in third party builds of openjdk such as eclipse temurin for most applications in java g1gc is sufficient in prior versions of java such as java 8 the parallel garbage collector was used as the default garbage collector citation needed having solved the memory management problem does not relieve the programmer of the burden of handling properly other kinds of resources like network or database connections file handles etc especially in the presence of exceptions citation needed syntax main article java syntax this dependency graph of the java core classes was created with jdeps and gephi the syntax of java is largely influenced by c and c unlike c which combines the syntax for structured generic and object oriented programming java was built almost exclusively as an object oriented language 18 all code is written inside classes and every data item is an object with the exception of the primitive data types i e integers floating point numbers boolean values and characters which are not objects for performance reasons unlike c java does not support operator overloading 64 or multiple inheritance for classes though multiple inheritance is supported for interfaces 65 java uses comments similar to those of c there are three different styles of comments a single line style marked with two slashes a multiple line style opened with and closed with and the javadoc commenting style opened with and closed with the javadoc style of commenting allows the user to run the javadoc executable to create documentation for the program and can be read by some integrated development environments ides such as eclipse to allow developers to access documentation within the ide hello world the following is an example of a hello world program in the traditional java syntax public class helloworld public static void main string args system out println hello world java 25 introduced a simplified syntax for the main class and main method which enables users to write small java programs succinctly 66 67 void main io println hello world special classes this section needs more citations please help improve this section by adding citations to reliable sources unsourced material may be challenged and removed find sources java programming language news newspapers books scholar jstor may 2019 learn how and when to remove this message applet main article java applet java applets were programs embedded in other applications mainly in web pages displayed in web browsers the java applet api was deprecated with the release of java 9 in 2017 68 69 servlet main article java servlet java servlet technology provides web developers with a simple consistent mechanism for extending the functionality of a web server and for accessing existing business systems servlets are server side java ee components that generate responses to requests from clients most of the time this means generating html pages in response to http requests although there are a number of other standard servlet classes available for example for websocket communication the java servlet api has to some extent been superseded but still used under the hood by two standard java technologies for web services the java api for restful web services jax rs 2 0 useful for ajax json and rest services and the java api for xml web services jax ws useful for soap web services typical implementations of these apis on application servers or servlet containers use a standard servlet for handling all interactions with the http requests and responses that delegate to the web service methods for the actual business logic javaserver pages main article javaserver pages javaserver pages jsp are server side java ee components that generate responses typically html pages to http requests from clients jsps embed java code in an html page by using the special delimiters and a jsp is compiled to a java servlet a java application in its own right the first time it is accessed after that the generated servlet creates the response 70 swing application main article swing java swing is a graphical user interface library for the java se platform it is possible to specify a different look and feel through the pluggable look and feel system of swing clones of windows gtk and motif are supplied by sun apple also provides an aqua look and feel for macos where prior implementations of these looks and feels may have been considered lacking swing in java se 6 addresses this problem by using more native gui widget drawing routines of the underlying platforms 71 javafx application main article javafx javafx is a software platform for creating and delivering desktop applications as well as rich web applications that can run across a wide variety of devices javafx is intended to replace swing as the standard graphical user interface gui library for java se but since jdk 11 javafx has not been in the core jdk and is instead available as a separate module 72 javafx has support for desktop computers and web browsers on microsoft windows linux and macos javafx does not have support for native os look and feels 73 generics main article generics in java in 2004 generics were added to the java language as part of j2se 5 0 prior to the introduction of generics each variable declaration had to be of a specific type for container classes for example this is a problem because there is no easy way to create a container that accepts only specific types of objects either the container operates on all subtypes of a class or interface usually object or a different container class has to be created for each contained class generics allow compile time type checking without having to create many container classes each containing almost identical code in addition to enabling more efficient code certain runtime exceptions are prevented from occurring by issuing compile time errors if java prevented all runtime type errors classcastexception s from occurring it would be type safe in 2016 the type system of java was proven unsound in that it is possible to use generics to construct classes and methods that allow assignment of an instance of one class to a variable of another unrelated class such code is accepted by the compiler but fails at run time with a class cast exception 74 criticism main article criticism of java criticisms directed at java include the implementation of generics 75 speed 54 the handling of unsigned numbers 76 the implementation of floating point arithmetic 77 and a history of security vulnerabilities in the primary java vm implementation hotspot 78 developers have criticized the complexity and verbosity of the java persistence api jpa a standard part of java ee this has led to increased adoption of higher level abstractions like spring data jpa which aims to simplify database operations and reduce boilerplate code the growing popularity of such frameworks suggests limitations in the standard jpa implementation s ease of use for modern java development class libraries main article java class library the java class library is the standard library developed to support application development in java it is controlled by oracle in cooperation with others through the java community process program 79 companies or individuals participating in this process can influence the design and development of the apis this process has been a subject of controversy during the 2010s 80 the class library contains features such as the core libraries which include input output i o or io 81 and non blocking i o nio or io nio 82 networking 83 new user agent http client since java 11 84 reflective programming reflection concurrent computing concurrency 81 generics scripting compiler functional programming lambda streaming collection libraries that implement data structures such as lists dictionaries trees sets queues and double ended queue or stacks 85 xml processing parsing transforming validating libraries security 86 internationalization and localization libraries 87 the integration libraries which allow the application writer to communicate with external systems these libraries include the java database connectivity jdbc api for database access java naming and directory interface jndi for lookup and discovery java remote method invocation rmi and common object request broker architecture corba for distributed application development java management extensions jmx for managing and monitoring applications user interface libraries which include the heavyweight or native abstract window toolkit awt which provides gui components the means for laying out those components and the means for handling events from those components the lightweight swing libraries which are built on awt but provide non native implementations of the awt widgetry apis for audio capture processing and playback javafx a platform dependent implementation of the java virtual machine that is the means by which the bytecodes of the java libraries and third party applications are executed plugins which enable applets to be run in web browsers java web start which allows java applications to be efficiently distributed to end users across the internet licensing and documentation documentation main article javadoc javadoc is a comprehensive documentation system created by sun microsystems it provides developers with an organized system for documenting their code javadoc comments have an extra asterisk at the beginning i e the delimiters are and whereas the normal multi line comments in java are delimited by and and single line comments start with 88 implementations see also free java implementations and list of java compilers this section needs more citations please help improve this section by adding citations to reliable sources unsourced material may be challenged and removed find sources java programming language news newspapers books scholar jstor september 2023 learn how and when to remove this message oracle corporation owns the official implementation of the java se platform due to its acquisition of sun microsystems on january 27 2010 this implementation is based on the original implementation of java by sun the oracle implementation is available for windows macos linux and solaris because java lacks any formal standardization recognized by ecma international iso iec ansi or other third party standards organizations the oracle implementation is the de facto standard the oracle implementation is packaged into two different distributions the java runtime environment jre which contains the parts of the java se platform required to run java programs and is intended for end users and the java development kit jdk which is intended for software developers and includes development tools such as the java compiler javadoc jar and a debugger oracle has also released graalvm a high performance java dynamic compiler and interpreter openjdk is another java se implementation that is licensed under the gnu gpl the implementation started when sun began releasing the java source code under the gpl as of java se 7 openjdk is the official java reference implementation the goal of java is to make all implementations of java compatible historically sun s trademark license for usage of the java brand insists that all implementations be compatible this resulted in a legal dispute with microsoft after sun claimed that the microsoft implementation did not support java remote method invocation rmi or java native interface jni and had added platform specific features of their own sun sued in 1997 and in 2001 won a settlement of us 20 million as well as a court order enforcing the terms of the license from sun 89 as a result microsoft no longer ships java with windows platform independent java is essential to java ee and an even more rigorous validation is required to certify an implementation this environment enables portable server side applications use outside the java platform the java programming language requires the presence of a software platform in order for compiled programs to be executed oracle supplies the java platform for use with java the android sdk is an alternative software platform used primarily for developing android applications with its own gui system android this article needs to be updated please help update this article to reflect recent events or newly available information february 2026 the java language is a key pillar in android an open source mobile operating system although android built on the linux kernel is written largely in c the android sdk uses the java language as the basis for android applications but does not use any of its standard gui se me or other established java standards 90 the bytecode language supported by the android sdk is incompatible with jvm bytecode and runs on its own virtual machine optimized for low memory devices such as smartphones and tablet computers depending on the android version the bytecode is either interpreted by the dalvik virtual machine or compiled into native code by the android runtime android does not provide the full java se standard library although the android sdk does include an independent implementation of a large subset of it it supports java 6 and some java 7 features offering an implementation compatible with the standard library apache harmony controversy see also google llc v oracle america inc the use of java related technology in android led to a legal dispute between oracle and google on may 7 2012 a san francisco jury found that if apis could be copyrighted then google had infringed oracle s copyrights by the use of java in android devices 91 district judge william alsup ruled on may 31 2012 that apis cannot be copyrighted 92 but this was reversed by the united states court of appeals for the federal circuit in may 2014 93 on may 26 2016 the district court decided in favor of google ruling the copyright infringement of the java api in android constitutes fair use 94 in march 2018 this ruling was overturned by the appeals court which sent down the case of determining the damages to federal court in san francisco 95 google filed a petition for writ of certiorari with the supreme court of the united states in january 2019 to challenge the two rulings that were made by the appeals court in oracle s favor 96 on april 5 2021 the court ruled 6 2 in google s favor that its use of java apis should be considered fair use however the court refused to rule on the copy...
|