powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
40 сообщений из 40, показаны все 2 страниц
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32942186
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может быть, я чего-то не понимаю в этом языке? Привожу вопрос:

Given:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 10 .  public  Object m() {
 11 .   Object o =  new   Float ( 3 .14F);
 12 .   Object[] oa =  new  Object[ 1 ];
 13 .   oa[ 0 ] = o;
 14 .   o =  null ;
 15 .    return  oa[ 0 ];
 16 . }
When is the Float object, created in line 11, eligible for garbage collection?
A. Just after line 13
B. Just after line 14
C. Never in this method
D. Just after line 15 (that is, as the method returns)

Я был уверен, что ответ - С . Поскольку мы добавили в массив oa ссылку на объект Float(). Обнулили одну ссылку, но вторая-то (oa[0]) его держит, а потом она возвращается методом и может где-то еще использоваться, то есть до возврата однозначно объект чистить из памяти нельзя. А ответ тесткинга - В . По какой причине?
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32942347
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто не качественный тест :)
Ответ С.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32942377
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не посоветуете ли качественный кингтест? Потому что в этом из сотни с чем-то прорешенных на данный момент вопросов два (включая указанный) мне кажутся очень сомнительными.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32942380
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если интересно - могу второй вопрос тоже сюда кинуть.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32942384
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю всем будет интересно :)
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32942391
Фотография stdio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗашедшийА не посоветуете ли качественный кингтест? Потому что в этом из сотни с чем-то прорешенных на данный момент вопросов два (включая указанный) мне кажутся очень сомнительными.В тестах кинга ошибки не такая уж и редкость.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32944262
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот и второй удививший меня вопрос:

Given:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 1 .  class  TestA {
 2 .   TestB b;
 3 .   TestA() {
 4 .     b =  new  TestB( this );
 5 .   }
 6 . }
 7 .  class  TestB {
 8 .   TestA a;
 9 .   TestB(TestA a) {
 10 .     this .a = a;
 11 .  }
 12 . }
 13 .  class  TestAll {
 14 .    public   static   void  main(String[] args) {
 15 .      new  TestAll().makeThings();
 16 .     //..code continues on
 17 .   }
 18 .    void  makeThings() {
 19 .     TestA test =  new  TestA();
 20 .   }
 21 . }
Which two statments are trued after line 15, before main completess? (Choose two)
A. Line 15 causes a stack overflow
B. An exception is thrown at runtime
C. The object referenced by a is eligible for garbage collection
D. The object referenced by b is eligible for garbage collection
E. The object referenced by a is not eligible for garbage collection
F. The object referenced by b is not eligible for garbage collection

Ход моих рассуждений - так как после строки 15 созданный объект test класса TestA уже не нужен (ссылок на него нигде не содержится) - то он может быть уничтожен сборщиком мусора. Взаимные ссылки между a и b значения не имеют, поскольку ОБА объекта вышли из области видимости. Соответственно, ответ должен быть C,D. По тесту - C,F. Какая-то сермяжная правда в ответе кингтеста ощущается :), но смысл не очень понятен. Есть какие-нибудь соображения?
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32944609
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очередной ляп, судя по всему.

Созданно по экземпляру TestA и TestB, ссылок от GC roots идущих к ним нет. Следовательно оба объекта доступны для уборки.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32944677
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так вот и подозрительно, что "ляпами" оказываются ответы, связанные именно со сборкой мусора. Может быть, это как раз не ляпы, а какие-то особенности функционирования сборщика в JRE 1.4?
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32944720
Licvidator_guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Первый вопрос - откровенный ляп. Мы удаляем ссылку на o, если oa тоже в мусор пойдет - это явный баг, такое поведение рассматривается в спецификации.

Второй вопрос - TestA test - локальная переменная. Она должна была уйти в мусор после выхода из метода. a и b - тоже должны уйти в мусор по принципу недостижимости. Т.е. если в JDK1.4 сборщик мусора работает не по спецификации - то это не проблема прикладного программиста, а проблема системщика.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32944731
Licvidator_guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторМы удаляем ссылку на o, если oa тоже в мусор пойдет - это явный баг...

