JavaRush /Blog Java /Random-MS /Rehat kopi #58. 20 Soalan Temuduga Penting Yang Perlu Tah...

Rehat kopi #58. 20 Soalan Temuduga Penting Yang Perlu Tahu Tentang Pembangun Java. Faedah mengetahui pelbagai bahasa pengaturcaraan

Diterbitkan dalam kumpulan

20 Soalan Temuduga Penting Yang Perlu Tahu Tentang Pembangun Java

Sumber: Dev.toRehat kopi #58.  20 Soalan Temuduga Penting Yang Perlu Tahu Tentang Pembangun Java.  Faedah mengetahui pelbagai bahasa pengaturcaraan - 1

1. Apakah dua jenis pengecualian di Jawa? Apakah perbezaan antara mereka?

Jawapan: Terdapat dua jenis pengecualian dalam Java: pengecualian yang ditanda dan tidak ditanda.
  1. Pengecualian yang tidak disemak tidak perlu diisytiharkan dalam kaedah atau penyataan kata kunci pembina jika ia boleh dilemparkan apabila kaedah atau pembina melaksanakan dan menyebarkan melampaui kaedah atau sempadan pembina.
  2. Sebaliknya, pengecualian yang diperiksa mesti diisytiharkan dalam kaedah pembina atau pernyataan kata kunci.

2. Apakah itu JVM? Mengapa Java dipanggil "bahasa pengaturcaraan bebas platform"?

Jawapan: Java Virtual Machine (JVM) ialah mesin maya proses yang boleh melaksanakan kod bait Java. Setiap fail sumber Java disusun ke dalam fail bytecode, yang dilaksanakan oleh JVM. Bahasa Java direka untuk mencipta program aplikasi yang boleh dijalankan pada mana-mana platform, tanpa perlu menulis semula atau menyusun semula untuk setiap platform individu. Mesin Maya Java menjadikannya mungkin kerana ia mengetahui panjang arahan khusus dan ciri lain platform perkakasan asas.

3. Apakah perbezaan antara applet dan aplikasi Java?

Jawapan:
  • Applet dijalankan dalam tetingkap penyemak imbas berdaya Java.
  • Aplikasi Java ialah program Java kendiri yang boleh dijalankan di luar penyemak imbas.
Kedua-duanya memerlukan Mesin Maya Java (JVM). Walau bagaimanapun, aplikasi Java memerlukan kaedah utama dengan tandatangan khusus untuk mula melaksanakan. Applet Java tidak memerlukan kaedah sedemikian untuk memulakan pelaksanaan. Selain itu, applet Java biasanya menggunakan dasar keselamatan yang ketat, manakala aplikasi Java biasanya menggunakan dasar keselamatan yang lebih santai.

4. Apakah perbezaan antara JDK dan JRE?

Jawapan:
  • Java Runtime Environment (JRE) pada asasnya ialah Java Virtual Machine (JVM) yang menjalankan program Java anda. Ia juga termasuk pemalam penyemak imbas untuk menjalankan applet.
  • Java Development Kit (JDK) ialah kit pembangunan perisian berciri penuh untuk bahasa Java, termasuk JRE, penyusun dan alatan (seperti JavaDoc dan Java Debugger) untuk membolehkan pengguna membangun, menyusun dan menjalankan aplikasi Java.

5. Apakah itu servlet?

Jawapan: Servlet ialah kelas bahasa pengaturcaraan Java yang digunakan untuk memproses permintaan pelanggan dan mencipta kandungan web dinamik. Servlet digunakan terutamanya untuk memproses atau menyimpan data yang diserahkan oleh borang HTML, menyediakan kandungan dinamik dan mengurus maklumat keadaan yang tidak terdapat dalam HTTP tanpa kewarganegaraan.

6. Apakah halaman JSP?

Jawapan: Halaman Pelayan Java (JSP) ialah dokumen teks yang mengandungi dua jenis teks:
  • data statik,
  • elemen JSP.
Data statik boleh dinyatakan dalam sebarang format teks, seperti HTML atau XML. JSP ialah teknologi yang mencampurkan kandungan statik dengan kandungan yang dijana secara dinamik.

7. Apakah arahan? Apakah jenis arahan yang tersedia dalam JSP?

Jawapan: Arahan ialah arahan yang diproses oleh enjin JSP apabila halaman disusun menjadi servlet. Arahan digunakan untuk menetapkan arahan peringkat halaman, memasukkan data daripada fail luaran dan menentukan perpustakaan teg tersuai. Arahan ditakrifkan antara <%@ dan %>. Jenis arahan yang berbeza ditunjukkan di bawah:
  • Sertakan arahan: Digunakan untuk memasukkan fail dan menggabungkan kandungan fail dengan halaman semasa.
  • Arahan Halaman: Ia digunakan untuk menentukan atribut tertentu pada halaman JSP seperti halaman ralat dan penimbal.
  • Taglib: Digunakan untuk mengisytiharkan taglib tersuai yang digunakan pada halaman.

8. Apakah yang dilakukan oleh kaedah System.gc() dan Runtime.gc()?

Jawapan: Kaedah ini boleh digunakan sebagai petunjuk kepada JVM untuk mencetuskan kutipan sampah. Biasanya, Mesin Maya Java (JVM) menjalankan kutipan sampah secara berkala atau apabila memori bebas mencapai tahap rendah.

9. Apakah perbezaan yang terdapat antara HashMap dan Hashtable?

Jawapan: Terdapat beberapa perbezaan antara HashMap dan Hashtable di Jawa:
  1. Hashtable disegerakkan manakala HashMap tidak. Ini menjadikan HashMap lebih baik untuk aplikasi bukan berulir, kerana objek tidak disegerakkan biasanya berprestasi lebih baik daripada yang disegerakkan.
  2. Hashtable tidak membenarkan kekunci atau nilai nol. HashMap membolehkan anda menggunakan satu kunci nol dan sebarang bilangan nilai nol.
  3. Salah satu subkelas HashMap ialah LinkedHashMap, jadi jika anda mahukan susunan lelaran yang boleh diramal (urutan sisipan lalai), anda boleh menukar HashMap dengan LinkedHashMap dengan mudah. Ini tidak akan begitu mudah jika anda menggunakan Hashtable.

10. Apakah JDBC?

Jawapan: JDBC ialah lapisan abstraksi yang membolehkan pengguna memilih antara pangkalan data. Dengan JDBC, pembangun boleh menulis aplikasi pangkalan data di Java tanpa perlu risau tentang butiran di sebalik pangkalan data tertentu.

11. Apakah maksud kata kunci "statik"? Bolehkah anda mengatasi kaedah peribadi atau statik di Jawa?

Jawapan: Kata kunci statik bermaksud ahli atau kaedah boleh ubah boleh diakses tanpa memerlukan contoh kelas yang dimilikinya . Pengguna tidak boleh mengatasi kaedah statik dalam Java kerana kaedah mengatasi adalah berdasarkan pengikatan dinamik pada masa jalan dan kaedah statik diikat secara kekal pada masa penyusunan. Kaedah statik tidak dikaitkan dengan mana-mana contoh kelas, jadi konsep ini tidak boleh digunakan.

12. Apakah kepentingan blok akhirnya apabila mengendalikan pengecualian?

Jawapan: Blok akhirnya akan sentiasa dilaksanakan, tidak kira sama ada pengecualian dilemparkan. Walaupun tiada pernyataan tangkapan dan pengecualian berlaku. Satu perkara terakhir yang perlu disebutkan ialah blok akhirnya digunakan untuk melepaskan sumber seperti penimbal I/O, sambungan pangkalan data, dll.

13. Apakah perbezaan antara Pengecualian dan Ralat di Jawa?

Jawapan: Ralat ialah keadaan kritikal yang tidak boleh dikendalikan oleh kod program. Pengecualian ialah situasi luar biasa yang boleh dikendalikan oleh kod program.

14. Bilakah objek menjadi layak untuk pengumpulan sampah di Jawa?

Jawapan: Objek Java tertakluk kepada kutipan sampah apabila ia menjadi tidak tersedia untuk program yang sedang menggunakannya.

15. Apakah itu iterator?

Jawapan: Antara muka Iterator menyediakan beberapa kaedah yang boleh lelaran melalui mana-mana koleksi . Setiap koleksi Java mengandungi kaedah Iterator yang mengembalikan contoh Iterator . Iterator boleh mengalih keluar elemen daripada koleksi asas semasa lelaran.

16. Apakah yang lulus dengan rujukan dan lulus dengan nilai?

