eo eo eo en eo en de nb eo fr eo en eo pl eo en es en eo en eo eo eo en fr eo eo eo eo eo eo pt eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo io eo eo eo eo eo pt eo eo eo eo pt pl en ca eo en en en en en en en en en eo en eo eo eo eo eo eo eo en lt eo eo eo eo de es eo eo eo eo eo sv ur eo eo eo eo es eo eo eo eo eo eo eo eo tr nl eo eo it eo eo eo eo eo eo eo eo eo eo eo eo cv nl am ar as en az ku lt ru sv bg bn hbs_lat ja ca en mzn it hbs_lat vi cy da de el en es et eu fa fi fr de lt gu ku he hi hbs_lat tl hu hy it id is it ja ka az kk ta ko cs it en nl lt lv id en ml be mr ms my ne nl nb nb fr or pa pl pt ro ru bxr en sd hbs_lat si en sk sl et sq hbs_lat sv ta te en th ceb tr oc fy uz fr vi pl zh zh fr zh eo eo eo eo eo eo eo eo eo
El Vikipedio, la libera enciklopedio
Jump to navigation Jump to search
Ĉi tiu artikolo temas pri la programlingvo Java. Por informoj pri la lingvo parolata en Indonezio, vidu la paĝon java lingvo.
Statika, forta, protektita, nominativa, manifest-bazita
Kreita sub la influo de:
Objective-C,[1] Ada 83, Objektema Paskalo,[2] UCSD-Paskalo[3][4] C++, C#,[5][6] Eiffel,[7] Smalltalk, Mesa,[8] Modula-3,[9] Generic Java
Ada 2005, C#, Clojure, D, ECMAScript, Groovy, J#, PHP, Scala, JavaScript, Python, BeanShell
v • d • r
Java (esperantigite Ĝavo kaj Javo [10], dumprojekta nomo Green Project) estas programlingvo kreita de Sun Microsystems sendependa de la operaciumo, tio signifas ke ĝi funkcias sur virtuala maŝino, kaj ĉi tiu estas dependa de la operaciumo. Do, se oni uzas nur funkciojn de java, oni povos unufoje skribi, ĉie ajn funkciigi ĝin.
Java komenciĝis kun la celo fari TTT-paĝojn pli interaktivaj: anstataŭ la kutima parado de tekstoj, bildoj, sonoj kaj filmo (k.e. fiksita informo), Java ebligas al vi aldoni apletojn (angle: applets) aŭ komputilan inteligentecon al TTT-paĝo (per la HTML-marko  ). Ĉi-tage oni povas programi riĉan uzinterfacon en Java-apleto rulanta sur la propra komputilo, kaj tamen respekti la privatan sekurecon.
Kiel C++, Java estas objektema ido de C. Sed malsimile al C++, ĝi estas tradukata en duonkodon (angle: bytecode), kiu poste estas interpretata de Virtuala Maŝino, ekzemple en TTT-legilo kiu regas Java-n. La duonkodo estas sendependa de iu maŝino aŭ operaciumo: anstataŭe, la virtuala maŝino devas interpreti la kodon por sia sistemo. Tia maŝino estas konata kiel la Java Virtuala Maŝino.
Java-programoj ruliĝas ne nur en TTT-legiloj (kiel apletoj), sed ankaŭ kiel sendependaj programoj (kiel apliko). Cetere oni uzas Java-n en serviloj (ekzemple per JSP kaj servletoj) kaj ankaŭ por faboj. (Vidu "Specoj de Programoj" ĉisube). La apletoj estas nur la plej rimarkebla uzo de Java per simplaj uzantoj.
En 2000, Microsoft enkondukis novan lingvon, C#, por rivali Java-n. Ĝi estas ido de C++, kiu penas kuraci la difektaĵojn de Java.
Plejparte, se vi jam regas C++, por lerni Java-n vi devas lerni la klasaron de Java, kiu estas pli plena ol tiu de C++. Por verki en Java idiotisme kaj trafe, vi devas lerni el la ekzemploj de efektivaj programoj, kiel kun iu ajn lingvo maŝina aŭ homa. Multe da fontkodo ekzistas enrete.
1 La ĉefaj diferencoj al C++
2 La ĉefaj problemoj de la uzo de Java por apletoj
3 Specoj de programoj
La ĉefaj diferencoj al C++[redakti | redakti fonton]
Libroj pri Java programado laŭ subklaso QA de la Klasifiko de la Kongresa Biblioteko.
Por malebligi virusojn, Java malebligas la skribadon al dosiero (nur por apletoj) kaj uzon de absoluta adreso de memoro. Tiu malsamo, kvankam kapdolorigema, estas tute necesa por ia ajn surreta programado.
Java havas ampleksan klasaron kiel bazon de la lingvo.
Kiel Lispo kaj Smalltalk, Java enhavas senrubigilon, do vi ne devas liberigi la memoron de viaj objektoj.
Java ne subtenas multoblan heredadon -- klaso heredas sole de unu patra klaso, tamen povas realigi plurajn interfacojn.
La ĉefaj problemoj de la uzo de Java por apletoj[redakti | redakti fonton]
Ĉar lernolibroj traktas pri Java ideala, ne reala, ili kutime diskutas pri la supraj diferencoj (kiuj sekvas de la difino de la lingvo), sed ne pri la nur praktikaj problemoj:
En teorio, Java estas la sama sur ĉiu operaciumo, sed en nuna praktiko, la malsamo de la grafika interfaco estas sufiĉe grava. Via apleto povas belaspekti sur Vindozo sed esti maluzebla sur Unikso aŭ Makintoŝo! La nova klasaro Swing parte solvis la problemon.
Malsamo de TTT-legiloj: Java estas ankoraŭ nematura, tial la nunaj interpretiloj estas ankoraŭ malnetaj kaj interpretas Java-n ne tute same. Pro tio, projekto de unu semajno povas daŭri unu monaton por funkciigi vian programon sub ĉiu legilo kaj eĉ versio de legilo. Microsoft, malamikema al Java kiel ebla rivalanta platformo, misinterpretas aŭ aliinterpretas Java-n.
Post tempo, la graveco de tiuj problemoj malaperos ĉar interpretiloj pliboniĝos.
Se vi sole regas je LISP, C, Pascal, ktp, vi devos lerni pri objektema programado: aĉetu lernolibron (de Java, de C++ aŭ de objektema programado mem) kun bona enkonduko pri ĝi.
Specoj de programoj[redakti | redakti fonton]
En Java estas kvar ĉefaj specoj de programoj:
apleto: (angle, applet) kutime apartenas al TTT-paĝo kaj estas rulita de la TTT-legilo.
servleto: (angle, servlet) kutime apartenas al TTT-ejo kaj estas rulita de la servilo (la komputilo kiu servas la paĝojn de TTT-ejo). Servletoj ne havas grafikan interfacon. Servletoj estas la respondo de Java al CGI. CGI kutime estas realigata per la lingvo Perl, kies kodon estas malfacile legi kaj ripari. Servletoj kreas TTT-paĝojn kaj kuketojn (angle, cookies). JSP estas realigita per servletoj.
apliko: (angle, application) sendepende de TTT-paĝo aŭ eĉ de la Interreto. Rulita de iu ajn komputilo (kiu enhavas Virtualan Maŝinon).
fabo: (angle, bean) programero, kiu provizas specifan funkcion, kiun vi povas aldoni al via programo (apleto, servilo, apliko aŭ eĉ alia fabo) per bildprogramado (angle, visual programming). Per bildprogramilo, vi povas vidi la propraĵojn, eventojn, metodojn de la fabo kaj ĝian interrilaton kun aliaj faboj, kaj ŝanĝi ĉi tiujn de la fabo. (Sed vi ankaŭ simple povas skribi la fonttekston mane).
Unu speco de fabo, kiu estas rulita de servilo kaj ne estas videbla, estas la EJB: angla mallongigo por Enterprise JavaBean, ĝava fabo por entrepreno (t.e., retkomerco).
Ekzemploj[redakti | redakti fonton]
Jen tradicia Saluton, mondo! programo en Java:[11]
class SalutonMondo { public static void main(String[] args) { System.out.println("Saluton, mondo!"); // Montru la tekston. } }
Versioj[redakti | redakti fonton]
La ĉefaj diferencoj inter versioj (Java programadaj kestoj por Java SE - Norma Eldono):
JDK 1.0 (majo 1995; 212 klasoj): la baza lingvo
JDK 1.1 (decembro 1996; 504 klasoj):
nova modelo por eventoj
internaj klasoj: klasoj difinitaj interne de alia klaso
faboj: stilo de kodado, kiu ebligas programadon per videblaj unuoj de kodo
RMI: ebligas vokadon de kodon sur aliaj maŝinoj tra la reto
JDBC: ebligas demandi al datumbazo per SQL.
JDK 1.2 (decembro 1998; 1520 klasoj) -- alinomata Java 2 SE aŭ J2SE
Swing: nova, pli racia klasaro por la grafika interfaco, sendependa de la altnivelaj grafikaj elementoj de operaciumoj
grafika trenado kaj faligado
Collections (kolektoj): nova, pli racia klasaro por aroj -- listoj, mapoj, aroj, ktp
JDK 1.3 (majo 2000; 1842 klasoj)
JDK 1.4 (decembro 2001; 2991 klasoj)
JDK 1.5 (septembro 2004; 3562 klasoj) -- alinomata J2SE 5.0
Generaj tipoj: oni povas traduktempe (ne rultempe) aldoni tip- aŭ klasparametrojn, per kiuj precipe la kolektklasoj iĝas tipsekuraj.
Novaj konstruoj ebligas mallongigi la for-ordonon por iteracieblaj objektoj.
enum ebligas efike deklari valordomajnojn kaj per nomo, kaj per numera valoro.
Konkureco, paralelismo kaj sinkronigo iĝas pli kaj pli praktikaj kaj oni retrovas efektivajn uzojn.
JDK 1.6 (decembro 2006) -- alinomata Java SE 6
Prinotaj klasoj nun povas aperi antaŭ klas-, kamp- aŭ metoddeklaroj. Oni mem deklaras la vivon de la prinotoj: dum traduktempo aŭ eĉ dum rultempo. Plena subteno de kompilado ene de java mem. Subteno por skriptlingvoj (jam kun Javaskripto). Java definitive malfermas siajn fontojn al la komumumo.
La revizioj 1.3 kaj 1.4 de Java estas veraj revizioj, revizioj de Java 2, kaj ne grandaj ŝanĝoj al la lingvo.
Por ruli Java-programojn oni nur bezonas la JRE (Java Rultempa Medio) de la Java SE - kiu ankaŭ estas subdosierujo de la JDK. Por ruli retservilajn programojn ekzistas ekstra tavolo, la Java EE (Java Entreprena Eldono). Por ruli sur limigitaj aparatoj kiel poŝtelefono, la Java ME (Java Mikro-Eldono) ekzistas. Krom la klasaro de Java mem ekzistas multaj aliaj klasaroj, kiujn oni povas uzi. Ekzemple por uzi objektan datumbazon pli facile, uzu S.O.D.A..
Vidu ankaŭ[redakti | redakti fonton]
Referencoj[redakti | redakti fonton]
↑ White Paper.About Microsoft's "Delegates"
↑ TechMetrix Research (1999)History of Java. Java Application Servers Report. “The project went ahead under the name "green" and the language was based on an old model of UCSD Pascal, which makes it possible to generate interpretive code”.
↑ The Java Language Environment (May 1996).
↑ The Java Language Specification, 2nd Edition.
↑ Monato, internacia magazino sendependa, numero 1998/05, paĝo 13: Kio estas Javo? verkita de Klivo.
↑ Lesson: A Closer Look at the "Hello World!" Application, Java Tutorials
Literaturo[redakti | redakti fonton]
Monato, internacia magazino sendependa, numero 1998/05, paĝo 13: Kio estas Javo? verkita de Klivo.
Eksteraj ligiloj[redakti | redakti fonton]
angle Hejmpaĝo de Java ĉe Oracle
angle Lernilo pri Java
Informoj pri la paĝo
Citi ĉi tiun artikolon
Ĉi tiu paĝo estis lastafoje redaktita je 20:21, 10 dec. 2015.
La teksto disponeblas laŭ la permesilo Krea Komunaĵo Atribuite-Samkondiĉe 3.0 Neadaptita; eble aldonaj kondiĉoj aplikeblas. Vidu la uzkondiĉojn por detaloj.
Regularo pri respekto de la privateco
Vidigo por porteblaj aparatoj