|
|
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
Может быть, я чего-то не понимаю в этом языке? Привожу вопрос: Given: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 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]) его держит, а потом она возвращается методом и может где-то еще использоваться, то есть до возврата однозначно объект чистить из памяти нельзя. А ответ тесткинга - В . По какой причине? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 18:22 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
Просто не качественный тест :) Ответ С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 19:58 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
А не посоветуете ли качественный кингтест? Потому что в этом из сотни с чем-то прорешенных на данный момент вопросов два (включая указанный) мне кажутся очень сомнительными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 20:18 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
Если интересно - могу второй вопрос тоже сюда кинуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 20:18 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
Думаю всем будет интересно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 20:26 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
ЗашедшийА не посоветуете ли качественный кингтест? Потому что в этом из сотни с чем-то прорешенных на данный момент вопросов два (включая указанный) мне кажутся очень сомнительными.В тестах кинга ошибки не такая уж и редкость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 20:39 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
А вот и второй удививший меня вопрос: Given: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 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. Какая-то сермяжная правда в ответе кингтеста ощущается :), но смысл не очень понятен. Есть какие-нибудь соображения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 16:23 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
Очередной ляп, судя по всему. Созданно по экземпляру TestA и TestB, ссылок от GC roots идущих к ним нет. Следовательно оба объекта доступны для уборки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 17:47 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
Так вот и подозрительно, что "ляпами" оказываются ответы, связанные именно со сборкой мусора. Может быть, это как раз не ляпы, а какие-то особенности функционирования сборщика в JRE 1.4? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 18:04 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
Первый вопрос - откровенный ляп. Мы удаляем ссылку на o, если oa тоже в мусор пойдет - это явный баг, такое поведение рассматривается в спецификации. Второй вопрос - TestA test - локальная переменная. Она должна была уйти в мусор после выхода из метода. a и b - тоже должны уйти в мусор по принципу недостижимости. Т.е. если в JDK1.4 сборщик мусора работает не по спецификации - то это не проблема прикладного программиста, а проблема системщика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 18:21 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
авторМы удаляем ссылку на o, если oa тоже в мусор пойдет - это явный баг... Описался. Хотел сказать "ссылку o на объект. Если объект в мусор пойдет - то куда будет ссылаться oa?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 18:24 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
Licvidator_guestПервый вопрос - откровенный ляп. Мы удаляем ссылку на o, если oa тоже в мусор пойдет - это явный баг, такое поведение рассматривается в спецификации. Второй вопрос - TestA test - локальная переменная. Она должна была уйти в мусор после выхода из метода. a и b - тоже должны уйти в мусор по принципу недостижимости. Т.е. если в JDK1.4 сборщик мусора работает не по спецификации - то это не проблема прикладного программиста, а проблема системщика. С первым вопросом согласен - сам уверен в том, что в ответе ошибка. А вот со вторым непонятно - судя по ответу, первым будет убит экземпляр по ссылке b , созданный вторым, по ссылке а (создавший - а - соответственно, позже). Почему так и где указан такой порядок сборки - совершенно непонятно. Сейчас еще в кинг помучаю, посмотрю другие вопросы по сборке мусора. Ну не может же быть, чтобы все они были с неправильными ответами! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 18:47 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
ЗашедшийТак вот и подозрительно, что "ляпами" оказываются ответы, связанные именно со сборкой мусора. Может быть, это как раз не ляпы, а какие-то особенности функционирования сборщика в 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. источник ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 18:48 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs Специфика функционирования конкретной реализации jre - не тема сертификационного экзамена. Кто ж их, горячих американских парней, знает. Они ж прибавили к экзамену "1.4" - вдруг и специфику именно по 1.4 решили впихнуть заодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 19:11 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
Зашедший NotGonnaGetUs Специфика функционирования конкретной реализации jre - не тема сертификационного экзамена. Кто ж их, горячих американских парней, знает. Они ж прибавили к экзамену "1.4" - вдруг и специфику именно по 1.4 решили впихнуть заодно. Это быть не может, потому что не может быть. Спецификация 1.4 отличается от спецификации 1.3 (слово assert, новые классы). Поэтому и прибавили "1.3". На сертификационном экзамене никогда не станут привязываться к конкретной реализации jvm. Как только это сделают, я пойду учитсья писать на C++ :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 19:39 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
ЗашедшийМожет быть, я чего-то не понимаю в этом языке? Привожу вопрос: Given: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 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: ИМХО... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 21:56 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 22:34 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
А вот еще один вопрос про уборку мусора из того же теста: Given: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 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. Подозрительно это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2005, 15:42 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Если ответ C верен, то куда будет указывать newBar в строке 8? В строке 3 создается объект Bar. На него пока-что есть одна ссылка (b). В 4 строке сылка возвращается и копируется в newBar (8 строка). Объект еще достижим. Он не может быть собран. Либо я Java не знаю, либо человек, создававший тесты... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2005, 14:57 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
ЗашедшийМожет быть, я чего-то не понимаю в этом языке? Привожу вопрос: Given: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 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 вызвается при обнуление переменой. Про эту особеность я где то читал. Чтобы принудительно вызвать сборщик то надо занулить переменую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2005, 15:24 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
Twinpвообщето garbage вызвается при обнуление переменой. Про эту особеность я где то читал. Чтобы принудительно вызвать сборщик то надо занулить переменую Неверно, и во многом. 1) Garbage не вызывается при обнулении переменной. Он либо вызывается по каким-то внутренним причинам (увеличение объема кучи сверх установленного, по временному интервалу, другие всякие причины - зависит от реализации JVM и параметров запуска), либо руками. Обнулением переменной мы просто указываем сборщику, что данный объект доступен для чистки 2) Если обнулили одну из нескольких ссылок на объект - то есть объект доступен из "живых" потоков, то никакой сборщик его убирать не будет. В данном случае вторая ссылка на объект лежит в массиве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2005, 15:38 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
2 Зашедший : Уважаемый Зашедший, а тынц не дадите на сей некачественный кинг, уж очень поковыряться в нём захотелось. И ещё, а в буржуинских java-Newsgroups (comp.lang.java.programmer) Вы не пытались разузнать, м.б. тамошние гуру чего скажут? пасиб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 03:23 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
Даю линк на тесткинги , там лежит и Sun 310-035 v.11, и много других сановских тестов в формате PDF. Кроме того, еще можно сходить на http://www.examcollection.com/sun/, там те же тесты, но в формате Visual CertExam. При переводе в VCE некоторые вопросы из PDF покоцались, поэтому советую скачать и то, и то. Чтобы сверять по PDF правильность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 11:26 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
Вот, кстати, из того же кинга вопросик. ИМХО некорректный - зависит от реализации потоков в JVM. Вопрос 250: Exhibit: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 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 - то все работает по варианту В. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2005, 18:42 |
|
||
|
Вопрос из кингтеста Sun Certified Programmer for the JAVA 2 Platform 1.4
|
|||
|---|---|---|---|
|
#18+
По тесту правильный ответ - D. Так оно и есть - если JVM реализует "зеленые" потоки (тестил под Linux) - потому что второй поток не получает ни кванта процессорного времени. Если же используются системные потоки - как под Windows - то все работает по варианту В. Я тоже под линухом потестил, получился вариант В. Второй поток тоже получал управление, не понятно как, но получал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 11:38 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=32942186&tid=2152439]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 249ms |
| total: | 381ms |

| 0 / 0 |
