Въведение в Java Въпроси и отговори за многократно интервю на Java

В наши дни Java е в разцвет поради своята независима платформа. Той може да се използва навсякъде и затова се използва широко с различни предстоящи технологии. За да бъдете подготвени за това, многократно нарязване е важна тема, която е фокусирана върху интервюта. Така че най-накрая сте намерили мечтаната си работа в Java Multi-threading, но се чудите как да пропуснете интервюто и какво би могло да бъде вероятното Java Multi-threading Въпроси за интервю. Всяко интервю е различно и обхватът на работата също е различен. Нека да преминем през няколко важни въпроса за интервю с Java с много резби, които може да ви бъдат зададени в интервютата с Java с много нишки, които бихте преследвали.

По-долу е горният Java въпроси за интервю с многорежещи интервюта и отговори

1.Какво е нишката в JAVA и как я прилагате?

Отговор:
Нишката помага да се улесни многозадачността и многообработката в рамките на дадена програма. Той използва CPU ефективно и помага да се подобри производителността на приложението. Java дава възможност на потребителя да използва няколко нишки наведнъж. Той може да работи паралелно с други програми без никакви прекъсвания. Това помага за намаляване на времето за процеса. Например, ако на програмата са необходими 60 секунди, можем да използваме 6 нишки, които ще ни дадат резултата за 10 секунди.

Java предоставя два начина за реализиране на конци в програма. интерфейс java.lang.Runnable има екземпляр java.lang.A нишка, която изисква задача за изпълнение чрез екземпляр. Класът Thread вече изпълнява Runnable, така че потребителят може директно да отмени метода run () чрез разширяване на клас Thread или чрез прилагане на Runnable интерфейс.

2.Кога да използвате Runnable и кога да използвате Thread в Java?

Отговор:
Java не поддържа множество наследявания на клас, но позволява да се прилагат няколко интерфейса наведнъж. Следователно, ще бъде по-добре да приложим Runnable, отколкото да разширяваме клас Thread.

3. Как различавате между нишка и процес?

Отговор:
Нишката е подмножество на процес. Един процес може да има множество нишки за него. Нишките могат да изпълняват всяка част от процеса. Процесът има свой адрес, където се съхранява, докато нишката споделя адреса на процеса, който го е създал. Създаването на процес е забързан процес, докато нишките могат да бъдат създадени лесно. Нишката обикновено се нарича лек процес. Междупроцесовата комуникация е трудна, докато нишките могат да комуникират лесно, използвайки Java методите на wait () и notify (). Процесите са независими, следователно всяка промяна, извършена в процеса, не засяга детските процеси. Напротив, ако са направени промени в нишката, има възможности, че могат да бъдат засегнати и други нишки.

4. Защо се казва, че поведението на нишката е непредсказуемо?

Отговор:
Причината за това е планировникът на нишки, който обработва изпълнението на нишки. Планировникът може би има различна производителност на различни платформи Windows, UNIX, LINUX и др. Докато изпълнява една и съща нишка, може да даде различни изходи на различни платформи, а понякога дори и на една и съща платформа. За да реши това, потребителят може да създаде един и същ обект Runnable, да създаде цикъл run () и в двете нишки и да стартира и двете нишки заедно. В идеалния случай, планировникът трябва да избере и двете нишки заедно и производителността не трябва да се засяга, но и двете нишки ще въведат цикли анонимно.

5. Какво е променлива променлива в Java и какво е нейното значение?

Отговор:
Java улеснява потребителя да споделя променливи, присъстващи в различни нишки. Летливата променлива действа като специален модификатор, който може да се използва само за променливи например. Тъй като тази променлива се споделя, ще има последователни промени с нея. Нишката трябва да гарантира, че има изключителен достъп до тези променливи и заключването е принудено за взаимно изключване на споделени променливи. Той гарантира, че записването ще се случи преди всяко последващо четене. Моделът на Java памет осигурява последователността на тази променлива. Летливи методи не могат да бъдат налице, тъй като те могат да се използват само под формата на променливи.

