JavaRush /Java blogi /Random-UZ /33-daraja. Daraja mavzusi bo'yicha suhbat savollariga jav...
Afli
Daraja
Санкт-Петербург

33-daraja. Daraja mavzusi bo'yicha suhbat savollariga javoblar

Guruhda nashr etilgan
Savollar/qo'shimchalar/tanqidlar qabul qilinadi. 33-daraja. Daraja mavzusi bo'yicha suhbat savollariga javoblar - 1
  1. JSON nima?

    JSON (JavaScript Object Notation) bu JavaScript dasturlash tilining quyi toʻplamiga asoslangan oddiy maʼlumotlar almashish formatidir.

  2. Java va JavaScript o'rtasidagi farqlar qanday?

    Bu nomlari o'xshashligiga qaramay, 2 xil dasturlash tillari. Ularning ikkalasi ham C-ga o'xshash sintaksisga ega. Farqlar quyidagicha:

    • Java sinflarga, JavaScript prototiplarga asoslangan OOP yondashuvini amalga oshiradi;
    • Java statik yozishga ega, JavaScript dinamik yozishga ega;
    • Java kompilyatsiya qilingan bayt kodidan yuklanadi; JavaScript to'g'ridan-to'g'ri fayldan talqin qilinadi.

    Ulanish uchun matningiz...

  3. JSON va XML o'rtasidagi farqlar qanday?

    JSON ma'lumot almashish formatidir.

    XML belgilash tilidir (unda siz sintaksis, struktura, ma'lumotlar turlari va umuman ularning modelini belgilashingiz mumkin).

    Ularning ikkalasi ham ma'lumotlarni uzatish uchun ishlatilishi mumkin. Tabiiyki, ikkala standart bilan ishlash uchun turli ramkalar qo'llaniladi va sintaksis boshqacha.

  4. JSON bilan ishlash uchun qanday ramkalarni bilasiz?

    33-daraja bizni Jekson ramkasi bilan tanishtirdi. Bundan tashqari, men yana 3 tasini va ular taqqoslanadigan maqolaga havolani beraman:

    1. FasterXML tomonidan Jekson
    2. Yidong Fang tomonidan JSON.simple
    3. Google'dan GSON
    4. Oracle'dan JSONP

    JSON bilan ishlash uchun Java kutubxonalarini solishtirish: JSON.simple, GSON, Jekson va JSONP

  5. XML bilan ishlash uchun qanday ramkalarni bilasiz?

    XML ma'lumotlarni taqdim etish formati bo'lganligi sababli, u bilan ishlash uchun turli xil texnologiyalar mavjud. Men Java ob'ektlarini XML-ga seriyalashtirish uchun ishlatiladigan texnologiyalarni beraman:

    1. JAXB (JDKda J ga kiritilgan)
    2. Xstream

    Xml bilan ishlash uchun turli ramkalar haqida qisqacha havola: JAVA + XML

  6. Jeksonning qanday izohlarini bilasiz?

    Keling, ma'ruzalarda ishlatilganlarni ko'rib chiqaylik:

    • @JsonAutoDetect - sinf oldiga joylashtirilgan. Jeksonga yozish yoki o'qish paytida ushbu sinfning maydonlaridan foydalanishni aytadi. Qavslar ichida siz foydalaniladigan maydonlarning ko'rinishini sozlash uchun parametrni (fieldVisibility = JsonAutoDetect.Visibility.ANY) o'rnatishingiz mumkin (sukut bo'yicha faqat umumiy maydonlar ishlatiladi).
    • @JsonIgnore - maydondan oldin joylashtirilgan. Jeksonga o'qish/yozishda bu maydonga e'tibor bermaslikni aytadi.
    • @JsonProperty - Maydon, oluvchi yoki o'rnatuvchidan oldin joylashtirilgan. Seriyalashtirish vaqtida boshqa maydon nomini belgilash imkonini beradi.
    • @JsonWriteNullProperties - sinf oldiga joylashtirilgan. Null bo'lgan ob'ekt maydonlari e'tiborga olinmaydi.
    • @JsonPropertyOrder - sinf oldiga joylashtirilgan. java obyekti maydonlarini JSONga ketma-ketlashtirish tartibini aniqlash imkonini beradi.
    • @JsonDeserialize - maydondan oldin joylashtirilgan. JSON obyekti seriyadan chiqarilgan sinfni aniqlash imkonini beradi. Misol uchun, java-da massivlar va ro'yxatlar massivlarga ketma-ketlashtiriladi va seriyadan chiqarish vaqtida biz aynan nimani olishni xohlashimizni tanlashimiz mumkin.

    Mana, ba'zi izohlari bo'lgan saytga havola: Jekson izohlari

  7. Siz qanday JAXB izohlarini bilasiz?

    Men faqat ma'ruzada ishlatilganlarni tahlil qilaman:

    • @XmlRootElement - sinfdan oldin joylashtirilgan. Ushbu ob'ekt yuqori darajadagi element bo'lishi mumkinligini ko'rsatadi, ya'ni. boshqa barcha elementlar uning ichida yotadi.
    • @XmlType - sinfdan oldin joylashtirilgan. XML sxemasiga qo'shimcha ma'lumot qo'shadi. Siz ba'zi atributlarni belgilashingiz mumkin, masalan, elementlarning tartibi, nomi va boshqalar.
    • @XmlElement - maydondan oldin joylashtirilgan. Xml element nomini, standart qiymatni va hokazolarni o'rnatishga imkon beradi.
    • @XmlAttribute - maydondan oldin joylashtirilgan. Maydon XML atributi sifatida taqdim etiladi.
    • @XmlElementWrapper - maydon yoki oluvchidan oldin joylashtirilgan. Elementlar guruhi uchun chegara tegini yaratish imkonini beradi.
    • @XmlJavaTypeAdapter - sinfdan oldin joylashtirilgan. Ushbu sinfni marshaling/unmarshalling uchun zarur bo'lgan yordamchi adapter sinfi qavs ichida ko'rsatilgan.
    • @XmlEnum - enumdan oldin joylashtirilgan. Qavslar ichida siz raqam qiymatlari qaysi turda ifodalanishini belgilashingiz mumkin.
    • @XmlEnumValue - enum qiymatidan oldin joylashtirilgan. Berilgan enum qiymati uchun maxsus qiymatni belgilash imkonini beradi.

    Mana, ba'zi izohlari bo'lgan saytga havola (Izohlar uchun to'g'ri tarjima yarata olmaganim uchun uzr so'rayman, ma'lumot tushunarli, lekin uni rus tilida qanday qilib to'g'ri aytishni mutlaqo bilmayman): https: // jaxb.java.net/tutorial/index .html

  8. JSON-da ketma-ketlashtirish va deserializatsiya o'rtasidagi farq nima?

    Men savolning mohiyatini tushunmadim. Men 2 ta o'zaro jarayonni solishtirishda hech qanday ma'no ko'rmayapman. Ehtimol, bu JSON va XML ni solishtirish uchun mo'ljallangan; bu mavzuga havola keyingi savolda berilgan.

  9. Qaysi biri yaxshiroq JSON yoki XML? Nega?

    Mana JSON va XML ni solishtiradigan ajoyib maqola: JSON va XML. Nimasi yaxshiroq?

    Ehtimol, biror narsa yaxshiroq deb aytish mumkin emas. Tanlashda siz vazifaning o'ziga qarashingiz kerak va undan foydalanishda nima samaraliroq bo'ladi. Bundan tashqari, tanlov ishlab chiquvchining shaxsiy imtiyozlariga bog'liq bo'lishi mumkin.

  10. DTO nima?

    DTO (Ma'lumotlarni uzatish ob'ekti) - bu u bilan ishlash uchun hech qanday mantiqsiz ma'lumotlarni o'z ichiga olgan dizayn naqshidir. DTO'lar odatda turli ilovalar o'rtasida yoki bir xil dastur ichidagi qatlamlar o'rtasida ma'lumotlarni uzatish uchun ishlatiladi. Ularni yagona maqsadi ma'lumotni qabul qiluvchiga etkazish bo'lgan ma'lumotlar ombori sifatida qarash mumkin.

33-daraja. 2-darajali mavzu bo'yicha suhbat savollariga javoblar
11/10/2016 15.50 da yangilangan

2, 3-sonli savollar izohga ko'ra tuzatilgan

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION