Комментарии 23
НЛО прилетело и опубликовало эту надпись здесь
Наверное пока что нет. Т.к. сейчас куда проще будет подготовится к 7-ке, с учетом множества подобных материалов. А потом можно будет сдать относительно простой тест по апгрейду с 7 на 8, где поидее должны быть вопросы только по нововведениям. Что Вас будет ждать в «чистом» тесте к 8 версии — сейчас предположить трудно. Плюс учтите что новые тесты скорее всего появится только через несколько месяцев после выхода самой Java 8.
0
Релиз Java 8 передвинут на март 2014 года: habrahabr.ru/post/177251/
+1
Но x instanceof SomeInterface компилируется.
Забавно. Не знал. Может встречали еще объяснение почему разное поведение для классов и интерфейсов?
0
вот провалил тест
Сдавал давным-давно Programmer-а под 1.4, еще Sun-овский. Судя по всему, у Sun-а было как-то попроще. У нас в компании человек 10-15 сдавали, насколько я помню, никто не провалил. Радовались не столько тому, что вообще сдали, а скорее баллами мерились. Я и еще один программист, как более опытные набрали больше всех, кажется по 88 из 100. Когда готовился прошелся вскользь по русскоязычному руководству по подготовке и погонял тесты, чересчур никто не перенапрягался. Тогда год-два опыта программирования на Java было достаточно, чтобы вообще без подготовки сдать с вероятностью процентов 70-80. Теперь, видимо, другие времена…
выучите регулярные выраженияНасколько я помню, этого не было раньше, но могу и ошибаться, времени много прошло.
нету теории паттернов (а Oracle эту тему как оказалось очень любит — разбирайтесь досконально)Вот этого для Programmer-а точно не было, а вот когда на Developer сдавал, там пришлось голову поломать, особенно с учетом моего любительского английского… Да и вообще, при подготовке на Developer-а реально много времени и сил угробил, англоязычное руководство по подготовке от корки до корки прочел. И все равно на экзамене все 2 часа со вздыбленной от ужаса холкой сидел, еле сдал. Когда в конце смотрел разбивку баллов по темам, то некоторые были 100%, а некоторые 0%!
0
Конечно не мне сравнивать, но судя по тому что народ писал про предыдущие версии Java на экзаменах, раньше всё действительно было проще. Регулярки — да, однозначно перегиб по сложности (но благо я их еще ранее изучил). Может сейчас слишком много индусов с китайцами сдавать стало, что они теперь так режут новых «бойцов»?)).
0
Вы сдавали 1Z0-803 для сдачи 1Z0-804? А то судя по сайту оракла надо сначала сдать на Associate.
0
Да, тоже сдавал. Правда не знаю, нужен ли он для сертификата Java Professional.
0
На самом деле никто не запрещает сначала сдать 1Z0-804. Просто сертификат по OCPJP 7 вы не поолучите, пока не сдадите и 1Z0-803 тоже. В книжке «Oracle Certified Professional Java SE 7 Programmer Exams 1Z0-804 and 1Z0-805» так написано.
0
Передача параметров по ссылке и по значению. Важно помнить, что в Java параметры в процедуры передаются по значению только для простых типов (int, float, ...), их обёрток (Int, Float, ...) и для String. Это означает, что изменение значения параметра внутри процедуры не затронет переданную извне переменную. Для всех остальных — работает передача по ссылке (классов, массивов и др.). Т.е изменения внутри процедуры сохраняются в переданном извне объекте. Явно задать как передавать параметр — по ссылке или по значению — нельзя.
А я всегда думал что в java всё передаётся по значению. Только для объектов по значению передаётся ссылка.
Если понимать передачу по значению как невозможность поменять содержимое объекта переданного в метод, то тут тоже напутано. Значение Integer, Float,...String нельзя поменять не по этому, а потому что отсутствует api для изменения их внутреннего состояния. Если подсунуть в bootstrap java пропатченные String, Integer с добавленными методами меняющими внутреннее состояние, то ещё как можно будет изменять их внутри метода.
+4
Да, дабы не вводить людей в заблуждение этот абзац надо бы в статье полностью переписать. Причины и следствия перевернуты с ног на голову.
+1
Поправил, спасибо. До таких тонкостей пока не добрался. Интересно, а почему нет API изменения состояния?
0
Потому что иммутабельность это круто. Это позволяет писать более надёжные программы. А иногда это даёт бонусы в производительности (хотя и не часто, обычно наоборот). В частности немутабельность String позволяет реализовать быстрый substring, без аллокации и копирования нового массива символов. А иммутабельность Integer позволяет создать кеш объектов Integer для некоторого диапазона [-N, +N] и не порождать новые объекты при автобоксинге.
0
С substring можно напороться на неприятный подводный камень — если исходные строки большие и их много, а из них выбирается и используется лишь малая подстрока, то память всё равно будет занята на всю исходную строку.
0
А в java 7 substring() стал работать через копирование и аллокацию нового массива :)
0
Inner classes — вложенные классы.
Тут не совсем верно. Все эти виды есть Nested classes.
Inner classes — это все кроме static member classes. JLS 8.1.3
И обязательно разберитесь со всеми нюансами интерфейса Closeable и его использование в «try-with-resource»
В try-with-resources должен быть AutoCloseable. JLS 14.20.3
0
Хочется поделиться впечатлениями по свежесданному экзамену Java OCP 1z0-804 (сдавал сегодня в центре NVision на м.Медведково). Готовился достаточно плотно, прочитал годную книжку OCA/OCP Java SE 7 Programmer I & II Study Guide (Exams 1Z0-803 & 1Z0-804) от Kathy Sierra и Bert Bates. Здорово помогли купленные тесты Entuware и амазоновский же сборник тестов Java Practice Questions: Oracle Certified Professional, Java SE 7 Programmer (OCPJP) от Esteban Herrera. Был немало «впечатлен» результатом — 66%. Извольте готовиться к вопросам из серии:
Как заполучить объект Console?
-System.console()
-System.getConsole()
или
Как получить Locale?
-Locale.getInstance()
-Locale.getInstance(«ru»)
-Locale.getLocaleInstance()
ну и проверку знаний вами содержимого enum, например, мегапопулярного OpenOption.
В какой-то момент меня взяло сомнение в годности тестов Entuware — думал, вряд ли будут настолько втупую проверять константы всяких там FileResult, WatchEvent.Kind и наименования методов, — и бросил их гонять. Хорошо что перестал уже после изрядного количества этих «тупых» вопросов — многое успело осесть и пригодилось(!).
Крайне желательно подтянуть аглицкий — огульное жонглирование иногда очень обтекаемыми фразами вокруг вполне конкретных понятий и терминов реально раздражало. Очень напрягали вопросы по преобразованию в boolean из других типов в контексте Format, ResultSet, JDBC. Следует ожидать вопросов на буквально ювелирное владение generics: объектные ссылки, передача параметров в метод и возврат из метода. Не забыть поперчить все это raw type.
Думали ли вы когда-нибудь о synchronized в интерфейсе? А в методах enum?
Шутки в сторону %username%, здесь спрашивают за серьезное и если компиллятор недостаточно встроился в твою многострадальную голову за время подготовки, тебя ждут неприятности.
Как заполучить объект Console?
-System.console()
-System.getConsole()
или
Как получить Locale?
-Locale.getInstance()
-Locale.getInstance(«ru»)
-Locale.getLocaleInstance()
ну и проверку знаний вами содержимого enum, например, мегапопулярного OpenOption.
В какой-то момент меня взяло сомнение в годности тестов Entuware — думал, вряд ли будут настолько втупую проверять константы всяких там FileResult, WatchEvent.Kind и наименования методов, — и бросил их гонять. Хорошо что перестал уже после изрядного количества этих «тупых» вопросов — многое успело осесть и пригодилось(!).
Крайне желательно подтянуть аглицкий — огульное жонглирование иногда очень обтекаемыми фразами вокруг вполне конкретных понятий и терминов реально раздражало. Очень напрягали вопросы по преобразованию в boolean из других типов в контексте Format, ResultSet, JDBC. Следует ожидать вопросов на буквально ювелирное владение generics: объектные ссылки, передача параметров в метод и возврат из метода. Не забыть поперчить все это raw type.
Думали ли вы когда-нибудь о synchronized в интерфейсе? А в методах enum?
Шутки в сторону %username%, здесь спрашивают за серьезное и если компиллятор недостаточно встроился в твою многострадальную голову за время подготовки, тебя ждут неприятности.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Подготовка к экзамену Oracle Java SE 7 Programmer II (1Z0-804)