Описался. Хотел сказать "ссылку o на объект. Если объект в мусор пойдет - то куда будет ссылаться oa?"
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32944777
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Licvidator_guestПервый вопрос - откровенный ляп. Мы удаляем ссылку на o, если oa тоже в мусор пойдет - это явный баг, такое поведение рассматривается в спецификации.

Второй вопрос - TestA test - локальная переменная. Она должна была уйти в мусор после выхода из метода. a и b - тоже должны уйти в мусор по принципу недостижимости. Т.е. если в JDK1.4 сборщик мусора работает не по спецификации - то это не проблема прикладного программиста, а проблема системщика.
С первым вопросом согласен - сам уверен в том, что в ответе ошибка. А вот со вторым непонятно - судя по ответу, первым будет убит экземпляр по ссылке b , созданный вторым, по ссылке а (создавший - а - соответственно, позже). Почему так и где указан такой порядок сборки - совершенно непонятно. Сейчас еще в кинг помучаю, посмотрю другие вопросы по сборке мусора. Ну не может же быть, чтобы все они были с неправильными ответами!
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32944780
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗашедшийТак вот и подозрительно, что "ляпами" оказываются ответы, связанные именно со сборкой мусора. Может быть, это как раз не ляпы, а какие-то особенности функционирования сборщика в JRE 1.4?

Есть спецификация, согласно ей, TestA и TestB - оба finalizer-reachable.
Специфика функционирования конкретной реализации jre - не тема сертификационного экзамена.


12.6.1 Implementing Finalization
Every object can be characterized by two attributes: it may be reachable, finalizer-reachable, or unreachable, and it may also be unfinalized, finalizable, or finalized.
A reachable object is any object that can be accessed in any potential continuing computation from any live thread. Optimizing transformations of a program can be designed that reduce the number of objects that are reachable to be less than those which would naively be considered reachable.
For example, a compiler or code generator may choose to set a variable or parameter that will no longer be used to null to cause the storage for such an object to be potentially reclaimable sooner.
A finalizer-reachable object can be reached from some finalizable object through some chain of references, but not from any live thread. An unreachable object cannot be reached by either means.
источник
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32944820
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUs Специфика функционирования конкретной реализации jre - не тема сертификационного экзамена.
Кто ж их, горячих американских парней, знает. Они ж прибавили к экзамену "1.4" - вдруг и специфику именно по 1.4 решили впихнуть заодно.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32944856
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зашедший NotGonnaGetUs Специфика функционирования конкретной реализации jre - не тема сертификационного экзамена.
Кто ж их, горячих американских парней, знает. Они ж прибавили к экзамену "1.4" - вдруг и специфику именно по 1.4 решили впихнуть заодно.

Это быть не может, потому что не может быть.
Спецификация 1.4 отличается от спецификации 1.3 (слово assert, новые классы). Поэтому и прибавили "1.3".

На сертификационном экзамене никогда не станут привязываться к конкретной реализации jvm.
Как только это сделают, я пойду учитсья писать на C++ :)
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32952307
zxc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗашедшийМожет быть, я чего-то не понимаю в этом языке? Привожу вопрос:

Given:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 10 .  public  Object m() {
 11 .   Object o =  new   Float ( 3 .14F);
 12 .   Object[] oa =  new  Object[ 1 ];
 13 .   oa[ 0 ] = o;
 14 .   o =  null ;
 15 .    return  oa[ 0 ];
 16 . }
When is the Float object, created in line 11, eligible for garbage collection?
A. Just after line 13
B. Just after line 14
C. Never in this method
D. Just after line 15 (that is, as the method returns)

