Վերլուծեք կատարողականության և հիշողության օգտագործման տարբերությունները Java- ում int[] և Integer[] օգտագործման միջև, հատկապես տրված կոդի կտորում: ```java int SIZE = 1000000; int[] x = new int[SIZE]; Integer[] y = new Integer[SIZE]; for (;;) { for (int i = 0; i < SIZE; ++i) { y[i] = new Integer(x[i]); } } ```
Java
գիտե՞ս, ինչպես անջատել GC-ը Java հավելվածում։
Ի՞նչ է ամորտիզացված բարդությունը։
Գրեք JUnit թեստեր RecommenderServiceImpl-ի համար, որոնք ընդգրկում են հիմնական գործառույթը
Ի՞նչ է race condition-ը: Ինչպես պայքարել դրա դեմ: Տվեք օրինակ և նշեք պայքարի միջոցները Java-ում։
Իմացիր իմ իրական փորձից GC օպտիմալացման մասին — կարո՞ղ է եղել տասնյակ վայրկյանների ընդհատումներ և ինչպես եք դրանք օպտիմալացրել։
/** * Երկու թիվ որոնել զանգվածում, որոնց գումարը հավասար է տրված թվին * <p> * Գրեք ֆունկցիա, որը որպես առաջին արգումենտ ընդունում է դրական * ոչ դասավորված թվերի զանգված * և որպես երկրորդ արգումենտ՝ դրական թիվ: * Ֆունկցիան պետք է վերադարձնի true, եթե զանգվածում * կա 2 թիվ, որոնց գումարը հավասար է երկրորդ արգումենտին: * <p> * Ներմուծում: ([10, 15, 3, 7], 17) * Արտածում: true */
Պատմիր ինձ ավելի մանրամասն, ինչպես է որոշվում օբյեկտի հասանելիությունը GC-ում։
Ի՞նչ է տարբերությունը մաքուր ընթերցման (dirty read) և չվերարտադրելի ընթերցման (non-repeatable read) միջև։
Ինչպես ուղղել կախվածությունների հակադարձման սկզբունքի խախտումը — առաջարկեք առանձնացված պահեստով ռեֆակտորինգ?
Ի՞նչ կլինի, եթե մեկ դասում մի քանի դաշտ նշվեն volatile մոդիֆիկատորով։
Ի՞նչ է միջին ալգորիթմական բարդությունը: Կարող եք բացատրել և տալ տարբեր բարդությամբ ալգորիթմների օրինակներ?
Ի՞նչ մեթոդներ եք գիտակցում հեշ-թերթերում բախումները լուծելու համար։
Ներկայացրեք գործարքների Համապատասխանության (կոնսիստենցիայի) հատկության խախտման օրինակ։
Նշեք երկու Java բանալի բառեր, որոնք օգտագործվում են բազմատողային մշակման կոնտեքստում, և բացատրեք, թե ինչու է անհրաժեշտ volatile-ը։