JavaRush /Blog Jawa /Random-JV /Ngopi #93. Carane kelas String dianggo ing Jawa. Sinau ca...

Ngopi #93. Carane kelas String dianggo ing Jawa. Sinau carane ngleksanakake antarmuka web ing Jawa

Diterbitake ing grup

Carane kelas String dianggo ing Jawa

Sumber: DZone Aku bubar nemokake pitakonan ing ngisor iki ing forum: "Pinten obyek String sing digawe ing kene ? siji opo loro?"
String langName = new String("Java");
Aku kepengin weruh carane wong liya mangsuli iku, ngerti sing pitakonan Komplek, utamané yen siji ora banget kawruh bab carane kelas String dianggo ing Jawa. Dadi, aku mlebu ing bagean komentar. Ngopi #93.  Carane kelas String dianggo ing Jawa.  Sinau carane ngetrapake antarmuka web ing Jawa - 1Aku kaget, ing antarane sing menehi komentar ana sing milih "Siji" minangka jawaban sing bener, nanging luwih akeh sing mangsuli "Loro". Sedhela, aku malah wiwit mangu-mangu kawruh babagan Strings . Jawaban sing bener iku kabeh gumantung ing kahanan. Pitakonan ora cukup cetha lan ninggalake ruang kanggo debat. Aku bakal rephrase kaya iki:

1. Carane akeh obyek Jawa String digawe ing memori nalika statement iki kaleksanan?

Wangsulan mung siji.

Pira obyek Jawa String bakal tetep ing memori sawise nglakokake statement iki?

Wangsulane loro. Muga-muga kahanan sing durung mesthi ilang yen aku mriksa dump memori program kanthi pratelan kaya conto ing ndhuwur. Ngopi #93.  Carane kelas String dianggo ing Jawa.  Sinau carane ngetrapake antarmuka web ing Jawa - 2Dump memori program ing gambar ndhuwur nuduhake orane rong obyek String kanthi isi sing padha. Iki mbuktekake manawa nelpon konstruktor kelas String lan ngliwati string literal minangka argumen nyebabake rong obyek ditambahake menyang tumpukan memori: siji ing memori biasa (non-pool), lan liyane ing String Constant Pool (SCP), lan area ing memori sing uga bagéan saka numpuk. Kesulitan diwiwiti sawise nambah. Nelpon konstruktor tansah nyebabake obyek anyar diselehake ing area non-blumbang. Nanging argumentasi konstruktor, yaiku string literal, uga obyek, lan digawe lan disimpen ing SCP sajrone loading kelas, kasedhiya yen blumbang senar ora ngemot senar kanthi isi sing padha. Spesifikasi Basa Jawa nyatakake yen "string literals—utawa, luwih umum, Strings sing minangka nilai ekspresi konstan (§15.28) - "intern" kanggo nuduhake conto unik nggunakake metode String . intern ". Wiwit senar ing basa Jawa iku harfiah lan mulane nggambarake nilai ekspresi konstan, mula dikumpulake. Kanggo nggawe iki luwih jelas, ayo nulis maneh kode sing ditampilake ing wiwitan artikel kaya ing ngisor iki:
String java = "Java";
String langName = new String(java);
Saiki ayo bali menyang pitakonan utama. Pernyataan ing ngisor iki bakal nggawe siji utawa loro obyek String :
String langName = new String("Java");
Kanggo njawab pitakonan iki lan mbusak anggepan, ayo goleki bytecode saka metode utama:
public static main([Ljava/lang/String;)V
   L0
    LINENUMBER 11 L0
    NEW java/lang/String
    DUP
    LDC "Java"
    INVOKESPECIAL java/lang/String. (Ljava/lang/String;)V
    ASTORE 1

   L1
    LINENUMBER 14 L1
   FRAME APPEND [java/lang/String]
    GOTO L1

   L2
    LOCALVARIABLE args [Ljava/lang/String; L0 L2 0
    LOCALVARIABLE langName Ljava/lang/String; L1 L2 1
    MAXSTACK = 3
    MAXLOCALS = 2
Ing baris 6 sampeyan bisa ndeleng printah LDC (Muat Konstan). Iku ngemot unsur saka blumbang pancet string menyang tumpukan. Iki tegese nalika konstruktor kasebut diarani, aksara Jawa, sing uga obyek, wis ditambahake ing blumbang. Iki kedadeyan nalika mbukak kelas. Mangkono, nelpon konstruktor kelas String karo string literal nggawe mung siji obyek lan panggonan ing lokasi memori non-pooled.

Sinau carane ngleksanakake antarmuka web ing Jawa

Sumber: Dev.to Donya JavaScript nawakake kerangka web sing migunani lan nyenengake, ora ana keraguan. Ana alternatif sing menarik kanggo pangembang Java - kerangka kerja Vaadin open source . Kanthi, sampeyan bisa kanthi gampang ngleksanakake antarmuka panganggo grafis (GUI) kanggo web mung nggunakake basa pemrograman Java lan ora liya. Sampeyan ora perlu nulis siji baris HTML utawa JavaScript. Gambar regane sewu tembung: Ngopi #93.  Carane kelas String dianggo ing Jawa.  Sinau carane ngetrapake antarmuka web ing Jawa - 3

Kepiye cara kerjane Vaadin?

Ing sisih kiwa gambar sampeyan ndeleng kelas Jawa. Kode iki mlaku ing server kayata Apache Tomcat, Eclipse Jetty utawa wadhah servlet liyane. Sampeyan bisa nggunakake API sing diwenehake dening platform kanggo nggawe komponen antarmuka panganggo (UI) kayata kolom teks, kothak combo, kothak data, pemilih tanggal, kolom unggahan, lan liya-liyane. Sampeyan bisa nggabungake komponen kasebut kanggo nggawe tampilan (uga dikenal minangka kaca utawa UI), nggunakake tata letak kanggo ngatur komponen antarmuka pangguna (UI) kanthi vertikal, horisontal, utawa cara liya nggunakake CSS. Ing conto sadurunge, kita nggawe TextField lan Tombol kanthi nambahake menyang VerticalLayout . Sawise tampilan wis siyap, sampeyan bisa mbukak liwat URL nggunakake anotasi @Route . Ing conto iki, kita kasedhiya ing http://localhost:8080/hello nggunakake @Route("hello") . Aplikasi Vaadin minangka aplikasi web ing Jawa. Kerangka kasebut nyedhiyakake implementasi Servlet ( VaadinServlet ) sing nangani panjalukan lan respon HTTP kanggo sampeyan. Servlet iki mindai kelas Java sing ditandhani karo anotasi @Route kanggo nampilake tampilan sing bener ing browser. Nalika aplikasi Vaadin pisanan dijaluk, Vaadin nanggapi karo file JavaScript entheng sing dadi mesin klien. Mesin iki ngurus acara pangolahan ing browser lan dikirim menyang server minangka pesen JSON. Objek VaadinServlet ngolah panjaluk lan uga ngasilake tanggapan JSON menyang mesin sisih klien. Mesin banjur nggunakake pesen iki kanggo nganyari unsur ing kaca sing kudu dianyari, yen ana. Vaadin nggunakake sesi HTTP kanggo nyimpen wit komponen sing ngemot kahanan antarmuka panganggo. Bab kaya komponen mbentuk perwakilan lan negara (diaktifake / dipateni, caption, nilai, lsp.). Iki kabeh menehi tingkat keamanan sing worth mentioning. Wiwit logika antarmuka panganggo ana ing server, ora bisa diakses panyerang. Priksa ditindakake ing server. Contone, yen Tombol dipateni nggunakake setEnabled(false) , mula iki ora mung fitur kosmetik ing browser - server ora bakal mbukak logika ing pamireng klik sing ditambahake menyang tombol dipatèni, nyegah panyerang saka eksploitasi alat pangembang ing browser. kanggo ngganti status aktif utawa nelpon VaadinServlet kanggo simulasi klik mouse (acara klik).

Apa Vaadin gratis digunakake?

ya wis. Vaadin minangka kerangka open source sing diterbitake miturut Lisensi Apache 2.0. Sampeyan ora perlu tuku apa-apa kanggo nggawe aplikasi web lengkap. Ana komponen komersial sing nambah kinerja, nanging ora dibutuhake. Contone, ana desainer visual lan komponen CRUD kanggo mbantu nggawe tampilan luwih cepet. Sampeyan bisa nyoba komponen kasebut kanthi gratis sadurunge langganan.

Apa Vaadin minangka pengganti JSP lan JSF?

ya wis. Bisa digunakake minangka panggantos kanggo JSP, JSF lan malah kerangka JavaScript kaya Angular. Akeh pelanggan Vaadin wis sukses migrasi saka teknologi kasebut menyang Vaadin.

Apa Vaadin duwe dhukungan kanggo Spring lan Jakarta EE?

ya wis. Vaadin duwe integrasi resmi karo Spring lan Jakarta EE (biyen Java EE). Sampeyan bisa nambah Vaadin minangka dependensi nalika nggawe proyek Spring Boot anyar nggunakake Spring Initializr. Kanggo Jakarta EE, sampeyan bisa ngundhuh Hello, World conto prasaja sing nggunakake Jakarta EE. Nalika nulis artikel iki, mung Jakarta EE versi 8 sing didhukung.

Sapa sing nggunakake Vaadin?

Akeh perusahaan Fortune 500 nggunakake Vaadin, uga startup sing sukses lan luwih saka 200 ewu pangembang ing saindenging jagad. Priksa Pandhuan Mulai Cepet lan dokumentasi Vaadin liyane.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION