Meta tags:
Headings (most frequently used words):
java, software, platform, version, history, performance, security, contents, latest, versions, usage, mascot, licensing, criticism, see, also, references, external, links, application, domains, virtual, machine, development, kit, runtime, environment, class, libraries, languages, similar, platforms, meets, the, web, gnu, general, public, license, desktop, use, free, generics, unsigned, integer, types, floating, point, arithmetic, adware, update, system, se, jakarta, ee, generational, heap,
Text of the page (most frequently used words):
java (449), the (449), and (231), for (127), oracle (89), retrieved (83), #platform (82), from (74), with (73), sun (70), that (68), was (65), language (49), are (46), jvm (45), february (45), software (44), edit (44), code (39), 2016 (39), archived (38), com (38), version (35), original (34), released (33), this (31), which (31), web (30), system (29), has (29), security (29), visual (28), september (27), openjdk (27), source (27), support (27), new (27), virtual (26), studio (26), languages (25), microsystems (25), programming (25), jdk (24), not (24), use (23), machine (23), free (23), also (23), open (22), run (22), runtime (22), may (21), applications (21), community (21), windows (21), jre (21), release (21), lts (21), under (20), license (20), development (20), march (20), libraries (20), time (20), 2026 (19), january (19), december (19), other (19), edition (19), performance (19), standard (19), august (19), supported (19), such (19), july (18), 2013 (18), environment (18), have (18), class (18), computer (17), first (17), 2006 (17), specification (17), since (17), many (17), classes (17), org (16), set (16), its (16), but (16), native (16), operating (15), hotspot (15), user (15), april (15), unsigned (15), 2018 (15), changes (15), versions (15), were (15), some (15), introduced (15), implementations (14), used (14), bytecode (14), library (14), about (13), 2011 (13), all (13), corporation (13), enterprise (13), desktop (13), systems (13), gnu (13), update (13), including (13), they (13), browser (13), features (13), bit (13), compiler (13), general (13), included (13), server (12), memory (12), net (12), technology (12), project (12), history (12), november (12), jsr (12), kit (12), these (12), public (12), articles (11), 2014 (11), express (11), application (11), 2008 (11), article (11), 2012 (11), after (11), api (11), 2022 (11), implementation (11), can (11), called (11), into (11), been (11), programs (11), interface (11), j2se (11), available (10), using (10), platforms (10), linux (10), process (10), ultrasparc (10), october (10), duke (10), than (10), devices (10), generation (10), includes (10), their (10), most (10), main (10), program (9), sparc (9), developer (9), eclipse (9), small (9), proprietary (9), architecture (9), should (9), longer (9), users (9), june (9), types (9), type (9), 2007 (9), there (9), garbage (9), see (9), provides (9), while (9), you (8), page (8), 2020 (8), 1996 (8), google (8), netbeans (8), tools (8), basic (8), object (8), disable (8), generics (8), team (8), releases (8), 2019 (8), removed (8), had (8), apis (8), through (8), without (8), jit (8), would (8), several (8), include (8), toggle (7), contents (7), wikipedia (7), computing (7), discontinued (7), hardware (7), javascript (7), android (7), based (7), gosling (7), major (7), modules (7), jakarta (7), how (7), file (7), 2010 (7), 2009 (7), integer (7), browsers (7), only (7), www (7), oak (7), 2015 (7), permanent (7), naughton (7), then (7), become (7), similar (7), same (7), made (7), known (7), codename (7), heap (7), ago (7), mobile (6), non (6), last (6), statements (6), 2023 (6), data (6), database (6), list (6), ide (6), retail (6), freeware (6), pascal (6), ibm (6), mcnealy (6), news (6), applets (6), information (6), more (6), remove (6), needed (6), plug (6), plugin (6), floating (6), point (6), provide (6), what (6), later (6), mascot (6), deprecated (6), jsrs (6), requests (6), jcp (6), 2025 (6), because (6), any (6), 2021 (6), reference (6), exception (6), framework (6), although (6), still (6), running (6), well (6), over (6), designed (6), could (6), provided (6), announced (6), named (6), just (6), objects (6), months (6), search (5), terms (5), foundation (5), links (5), unsourced (5), copy (5), short (5), different (5), cross (5), microsoft (5), intellij (5), common (5), once (5), james (5), classpath (5), third (5), micro (5), created (5), updates (5), patch (5), why (5), byte (5), arithmetic (5), personal (5), computers (5), 2024 (5), certified (5), date (5), licensing (5), name (5), years (5), collection (5), uninstall (5), default (5), out (5), will (5), end (5), pcs (5), limited (5), written (5), execution (5), modern (5), when (5), large (5), tasks (5), gpl (5), download (5), compatible (5), parts (5), components (5), part (5), work (5), expressions (5), switch (5), like (5), top (5), instead (5), subsection (5), view (4), text (4), cs1 (4), title (4), category (4), related (4), storagetek (4), engine (4), solaris (4), vim (4), slickedit (4), deveco (4), komodo (4), python (4), idea (4), jetbrains (4), integrated (4), environments (4), scott (4), people (4), network (4), secure (4), scala (4), kotlin (4), does (4), look (4), resources (4), world (4), issues (4), exploit (4), critical (4), 1998 (4), blog (4), speed (4), pdf (4), long (4), lack (4), bundling (4), 2004 (4), schwartz (4), jonathan (4), future (4), moving (4), detail (4), high (4), early (4), 2017 (4), device (4), automatic (4), during (4), control (4), where (4), before (4), three (4), found (4), malicious (4), being (4), access (4), further (4), either (4), compilation (4), compilers (4), extended (4), possible (4), added (4), addition (4), few (4), sites (4), citation (4), criticism (4), each (4), fully (4), alternative (4), highly (4), however (4), company (4), core (4), within (4), considered (4), specific (4), macos (4), others (4), significant (4), swing (4), client (4), developing (4), dynamic (4), enhancements (4), debugger (4), additions (4), uses (4), way (4), gage (4), firstperson (4), oriented (4), string (4), allows (4), purpose (4), interpreter (4), intermediate (4), specifications (4), servers (4), latest (4), hide (4), move (4), sidebar (4), topic (3), table (3), developers (3), additional (3), inc (3), maint (3), description (3), education (3), glassfish (3), iplanet (3), sql (3), mysql (3), acquisitions (3), mark (3), sharpdevelop (3), monodevelop (3), turbo (3), delphi (3), dev (3), kdevelop (3), anjuta (3), adobe (3), flash (3), builder (3), understand (3), became (3), superseded (3), blocks (3), joy (3), write (3), anywhere (3), cobalt (3), learning (3), zfs (3), storage (3), port (3), processor (3), iii (3), workstation (3), blade (3), portal (3), apache (3), rhino (3), groovy (3), clojure (3), beanshell (3), icedtea (3), party (3), custom (3), services (3), help (3), chrome (3), account (3), zdnet (3), fix (3), independent (3), experts (3), homeland (3), flaw (3), yada (3), docs (3), benchmarks (3), variables (3), necessary (3), libgdx (3), finally (3), ubuntu (3), fedora (3), worldwide (3), need (3), configurations (3), naming (3), press (3), javasoft (3), 1995 (3), already (3), said (3), did (3), 1999 (3), wiley (3), isbn (3), 2003 (3), 122 (3), kaspersky (3), against (3), link (3), cite (3), bcl (3), california (3), differences (3), between (3), older (3), john (3), references (3), distributed (3), installed (3), installation (3), every (3), recent (3), least (3), back (3), protect (3), labs (3), both (3), allow (3), untrusted (3), feature (3), certain (3), local (3), compiled (3), directly (3), initial (3), days (3), implemented (3), 2000 (3), typically (3), 754 (3), often (3), less (3), handling (3), signed (3), value (3), stored (3), functions (3), existing (3), compatibility (3), completely (3), encumbered (3), distributions (3), according (3), projects (3), meant (3), methods (3), requirements (3), therefore (3), year (3), bundled (3), current (3), building (3), vista (3), usage (3), model (3), dropped (3), jvms (3), developed (3), scripting (3), replaced (3), number (3), improvements (3), jpda (3), better (3), originally (3), 2002 (3), graphical (3), collections (3), jdbc (3), jls (3), popular (3), them (3), renamed (3), develop (3), interactive (3), envisioned (3), wide (3), green (3), smart (3), target (3), box (3), much (3), led (3), embedded (3), together (3), next (3), input (3), legacy (3), pattern (3), matching (3), sealed (3), term (3), area (3), old (3), generational (3), management (3), syntax (3), ruby (3), commonly (3), heavily (3), handle (3), phones (3), excerpt (3), domains (3), english (3), add (2), contact (2), privacy (2), policy (2), trademark (2), organization (2), wikimedia (2), commons (2), categories (2), spoken (2), wayback (2), specifically (2), url (2), wikidata (2), php (2), appliances (2), series (2), fire (2), suite (2), middleware (2), x86 (2), grid (2), opensolaris (2), nashorn (2), maxine (2), jdeveloper (2), timesten (2), virtualbox (2), staroffice (2), openoffice (2), donald (2), jeffrey (2), joseph (2), michael (2), comparison (2), cloud9 (2), eiffel (2), pascalabc (2), eric (2), powerflasher (2), fdt (2), jbuilder (2), visualage (2), creator (2), codewarrior (2), myeclipse (2), geany (2), bluej (2), bill (2), university (2), distribution (2), networks (2), global (2), laboratories (2), nis (2), ultra (2), service (2), processors (2), javaone (2), processing (2), jython (2), jruby (2), gosu (2), ceylon (2), jazelle (2), harmony (2), start (2), javafx (2), technologies (2), card (2), came (2), audio (2), subsequent (2), external (2), krebs (2), brian (2), kelly (2), dhs (2), warns (2), holes (2), alerts (2), brook (2), chris (2), threatpost (2), stop (2), department (2), calls (2), your (2), now (2), science (2), computerworld (2), game (2), everyone (2), etc (2), rather (2), thereof (2), unsound (2), erasure (2), unless (2), absolutely (2), sponsored (2), says (2), github (2), wiki (2), openjdk6 (2), b10 (2), here (2), trap (2), strategic (2), formtek (2), openworld (2), stallman (2), richard (2), tech (2), home (2), runs (2), 850 (2), million (2), bugs (2), mode (2), stack (2), jdk8 (2), error (2), notes (2), concurrency (2), utilities (2), 336 (2), 176 (2), jep (2), applet (2), binary (2), priced (2), below (2), cost (2), schmidt (2), business (2), market (2), share (2), engineer (2), brainstorming (2), call (2), 2001 (2), southwick (2), karen (2), york (2), 0471297135 (2), 124 (2), noon (2), inside (2), story (2), rise (2), jon (2), 120 (2), protection (2), exploits (2), lab (2), insecure (2), asked (2), introduction (2), guide (2), graphics (2), overview (2), official (2), advanced (2), patrick (2), strongly (2), objective (2), group (2), logging (2), require (2), plus (2), offers (2), setting (2), panel (2), option (2), adware (2), vulnerability (2), entire (2), forward (2), probably (2), various (2), mostly (2), criminals (2), think (2), choice (2), failed (2), attack (2), apple (2), manager (2), affects (2), suggested (2), announce (2), serious (2), allowed (2), take (2), loading (2), numerous (2), flaws (2), widely (2), sandboxing (2), attacks (2), execute (2), arbitrary (2), downloaded (2), full (2), executed (2), sandboxed (2), accessing (2), load (2), slower (2), improved (2), relative (2), optimized (2), tests (2), reported (2), even (2), capabilities (2), ieee (2), additionally (2), permitted (2), make (2), larger (2), makes (2), cannot (2), operations (2), integers (2), size (2), complex (2), recommend (2), separate (2), those (2), requiring (2), install (2), onto (2), except (2), licensed (2), parties (2), fairly (2), rendering (2), form (2), announcement (2), conference (2), until (2), example (2), officially (2), one (2), very (2), rarely (2), threading (2), dual (2), licenses (2), two (2), collector (2), http (2), machines (2), internet (2), notable (2), level (2), removal (2), permgen (2), due (2), previously (2), method (2), refers (2), sp1 (2), lambda (2), try (2), instance (2), creation (2), inference (2), tool (2), monitoring (2), annotations (2), internal (2), tiger (2), var (2), autoboxing (2), loop (2), modeled (2), parser (2), xml (2), chaining (2), perl (2), regular (2), jndi (2), directory (2), j2ee (2), interoperability (2), corba (2), reflection (2), 1997 (2), extensive (2), inner (2), abstract (2), specifies (2), side (2), 1994 (2), hotjava (2), netscape (2), felt (2), cable (2), meets (2), 1992 (2), interest (2), proposal (2), industry (2), too (2), proposed (2), engineers (2), produce (2), initially (2), soon (2), outside (2), his (2), office (2), programmers (2), portable (2), easily (2), stealth (2), began (2), providing (2), handled (2), him (2), nio (2), output (2), static (2), enhanced (2), jshell (2), preview (2), record (2), discontinuation (2), collected (2), immediately (2), allocation (2), regarding (2), incompatible (2), ended (2), built (2), multiple (2), clr (2), multi (2), preferred (2), smalltalk (2), statically (2), alone (2), single (2), unit (2), programmer (2), perform (2), depend (2), presence (2), reusable (2), own (2), containing (2), events (2), dynamically (2), freely (2), likely (2), smartphones (2), useful (2), communicate (2), executes (2), formerly (2), deploying (2), converts (2), variety (2), commercial (2), amazon (2), adoptopenjdk (2), currently (2), simple (2), pages (2), appearance (2), upload (2), read (2), беларуская (2), log (2), create (2), donate (2), menu (2), cookie, statement, statistics, conduct, legal, safety, contacts, disclaimers, apply, site, agree, registered, profit, creative, attribution, sharealike, rendered, parsoid, edited, utc, hidden, haudio, microformats, webarchive, template, marked, weasel, worded, phrases, unfit, excerpts, mdy, dates, https, index, java_, software_platform, oldid, 1375211379, italics, llc, america, acquisition, certification, recognition, big, appliance, exalogic, exadata, tuxedo, coherence, weblogic, soa, webcenter, fusion, proxy, ocfs2, visualvm, forms, image, packaging, graalvm, dtrace, apex, frameworks, ides, rdb, nosql, innodb, essbase, berkeley, databases, vdi, cerner, netsuite, sunopsis, iron, rightnow, edwards, bea, siebel, hyperion, peoplesoft, naomi, seligman, lucas, jack, kemp, hurd, henley, grundfest, héctor, garcía, molina, larry, ellison, safra, catz, boskin, raymond, bingham, berg, corporate, directors, sourcelair, firebase, che, aws, online, poplog, pop, libertyeiffel, eiffelstudio, rustrover, rust, goland, vscode, qbasic, quickbasic, realizer, xojo, liberty, glbasic, purebasic, rapidq, futurebasic, inform, visualfbeditor, winfbe, basic4gl, gambas, sdlbasic, 256, quickpascal, borland, kylix, gnavi, lazarus, wing, pythonanywhere, pycharm, thonny, spyder, pida, pyscripter, pydev, light, idle, rstudio, zend, phpedit, phpstorm, codelobster, aptana, flashdevelop, phone, xamarin, rider, cli, sublime, haxe, chromium, atom, xelfi, aka, espresso, café, metrowerks, pro, jcreator, jgrasp, greenfoot, drjava, quickc, appcode, rational, architect, labwindows, cvi, clion, xcode, openwatcom, theide, qdevelop, kakoune, gnome, emacs, codelite, arduino, vinod, khosla, andy, bechtolsheim, meetup, opensparc, slogans, tarantella, savaje, procom, pixo, montalvo, lighthouse, design, gridware, afara, websystems, scps, looking, glass, fortress, picojava, research, 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, classic, sparcstation, sun386i, acquired, urs, hölzle, arthur, van, hoff, organizations, devoxx, conferences, oxygene, slogan, wildfly, toplink, struts, spring, openj9, hibernate, gwt, blackdown, art, pack200, jnlp, jsf, jsp, midlets, servlets, squawk, graal, sdk, sagipl, presentation, origins, summit, infoq, spec, revision, dated, reflect, edits, minutes, listen, wikibooks, book, wiktionary, dictionary, wikiversity, helpx, bulletin, super, admin, bott, close, installs, deceptive, guardian, gonsalves, antone, wearable, readwrite, pull, krebsonsecurity, good, riddance, meghan, venturebeat, finkle, jim, emergency, fails, cybercrime, warn, forbes, nbc, innovation, horowitz, blogs, cfelde, tie, christian, felde, fastest, values, kahan, darcy, hurts, everywhere, owens, sean, darksleep, int, bug, wrong, cluley, graham, nakedsecurity, sophos, cert, naked, gaming, question, sharples, rich, debian, redhat, wielaard, posted, bbc, shackled, unbreakable, 5015, horizon, groklaw, curious, incident, night, smith, tori, wieldt, dalibor, fedoraproject, billions, 397, thread, countstackframes, roadmap, unsupported, wayland, overflow, installing, advapi32, dll, lea, doug, corp, 166, 504, hair, openjdk7, plugs, logic, opens, announces, formation, bank, david, our, loses, money, foreseeable, investment, wired, saga, murphy, kieron, lawyers, told, couldn, trademarked, frank, yellin, senior, session, held, come, ideas, javaworld, decide, walrath, kathy, foreword, byous, lifehacker, nutter, charles, taste, invokedynamic, masamitsu, presenting, frequently, questions, chapter, modularity, baeldung, structural, understanding, cpu, psu, explained, faq, documentation, willie, walker, paul, lamere, philip, kwok, freetts, case, study, kano, faster, benchmark, lewis, neumann, ulrich, immersive, southern, versus, cup, affiliates, whittaker, zack, amid, zero, day, alexander, christopher, school, influenced, 1989, gplv2, locales, ortiz, enrique, giguère, éric, 978, 0471034650, sons, profile, ships, mascots, concurrentmap, yet, updater, intervention, administrative, rights, unlike, player, 126, 125, roll, month, redirect, searches, ads, mcafee, scan, blocked, obvious, located, tab, miscellaneous, heading, labelled, suppress, sponsor, 123, ask, toolbar, responding, blogger, having, remind, readers, quarterly, promising, outlived, usefulness, nightmare, delights, cyber, expense, macs, carefully, whether, typical, 121, hole, prompted, response, encouraging, blacklisted, order, virus, 119, united, states, 118, specialists, spoke, telling, jaime, blasco, alienvault, stated, mess, unclear, consumers, schedules, patches, 117, 116, 115, 114, reuters, place, simply, flawed, 113, 112, remote, researchers, discovered, bypass, mechanism, exposing, affect, ins, websites, trusts, unaffected, manner, poorly, intended, restricting, exploited, filesystem, commands, communication, malware, 111, interpreted, interpretation, penalty, performant, approach, startup, equivalent, substantially, shown, quite, criticisms, compiles, 110, 109, 108, largely, modifier, flags, directed, roundings, mandated, precision, present, 107, 106, strictfp, lacks, generated, prevents, direct, interchange, numbers, numeric, fields, cryptography, convenient, partially, circumvent, problem, conversion, cumbersome, hold, ease, bits, exists, abstracted, function, alternatively, emulate, requires, detailed, knowledge, bitwise, 105, 104, chosen, compared, wildcards, 103, 102, 101, migration, cases, unnecessary, required, whom, 100, redistribute, enduser, sysadmin, correct, themselves, packaged, passed, claim, goal, replace, remain, closed, meantime, usable, replacing, stubs, buildable, who, want, turned, key, font, rasterizing, promise, rest, placed, right, publish, distributable, mean, real, milestone, shuttleworth, partial, combined, comparatively, defined, incomplete, tended, far, clean, room, facto, recently, severely, restricted, done, signing, generally, paying, contract, satisfy, initiative, personality, bigger, nose, jetpack, blue, wings, bsd, plans, deprecate, separately, installable, forcing, widespread, sharing, clients, mathematics, collaborative, lotus, matlab, vuze, limewire, sued, adding, making, prompts, launched, negating, sap, though, aix, rhel, alphine, builds, options, musl, grown, hundred, thousand, evolved, terminally, finalization, adopted, starting, represents, complete, optional, nor, unique, flight, recorder, debug, deep, websocket, rapid, higher, minimum, upped, explorer, inspired, joda, thus, lifecycle, recommended, unofficial, manual, described, sp3, functioning, sp2, above, oses, closures, kenai, remotely, exploitable, strings, generic, among, join, fork, protocols, expiration, sctp, dolphin, facilitates, pluggable, feel, troubleshooting, gui, 269, mozilla, mustang, numbered, args, jaxp, xslt, merlin, javasound, kestrel, rebranded, distinguish, base, j2me, integration, vendors, codebase, equipped, idl, playground, retooling, awt, event, connectivity, javabeans, window, toolkit, undergone, packages, governed, evolution, propose, specify, managed, 901, bulk, took, teavm, revealed, gain, 0a2, sunworld, accompanying, executive, vice, president, unexpectedly, formed, communications, marc, andreessen, director, targeted, advent, evolve, medium, prototype, wrote, webrunner, movie, runner, mosaic, wayne, rosing, summer, demonstrate, portions, demonstration, focused, pda, agent, assist, spun, off, wholly, owned, subsidiary, relocated, issued, rfp, changed, responded, gave, lost, bid, deal, materialize, unable, generate, television, rolled, 3do, sgi, request, warner, palo, alto, star7, digital, assistant, combining, paper, attempted, modify, extend, referred, abandoned, favor, creating, tree, stood, mesa, rejected, reasons, decided, complexity, errors, manually, manage, challenging, prone, task, worried, facilities, wanted, mike, sheridan, joining, aimed, expected, offer, opportunities, menlo, park, sand, hill, road, 1990, increasingly, frustrated, state, informed, plan, leaving, pretend, god, send, mail, explaining, autonomously, bureaucracy, stalling, forwarded, message, important, started, interfaces, beans, guis, map, constants, enumerations, varargs, import, unboxing, 223, expanded
Text of the page (random words):
t classes of device and application domains java card a technology that allows small java based applications applets to be run securely on smart cards and similar small memory devices java me micro edition specifies several different sets of libraries known as profiles for devices with limited storage display and power capacities it is often used to develop applications for mobile devices pdas tv set top boxes and printers java se standard edition for general purpose use on desktop pcs servers and similar devices jakarta ee enterprise edition java se plus various apis which are useful for multi tier client server enterprise applications java se edit these paragraphs are an excerpt from java platform standard edition edit java platform standard edition java se is a computing platform technical standard for execution of applications on independent java supported platforms as such portable code for desktop and server environments 15 16 java se was formerly known as java 2 platform standard edition j2se the platform uses the java programming language and is part of the java software platform family java se defines a range of general purpose apis such as java apis for the java class library and also includes the java language specification and the java virtual machine specification 17 openjdk is the official reference implementation since version 7 18 19 20 jakarta ee edit this paragraph is an excerpt from jakarta ee edit jakarta ee formerly java platform enterprise edition java ee and java 2 platform enterprise edition j2ee is a set of specifications extending java se 21 with specifications for enterprise features such as distributed computing and web services 22 jakarta ee applications are run on reference runtimes which can be microservices or application servers which handle transactions security scalability concurrency and management of the components they are deploying java virtual machine edit main article java virtual machine the heart of the java platform is the virtual machine that executes java bytecode programs this bytecode is the same no matter what hardware or operating system the program is running under however new versions such as for java 10 and earlier have made small changes meaning the bytecode is in general only forward compatible there is a just in time jit compiler within the java virtual machine jvm the jit compiler translates the java bytecode into native processor instructions at run time and caches the native code in memory during execution the use of bytecode as an intermediate language permits java programs to run on any platform that has a virtual machine available the use of a jit compiler means that java applications after a short delay during loading and once they have warmed up by being all or mostly jit compiled tend to run about as fast as native programs 23 24 25 since jre version 1 2 sun s jvm implementation has included a just in time compiler instead of an interpreter although java programs are cross platform or platform independent the code of the java virtual machines jvm that execute these programs is not every supported operating platform has its own jvm java development kit edit this section is an excerpt from java development kit edit the java development kit jdk is a software development kit for development of a java platform application 26 the jdk is designed to be mainly used to communicate with the java runtime environment jre but it can be replaced by other jdk based languages which can communicate with the jre and jvm furthermore java bytecode can be compiled statically directly into native code only with a jvm but without the necessity of the java runtime environment running dynamically it implements the java language specification jls and the java virtual machine specification jvms and provides the standard edition se of the java application programming interface api it is derivative of the community driven openjdk which oracle stewards 27 it provides software for working with java applications examples of included software are the java virtual machine a compiler performance monitoring tools a debugger and other utilities that oracle considers useful for java programmers oracle releases the current version of the software under the oracle no fee terms and conditions nftc license oracle releases binaries for the x86 64 architecture for windows macos and linux based operating systems and for the aarch64 architecture for macos and linux previous versions supported the oracle solaris operating system and sparc architecture oracle s primary implementation of the jvms is known as hotspot java runtime environment edit the java runtime environment jre released by oracle is a freely available software distribution containing a stand alone jvm hotspot the java standard library java class library a configuration tool and until its discontinuation in jdk 9 a browser plug in it is the most common java environment installed on personal computers in the laptop and desktop form factor mobile phones including feature phones and early smartphones that ship with a jvm are most likely to include a jvm meant to run applications targeting micro edition of the java platform meanwhile most modern smartphones tablet computers and other handheld pcs that run java apps are most likely to do so through support of the android operating system which includes an open source virtual machine incompatible with the jvm specification instead google s android development tools take java programs as input and output dalvik bytecode which is the native input format for the virtual machine on android devices the last critical path update version of jre with an oracle bcl agreement 28 was 8u201 and the last patch set update version with the same license was 8u202 29 30 the last oracle jre implementation regardless of its licensing scheme was 9 0 4 31 since java platform se 9 the whole platform also was grouped into modules 32 the modularization of java se implementations allows developers to bundle their applications together with all the modules used by them instead of solely relying on the presence of a suitable java se implementation in the user device 33 34 35 36 class libraries edit main article java class library in most modern operating systems oss a large body of reusable code is provided to simplify the programmer s job this code is typically provided as a set of dynamically loadable libraries that applications can call at runtime because the java platform is not dependent on any specific operating system applications cannot rely on any of the pre existing os libraries instead the java platform provides a comprehensive set of its own standard class libraries containing many of the same reusable functions commonly found in modern operating systems most of the system library is also written in java for instance the swing library paints the user interface and handles the events itself eliminating many subtle differences between how different platforms handle components the java class libraries serve three purposes within the java platform first like other standard code libraries the java libraries provide the programmer a well known set of functions to perform common tasks such as maintaining lists of items or performing complex string parsing second the class libraries provide an abstract interface to tasks that would normally depend heavily on the hardware and operating system tasks such as network access and file access are often heavily intertwined with the distinctive implementations of each platform the java net and java io libraries implement an abstraction layer in native os code then provide a standard interface for the java applications to perform those tasks finally when some underlying platform does not support all of the features a java application expects the class libraries work to gracefully handle the absent components either by emulation to provide a substitute or at least by providing a consistent way to check for the presence of a specific feature languages edit see also list of jvm languages and jvm programming languages the word java alone usually refers to java programming language that was designed for use with the java platform programming languages are typically outside of the scope of the phrase platform although the java programming language was listed as a core part of the java platform before java 7 the language and runtime were therefore commonly considered a single unit however an effort was made with the java 7 specification to more clearly treat the java language and the java virtual machine as separate entities so that they are no longer considered a single unit 37 third parties have produced many compilers or interpreters that target the jvm some of these are for existing languages while others are for extensions to the java language these include beanshell a lightweight scripting language for java 38 see also jshell ceylon an object oriented strongly and statically typed programming language with an emphasis on immutability and is no longer maintained since 2023 clojure a modern dynamic and functional dialect of the lisp language on the java platform gosu a general purpose jvm based programming language released under the apache license 2 0 groovy a fully java interoperable java syntax compatible static and dynamic language with features from python ruby perl and smalltalk jruby a ruby interpreter jython a python interpreter kotlin a language for a jvm and non jvm for e g desktop and ios with full java interoperability google s preferred language for android its jvm over java which is also still supported there and it previously promoted rhino a javascript interpreter scala a multi paradigm programming language with non java compatible syntax designed as a better java similar platforms edit see also comparison of c and java the success of java and its write once run anywhere concept has led to other similar efforts notably the net framework appearing since 2002 which incorporates many of the successful aspects of java net was built from the ground up to support multiple programming languages while the java platform was initially built to support only the java language although many other languages have been made for jvm since like java net languages compile to byte code and are executed by the common language runtime clr which is similar in purpose to the jvm like the jvm the clr provides memory management through automatic garbage collection and allows net byte code to run on multiple operating systems net included a java like language first named j then called visual j that was incompatible with the java specification it was discontinued 2007 and support for it ended in 2015 performance edit main article java performance the jvm specification gives a lot of leeway to implementors regarding the implementation details since java 1 3 jre from oracle contains a jvm called hotspot it has been designed to be a high performance jvm to speed up code execution hotspot relies on just in time compilation to speed up object allocation and garbage collection hotspot uses generational heap generational heap edit the java virtual machine heap is the area of memory used by the jvm for dynamic memory allocation 39 in hotspot the heap is divided into generations the young generation stores short lived objects that are created and immediately garbage collected objects that persist longer are moved to the old generation also called the tenured generation this memory is subdivided into two survivors spaces where the objects that survived the first and next garbage collections are stored the permanent generation or permgen was used for class definitions and associated metadata prior to java 8 permanent generation was not part of the heap 40 41 the permanent generation was removed from java 8 42 originally there was no permanent generation and objects and classes were stored together in the same area but as class unloading occurs much more rarely than objects are collected moving class structures to a specific area allowed significant performance improvements 40 security edit the java jre is installed on a large number of computers end users with an out of date version of jre therefore are vulnerable to many known attacks this led to the widely shared belief that java is inherently insecure 43 since java 1 7 oracle s jre for windows includes automatic update functionality before the discontinuation of the java browser plug in any web page might have potentially run a java applet which provided an easily accessible attack surface to malicious web sites in 2013 kaspersky labs reported that the java plug in was the method of choice for computer criminals java exploits are included in many exploit packs that hackers deploy onto hacked web sites 44 java applets were removed in java 11 released on september 25 2018 java versions edit main article java version history java version year changes 26 2026 a general non lts release 25 2025 a long term support lts release 21 2023 a long term support lts release 17 2021 an lts release has several enhancements provides pattern matching for switch statements and sealed classes 16 2021 introduced record classes pattern matching and sealed classes for enhanced data modelling abilities 15 2020 introduced text blocks sealed classes as preview features enhancing string and class handling 14 2020 introduced new features record classes and pattern matching for instanceof as preview features 13 2019 included enhancements text blocks reimplementation of legacy socket api 12 2019 introduced switch expressions new shenandoah garbage collector 11 2018 an lts release introduced new http client removed java ee and corba modules 10 2018 introduced local variable type inference var allows declaring local variables without specifying type 9 2017 introduced java platform module system jpms for modularizing applications jshell interactive java repl 8 2014 major release introduced lambda expressions new date and time api for better productivity 7 2011 introduced try with resources switch on string diamond operator included expanded exception handling new file i o library nio 2 6 2006 introduced scripting language support jsr 223 web service enhancements provided jdbc 4 0 with sql xml support 5 2004 significant release included generics an enhanced for loop autoboxing unboxing static import varargs enumerations annotations 4 2002 introduced regular expressions exception chaining new set of i o apis named nio new input output new logging api 3 2000 included new sun jvm named hotspot introduced java naming and directory interface jndi java platform debugger architecture jpda 2 1998 introduced collections framework java string memory map for constants a just in time jit compiler and swing api for guis 1 1 1997 introduced inner classes reflection java beans jdbc api for database access 1 0 1996 first version of java programming language introduced object oriented progra...
|