6. Какво е използването на синхронизирана ключова дума? Каква е разликата между синхронизирани и променливи ключови думи?

Отговор:
Синхронизираната ключова дума се използва, когато целта е да се стартира само един поток в даден момент в подходящ раздел от код. Може да се използва за показване на четири типа различни блокове, както е показано по-долу:

1) Методи на инстанция
2) Статични методи
3) Кодови блокове в методите на инстанцията
4) Кодови блокове вътре в статични методи

Тя може да бъде декларирана като:

Публичен синхронизиран пример за void () ()

Разликата между променлива и синхронизирана ключова дума е, че синхронизираният може да се използва с променливи и методи, докато летливите не могат да се използват с методи. Летливите променливи не се съхраняват в кеш паметта, синхронизираните променливи се съхраняват в кеш паметта. Летливата променлива никога няма да се спусне в безизходица, тъй като не изисква да се получи заключване. Докато са в синхронизирани променливи, ако не са направени правилно, то може да се окаже в безизходица.

7. Защо методи като wait (), notify () и notify all () присъстват в обектния клас, а не в клас Thread?

Отговор:
Обектният клас има монитори, които позволяват на нишката да заключва обект, докато Thread няма монитори. Когато се нарече някой от горните методи, той изчаква друг поток да освободи обекта и уведомява монитора, като се обажда notify () или известява всички (). Когато бъде извикан методът notify (), той върши работа по уведомяването на всички нишки, които чакат освобождаването на обекта. Мониторът на обектния клас проверява дали обектът е наличен или не. Класът на нишката, притежаващ тези методи, не би помогнал, тъй като върху обект съществуват множество нишки, а не обратното.

8. Обяснете разликата между методите на сън () и изчакване ().

Отговор:
1) методът на sleep () се извиква на нишки, а не на обекти. Изчаква се методът на изчакване () върху обекти.
2) Когато се извика методът на изчакване (), тогава мониторът премества нишката от работеща в състояние на чакане. След като нишката е в режим на изчакване (), тя може да се премести на изпълняваща се само когато има известие () или известие за () за този обект. Планировникът променя състоянието след това. Докато сте в режим на заспиване (), състоянието се променя, за да изчака и ще се върне към изпълняемост само след като изтече времето за сън.
3) Методът Wait () е част от класа java.lang.Object, докато sleep () е част от класа java.lang.Thread.
4) Изчакайте () винаги се използва със синхронизиран блок, тъй като изисква блокиране на обект, докато сън () може да се използва от външен синхронизиран блок.

9. Как да принудим стартиране на тема в Java?

Отговор:
В Java, многоредовото четене не може да принуди да стартира нишка. Само планировчик на нишки може да контролира нишки и те не са изложени на никакъв API за контрол.

10. Оставя ли конецът заключване на обекта, когато се извикват методите изчакване () и сън ()?

Отговор:
Когато нишката е в режим на заспиване (), тя не оставя заключване и преминава в състояние на чакане. Конецът чака време за сън, за да преодолее. Когато се използва методът на изчакване (), нишката напуска заключването на обекта и преминава в състояние на изчакване. След извикване на известие () той отново преминава в работно състояние и придобива заключването.

Препоръчителен член

Това е ръководство за списъка с въпроси за отговори на интервюта с многократно провеждане на Java, така че кандидатът да може лесно да раздели тези въпроси за интервю с Java с много нишки. Можете също да разгледате следните статии, за да научите повече -

  1. Въпроси за интервю за Java Developer - Как да разбиете Топ 7 въпроса
  2. Изчерпателно ръководство за разработка на приложения за Java (Страхотна теория)
  3. Въпроси и отговори за интервю Maven | Топ и най-често задавани въпроси
  4. 10 Разширени въпроси за интервю на AngularJS за опитни