Jawapan:
  • Apabila objek diluluskan oleh nilai , ia bermakna salinan objek diluluskan. Dengan cara ini, walaupun perubahan dibuat pada objek ini, ia tidak akan menjejaskan nilai asal.
  • Apabila objek diluluskan dengan rujukan , ia bermakna objek itu sebenarnya tidak diluluskan, sebaliknya rujukan kepada objek diluluskan. Dengan cara ini, sebarang perubahan yang dibuat oleh kaedah luaran juga ditunjukkan di semua tempat.

17. Apakah applet Java?

Jawapan: Applet Java ialah program yang boleh disertakan dalam halaman HTML dan dilaksanakan dalam penyemak imbas klien yang didayakan Java. Applet digunakan untuk mencipta aplikasi web yang dinamik dan interaktif.

18. Bagaimanakah HashMap berfungsi di Jawa?

Jawapan: HashMap dalam Java menyimpan pasangan nilai kunci. HashMap memerlukan fungsi hash, menggunakan hashCode dan kaedah yang sama untuk menetapkan dan mendapatkan semula elemen ke dan dari koleksi. Apabila kaedah put dipanggil , HashMap mengira nilai cincang kunci dan menyimpan pasangan pada indeks yang sesuai dalam koleksi. Jika kunci wujud, nilainya dikemas kini dengan nilai baharu. Beberapa ciri penting HashMap ialah kapasiti, faktor beban dan variasi saiz ambang.

19. Apakah antara muka utama Rangka Kerja Koleksi Java?

Jawapan: Rangka Kerja Koleksi Java ialah set antara muka dan kelas yang direka bentuk yang menyokong operasi pada koleksi objek. Antara muka utama yang terdapat dalam Rangka Kerja Koleksi Java ialah:
  • Koleksi mewakili sekumpulan objek, yang dikenali sebagai elemennya.
  • Set ialah koleksi yang tidak boleh mengandungi unsur pendua.
  • Senarai ialah koleksi tertib yang boleh mengandungi elemen berulang.
  • Peta ialah objek yang memetakan kunci kepada nilai dan tidak boleh mengandungi kunci pendua.

20. Apakah jenis data yang disokong oleh Java? Apakah Autoboxing dan Unboxing?

Jawapan: Bahasa pengaturcaraan Java menyokong lapan jenis data primitif berikut:
  • bait
  • pendek
  • int
  • panjang
  • terapung
  • berganda
  • boolean
  • char
Autoboxing ialah penukaran automatik yang dilakukan oleh pengkompil Java antara jenis primitif dan kelas pembalut objek yang sepadan. Jika transformasi pergi ke arah yang bertentangan, operasi ini dipanggil Unboxing . Terima kasih kerana membaca dan semoga berjaya pada temuduga teknikal anda!

Faedah mengetahui pelbagai bahasa pengaturcaraan

Sumber: Dev.to Secara peribadi, saya yakin bahawa setiap pembangun harus mengetahui lebih daripada satu bahasa pengaturcaraan. Dengan kata lain, jika kita bercakap tentang bahasa pengaturcaraan, pembangun mestilah polyglot.Rehat kopi #58.  20 Soalan Temuduga Penting Yang Perlu Tahu Tentang Pembangun Java.  Faedah mengetahui pelbagai bahasa pengaturcaraan - 2

Bahasa primer dan bahasa sekunder

Untuk memudahkan urusan, izinkan saya menjelaskan beberapa istilah yang digunakan dalam artikel ini. Saya percaya bahawa setiap pembangun harus mempunyai satu bahasa yang dia suka. Saya panggil bahasa ini sebagai bahasa utama. Saya akan memanggil mana-mana bahasa selain bahasa bantu utama. Sudah tentu, pembangun boleh menukar bahasa utamanya (lebih daripada sekali) sepanjang kerjayanya. Ini baik. Terdapat banyak sebab mengapa ini dijelaskan.

pakar