Я был уверен, что ответ - С . Поскольку мы добавили в массив oa ссылку на объект Float(). Обнулили одну ссылку, но вторая-то (oa[0]) его держит, а потом она возвращается методом и может где-то еще использоваться, то есть до возврата однозначно объект чистить из памяти нельзя. А ответ тесткинга - В . По какой причине?

1. создаём объект (о1)
2. создаём второй объект (о2)
3. о2 = о1 (читай: ссылка на объект о2 указывает на объект о1)
почему после удаление о1, о2 должно куда то показывать?
если бы в примере было
oa[0] = new Object(o), то ответ был бы С

PS: ИМХО...
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32952320
java != javascript
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zxc
1. создаём объект (о1)
2. создаём второй объект (о2)
3. о2 = о1 (читай: ссылка на объект о2 указывает на объект о1)
почему после удаление о1, о2 должно куда то показывать?
если бы в примере было
oa[0] = new Object(o), то ответ был бы С

PS: ИМХО...

Т.е. ты хочешь сказать, что ответ С не правильный?

Object o1 = new A();
Object o2 = new B();
o2 = o1; //ссылок на B - не осталось, на A - две ссылки
o1 = null; //осталась только одна ссылка на А.

итого: B доступен для уборки, А-нет.


(читай: ссылка на объект о2 указывает на объект о1)

читай: o2 указывает на тот же объект, что и о1.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32981231
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот еще один вопрос про уборку мусора из того же теста:
Given:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 1 .  class  Bar{}

 1 .  class  Test{
 2 .   Bar doBar{
 3 .     Bar b =  new  Bar();
 4 .      return  b;
 5 .   }
 6 .    public   static   void  main(String[] args){
 7 .     Test t =  new  Test();
 8 .     Bar newBar = t.doBar();
 9 .     System.out.println("newBar");
 10 .    newBar =  new  Bar();
 11 .    System.out.println("finished");
 12 .  }
 13 .}

At what point is the Bar object, created on line 3, eligible for garbage collection?

A. After line 8
B. After line 10
C. After line 4, when doBar() completes
D. After line 11, when main() completes

Я предполагаю, что правильный ответ - В. Потому что переменной newBar присваивается ссылка на НОВЫЙ объект, а на старый больше не ссылается ни одна переменная, и он становится доступен для сборки мусора. Однако в тесте написано, что правильный ответ - С . Что-то очень много ошибок именно по теме сборки мусора в кинге v.11. Подозрительно это.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32984048
Licvidator_guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 1 .  class  Bar{}

 1 .  class  Test{
 2 .   Bar doBar{
 3 .     Bar b =  new  Bar();
 4 .      return  b;
 5 .   }
 6 .    public   static   void  main(String[] args){
 7 .     Test t =  new  Test();
 8 .     Bar newBar = t.doBar();
 9 .     System.out.println("newBar");
 10 .    newBar =  new  Bar();
 11 .    System.out.println("finished");
 12 .  }
 13 .}

Если ответ C верен, то куда будет указывать newBar в строке 8?

В строке 3 создается объект Bar. На него пока-что есть одна ссылка (b). В 4 строке сылка возвращается и копируется в newBar (8 строка). Объект еще достижим. Он не может быть собран.

Либо я Java не знаю, либо человек, создававший тесты...
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32984157
Twinp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗашедшийМожет быть, я чего-то не понимаю в этом языке? Привожу вопрос:

Given:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 10 .  public  Object m() {
 11 .   Object o =  new   Float ( 3 .14F);
 12 .   Object[] oa =  new  Object[ 1 ];
 13 .   oa[ 0 ] = o;
 14 .   o =  null ;
 15 .    return  oa[ 0 ];
 16 . }
When is the Float object, created in line 11, eligible for garbage collection?
A. Just after line 13
B. Just after line 14
C. Never in this method
D. Just after line 15 (that is, as the method returns)

Я был уверен, что ответ - С . Поскольку мы добавили в массив oa ссылку на объект Float(). Обнулили одну ссылку, но вторая-то (oa[0]) его держит, а потом она возвращается методом и может где-то еще использоваться, то есть до возврата однозначно объект чистить из памяти нельзя. А ответ тесткинга - В . По какой причине?
вообщето garbage вызвается при обнуление переменой. Про эту особеность я где то читал. Чтобы принудительно вызвать сборщик то надо занулить переменую
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32984214
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Twinpвообщето garbage вызвается при обнуление переменой. Про эту особеность я где то читал. Чтобы принудительно вызвать сборщик то надо занулить переменую
Неверно, и во многом.
1) Garbage не вызывается при обнулении переменной. Он либо вызывается по каким-то внутренним причинам (увеличение объема кучи сверх установленного, по временному интервалу, другие всякие причины - зависит от реализации JVM и параметров запуска), либо руками. Обнулением переменной мы просто указываем сборщику, что данный объект доступен для чистки
2) Если обнулили одну из нескольких ссылок на объект - то есть объект доступен из "живых" потоков, то никакой сборщик его убирать не будет. В данном случае вторая ссылка на объект лежит в массиве.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32985192
бобан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Зашедший :

Уважаемый Зашедший, а тынц не дадите на сей некачественный кинг, уж очень поковыряться в нём захотелось. И ещё, а в буржуинских java-Newsgroups (comp.lang.java.programmer) Вы не пытались разузнать, м.б. тамошние гуру чего скажут?

пасиб
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32985713
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даю линк на тесткинги , там лежит и Sun 310-035 v.11, и много других сановских тестов в формате PDF. Кроме того, еще можно сходить на http://www.examcollection.com/sun/, там те же тесты, но в формате Visual CertExam. При переводе в VCE некоторые вопросы из PDF покоцались, поэтому советую скачать и то, и то. Чтобы сверять по PDF правильность.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32994259
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, кстати, из того же кинга вопросик. ИМХО некорректный - зависит от реализации потоков в JVM.
Вопрос 250:
Exhibit:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 1 .  public   class  X  implements  Runnable {
 2 .    private   int  x;
 3 .    private   int  y;
 4 .   
 5 .    public   static   void  main(String[] args){
 6 .     X that =  new  X();
 7 .     ( new  Thread(that)).start();
 8 .     ( new  Thread(that)).start();
 9 .   }
 10 .
 11 .   public   void  run(){
 12 .     for  (;;){
 13 .      x++;
 14 .      y++;
 15 .    }
 16 .  }
 17 . }

What is the result?
A. Errors at lines 7 and 8 cause compilation to fail.
B. The program prints pairs of values for x and y that might not always be to same on the same line (for example, "x=2, y=1").
C. The program prints pairs of values for x and y that are always the same on the same line (for example, "x=1, y=1"). In addition, each value appears twice (for example, "x=1, y=1" followed by "x=1, y=1").
D. The program prints pairs of values for x and y that are always the same on the same line (for example, "x=1, y=1"). In addition, each value appears only for once (for example, "x=1, y=1" followed by "x=2, y=2").

По тесту правильный ответ - D. Так оно и есть - если JVM реализует "зеленые" потоки (тестил под Linux) - потому что второй поток не получает ни кванта процессорного времени. Если же используются системные потоки - как под Windows - то все работает по варианту В.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32995946
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По тесту правильный ответ - D. Так оно и есть - если JVM реализует "зеленые" потоки (тестил под Linux) - потому что второй поток не получает ни кванта процессорного времени. Если же используются системные потоки - как под Windows - то все работает по варианту В.
Я тоже под линухом потестил, получился вариант В. Второй поток тоже получал управление, не понятно как, но получал.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32996001
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen По тесту правильный ответ - D. Так оно и есть - если JVM реализует "зеленые" потоки (тестил под Linux) - потому что второй поток не получает ни кванта процессорного времени. Если же используются системные потоки - как под Windows - то все работает по варианту В.
Я тоже под линухом потестил, получился вариант В. Второй поток тоже получал управление, не понятно как, но получал.
А на какой JVM?
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32996060
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зашедший
А на какой JVM?

java version "1.4.2_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode)
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32997372
javaScript != java
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а какой именно код вы тестили?
что-то я строчки println() не нашёл :)
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32997455
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javaScript != javaа какой именно код вы тестили?
что-то я строчки println() не нашёл :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 package  maintest;


 public   class  Main  implements  Runnable {
    
     private   int  x;
     private   int  y;
    
     public   static   void  main(String[] args){
        Main that =  new  Main();
         new  Thread(that,"First").start();
         new  Thread(that,"Second").start();
    }
    
     public   void  run(){
         for  (;;){
            System.out.println(Thread.currentThread().getName()+". x="+x++);
            System.out.println(Thread.currentThread().getName()+". y="+y++);
        }
    }
}
результат
First. x=0
First. y=0
First. x=2
First. y=1
First. x=3
First. y=2
First. x=4
First. y=3
First. x=5
First. y=4
First. x=6
First. y=5
First. x=7
First. y=6
First. x=8
First. y=7
First. x=9
First. y=8
First. x=10
First. y=9
First. x=11
First. y=10
First. x=12
First. y=11
First. x=13
First. y=12
First. x=14
First. y=13
First. x=15
First. y=14
First. x=16
First. y=15
Second. x=1
Second. y=16
Second. x=17
Second. y=17
Second. x=18
Second. y=18
Second. x=19
Second. y=19
Second. x=20
Second. y=20
Second. x=21
Second. y=21
Second. x=22
Second. y=22
Second. x=23
Second. y=23
Second. x=24
Second. y=24
Second. x=25
Second. y=25
Second. x=26
Second. y=26
Second. x=27
Second. y=27
Second. x=28
Second. y=28
Second. x=29
Second. y=29
Second. x=30
Second. y=30
Second. x=31
Second. y=31
Second. x=32
Second. y=32
Second. x=33
Second. y=33
Second. x=34
Second. y=34
Second. x=35
Second. y=35
Second. x=36
Second. y=36
Second. x=37
Second. y=37
Second. x=38
Second. y=38
Second. x=39
Second. y=39
Second. x=40
Second. y=40
Second. x=41
Second. y=41
Second. x=42
Second. y=42
Second. x=43
Second. y=43
Second. x=44
Second. y=44
Second. x=45
Second. y=45
Second. x=47
Second. y=46
Second. x=48
Second. y=47
Second. x=49
Second. y=48
Second. x=50
Second. y=49
Second. x=51
Second. y=50
Second. x=52
Second. y=51
Second. x=53
Second. y=52
Second. x=54
Second. y=53
Second. x=55
Second. y=54
Second. x=56
Second. y=55
Second. x=57
Second. y=56
Second. x=58
Second. y=57
Second. x=59
Second. y=58
Second. x=60
Second. y=59
Second. x=61
Second. y=60
Second. x=62
Second. y=61
Second. x=63
Second. y=62
Second. x=64
Second. y=63
Second. x=65
Second. y=64
Second. x=66
Second. y=65
Second. x=67
Second. y=66
Second. x=68
Second. y=67
Second. x=69
Second. y=68
First. x=46
First. y=69
First. x=70
First. y=70
First. x=71
First. y=71
First. x=72
First. y=72
First. x=73
First. y=73
First. x=74
First. y=74
First. x=75
First. y=75
First. x=76
First. y=76
Second. x=77
Second. y=77
Second. x=78


Это под Линухом, в котором типа зеленые потоки. Иль я чего нить не так протестил?

зы Хотя приоритеты потоков действительно не работают.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32997523
переключаться потоки могут из-за использования system.out.print. Там наверняка есть какая-то синхронизация с консолью.
Нужно запустить два потока, во втором выводить систем аут - а в первом только х++ у++ - под линухом систем.ауты не должны вывестись...
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32997687
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
фантазируюпереключаться потоки могут из-за использования system.out.print. Там наверняка есть какая-то синхронизация с консолью.
Нужно запустить два потока, во втором выводить систем аут - а в первом только х++ у++ - под линухом систем.ауты не должны вывестись...

Я тоже много думал о систем.аутах :) В итоге решил все таки проверить.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
 public   class  Main  implements  Runnable {
    
     private   int  x;
     private   int  y;
    
     public   static   void  main(String[] args){
        Main that =  new  Main();
         new  Thread(that,"First").start();
         new  Thread(that,"Second").start();
    }
    
     public   void  run(){
         if (Thread.currentThread().getName().equals("First")){
             for  (;;){
                x++;
                y++;
            }
        } else {
             for  (;;){
                System.out.println(Thread.currentThread().getName()+". x="+x++);
                System.out.println(Thread.currentThread().getName()+". y="+y++);
            }
        }
    }
}

result (с самого начала)
init:
deps-jar:
Compiling 1 source file to /home/andrei/dev/projects/MainTest/build/classes
compile:
run:
Second. x=13994
Second. y=13994
Second. x=13995
Second. y=13995
Second. x=13996
Second. y=13996
Second. x=13997
Second. y=13997
Second. x=13998
Second. y=13998
Second. x=13999
Second. y=13999
Second. x=14000
Second. y=14000
Second. x=14001
Second. y=14001
Second. x=14002
Second. y=14002
Second. x=14003
Second. y=14003
Second. x=14004
Second. y=14004
Second. x=14005
Second. y=80911452
Second. x=80911453
Second. y=80911453
Second. x=80911454
Second. y=80911454
Second. x=80911455
Second. y=80911455
Second. x=80911456
Second. y=80911456


Как видно, 2-й поток все равно как то прорвался.
Может в последних версиях JVM потоки сделали менее зеленые? :)
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32997797
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen
Как видно, 2-й поток все равно как то прорвался.
Может в последних версиях JVM потоки сделали менее зеленые? :)
Вполне возможно... я на JRE 1.3.1.05 тестировал под Mandrake 8. Сейчас попробую в другой конфигурации.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32997873
значит они хреново-зелёные.
ГетCurrentСред - тоже может быть дурацкой операцией.
ЛУчше разные мейны по втыкать.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #32997889
я тоже
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а не, всё ок, геткуррент одыхает.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #33000535
AlexS9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. class Bar{}

1. class Test{
2. Bar doBar{
3. Bar b = new Bar();
4. return b;
5. }
6. public static void main(String[] args){
7. Test t = new Test();
8. Bar newBar = t.doBar();
9. System.out.println("newBar");
10. newBar = new Bar();
11. System.out.println("finished");
12. }
13.}


Возможно я не прав, но при выходе из метода doBar уберется ссылка b, но не
объект. Наверное это имелось ввиду в тесте. Т.е. не объект уберется, а ссылка.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #33001209
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexS9Возможно я не прав, но при выходе из метода doBar уберется ссылка b, но не
объект. Наверное это имелось ввиду в тесте. Т.е. не объект уберется, а ссылка.
Нет, имелся в виду именно объект. Просто в тесткинге очень много ошибок - чуть ли не треть ответов неверные. Зато вопросы правильные и их можно прорешать самому :)
З.Ы. Сегодня сдал этот 310-035, 88% правильных ответов, из них Garbage collection - 100% правильных ответов. В реальном сановском тесте вопросы из кинга составили где-то половину.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #33001269
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где сдавал?
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #33001283
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUsА где сдавал?
RedCenter, территориально - МГУ.
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #33022594
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже сдал там вчера.
Хотел 100% набрать, но не получилось :(
...
Рейтинг: 0 / 0
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
    #33050290
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUsЯ тоже сдал там вчера.
Хотел 100% набрать, но не получилось :(
Поздравляю! Главное - тест сдан : )
З.Ы. Кстати, мне уже соответствующий сертификейшн кит пришел... почти месяц письмо шло.
...
Рейтинг: 0 / 0
40 сообщений из 40, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]