Dalam perbincangan tentang pembangun polyglot, hujah sering dibuat bahawa pengetahuan pembangun tentang bahasa kedua datang dengan kos kurang mahir dalam bahasa utama mereka. Penyokong idea ini menganggap bahawa mempelajari setiap bahasa baharu memerlukan masa, dan kali ini anda tidak boleh lagi berbelanja untuk memperoleh pengetahuan bahasa utama anda. Garis pemikiran ini nampaknya salah bagi saya. Saya melihat satu lagi analogi: sukan. Adalah diketahui bahawa bermain satu sukan meningkatkan prestasi anda dalam sukan lain. Sudah tentu, anda boleh memenangi pingat emas dalam kedua-dua acara, dan dart tidak mungkin menjadikan anda perenang yang lebih baik. Sebaliknya, jika anda seorang pendaki batu, maka yoga akan membantu anda mengembangkan fleksibiliti dan keseimbangan. Oleh itu, berlatih yoga akan menjadikan anda pendaki yang lebih baik daripada anda tanpanya. Saya fikir mempelajari setiap bahasa tambahan selalunya akan meningkatkan kemahiran anda dalam bahasa lain yang anda ketahui juga.

Pelbagai alat yang lebih luas

Selain itu, mengetahui berbilang bahasa pengaturcaraan sangat meningkatkan senjata anda sebagai pembangun. Ia meluaskan ufuk anda dan membolehkan anda melihat perkara tertentu dari perspektif yang berbeza. Mari kita ambil contoh dari kehidupan seharian. Jika anda pernah menggunakan pemutar skru, anda sudah biasa dengan skru kepala Phillips. Pada pandangan pertama, semua skru kepala Phillips adalah sama dan nampaknya semuanya boleh diketatkan dengan satu pemutar skru. Ya, ia berlaku bahawa sukar bagi anda untuk mengetatkan atau membuka skru, tetapi secara umum satu pemutar skru sudah cukup untuk anda. Rehat kopi #58.  20 Soalan Temuduga Penting Yang Perlu Tahu Tentang Pembangun Java.  Faedah mengetahui pelbagai bahasa pengaturcaraan - 3Tetapi suatu hari anda masuk ke kedai alat, lihat semua pemutar skru yang cantik itu, dan temui bahawa terdapat pelbagai jenis pemutar skru Phillips. Anda melihat bahawa pemutar skru yang anda miliki ialah Phillips (PH) dan memutuskan untuk membeli saudara kembarnya, Pozidriv (PZ). Dan kemudian tiba-tiba ternyata bahawa untuk beberapa skru satu lebih sesuai, dan untuk yang lain - yang lain. Mereka kelihatan sama, tetapi mereka tidak boleh ditukar ganti . (Jika anda tertanya-tanya apakah maksud huruf PH dan PZ pada pemutar skru anda - kini anda tahu). Dengan lebih banyak pengetahuan dan alat tambahan, anda akan dapat melakukan kerja yang lebih baik pada kali seterusnya anda perlu mengetatkan skru kepala Phillips. Begitu juga dengan bahasa pengaturcaraan.

Anda tidak perlu membayar untuk pengetahuan tambahan

Jadi, saya secara peribadi tidak melihat nilai dalam mempelajari bahasa pengaturcaraan tambahan. Adakah anda akan sama-sama cemerlang dalam kedua-dua bahasa? Mungkin tidak, tetapi tidak mungkin itu matlamat anda. Adakah anda mempelajari sesuatu yang baharu tentang bahasa utama anda? Saya benar-benar pasti ini. Mengetahui bahasa baru akan mendedahkan perbezaan antara mereka. Dan ini, seterusnya, akan membangkitkan rasa ingin tahu anda. Anda akan tertanya-tanya mengapa perkara dilakukan secara berbeza dalam bahasa baharu dan perkara yang mereka lakukan. Kesimpulannya, saya akan memberikan contoh dari kehidupan. Saya menggunakan satu alat baris arahan yang ditulis dalam Python. Setiap kali saya memasang alat ini pada mesin baharu, terdapat masalah, dan dengan setiap kemas kini bilangan masalah meningkat. Jika anda mempunyai Go dalam kotak alat anda, anda akan segera melihat kelebihannya dalam senario ini. Go membolehkan anda menyusun artifaknya menjadi binari serba lengkap. Anda boleh yakin bahawa setelah disusun, binari akan berfungsi pada setiap mesin yang anda susun untuknya. Jadi saya mengalihkan CLI Python ke Go. Dengan versi baharu ini, saya tidak lagi perlu risau tentang menukar masa jalan atau kebergantungan pihak ketiga. Ini adalah contoh terbaik untuk memilih alat yang paling sesuai untuk tugas itu. Dan untuk dapat memilih, anda perlu menjadi pembangun polyglot.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION